[PD] Raspberry Pi: Loading Samples RAM problem

cyrille henry ch at chnry.net
Mon Nov 11 20:05:47 CET 2019

Le 11/11/2019 à 19:53, Jakob Laue a écrit :
> Okay,
> now I found some time to look at Giulios patch and I think I understood it :P (So many $'s in there :P)
> So, what actually happens in that patch is that on [loadbang] we read 32768 samples into an array using soundfiler.
> Then when the file should be played, we do play the first 32768 samples using [tabplay~] and simultaneously load the rest of the file using [readsf~]. Then, when [tabplay~] is done playing the first bit of the sample, we send a [1( to [readsf~] to start playing the rest of the file.
> I don't have any audio pops playing eight samples simultaneously, even using the cheap hdmi-to-cinch-converter as my audio interface (which caused more pops in comparison to the Scarlett USB interface while trying olivers patch). Also, I don't have to adjust Pd's audio settings. I can use the standard settings (44100, 64 blocksize, 25 msec) and I don't get audio pops, which is good.
> But there is one thing that I realised: The wav-files are not played at original speed. They are all recorded in 122 bpm. When I play them with Giulois patch, the samples are played quite slowly, at around 111 bpm.

look like the sample are recorded at 48KHz and play at 44100.

> In a later version of my sample player, I want to be able to change the bpm/tempo in which the samples are played, so I will need to have some mechanism for changing this. Using e.g. [phasor~] to play samples, this should work, but I don't know if it will be possible to do this using Giulios approach. In the help file of [tabplay~], it says that samples are played with no transposition, so maybe a transposition will not be possible to implement?! On the other hand, it says that [tabplay~] does not have the interpolation-artefacts that [tabread4~] has, which I would have, if I used a [phasor~] approach.

if you want to change the tempo, you need to somehow interpolate the samples...


> All the best, Jakob
> *Gesendet:* Dienstag, 05. November 2019 um 15:40 Uhr
> *Von:* "oliver" <oliver at klingt.org>
> *An:* Kein Empfänger
> *Cc:* Pd-List <pd-list at lists.iem.at>
> *Betreff:* Re: [PD] Raspberry Pi: Loading Samples RAM problem
> Jakob Laue wrote:
>  > Okay,
>  > finally I found some time to try some stuff out. First, I gave Olivers
>  > examples a try.
>  > I made a patch with eight [ol_sfplay~] objects to simulate my sample
>  > player and tested this patch on my old Raspi 2
>  > and also a Raspi 3. I also tested two different audio interfaces: a
>  > Scarlett 2i4 USB audio interface and a HDMI-to-CINCH-Converter running
>  > on the 2835 ALSA driver.
>  > The best result was achieved by the Raspberry Pi 3 with the Scarlett
>  > audio interface. I used
>  > - block length of 64 from Pd's preferences
>  > - buffersize of 512 and 1024 for [ol_sfplay~]
>  > I have no pops and Pd does not freeze.
>  > When I use the same configurations with the hdmi-to-cinch-converter and
>  > alsa, I get audio pops.
> please also consider using even 2048 as buffersize for [ol_sfplay~]. AND
> you might want to increase PD's audio delay with the "-audiobuf" startup
> flag.
> try "-audiobuf 120" or higher and work your way down from there.
> i remember using this method on a PI2 with an 8 track wav-file and
> really had to increase those values to get a smooth playback.
> it worked alright in the end but then i had no video-traffic ...
> in general, use a PI3 if possible
> best
> oliver
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list

More information about the Pd-list mailing list