Thanks again to everyone that replied. I looked at the examples, but to be honest I didn't really understand them completely, and I got a few error messages when I tried to run them. I have pd-extended installed, but maybe I'm missing some externals used by the examples. Anyway, I decided to go with plan B, and use another software package to generate sound files and then load them into PD. I'm using Octave, an open-source math program that is mostly compatible with Matlib. It has some built-in functions to read and write audio files (mono only), but I can generate audio files in just a few lines of code, like this:
x = linspace(0,2*pi,1024); y = sin(cos(sin(x) * pi) * pi); plot(x,y); title('y = sin(cos(sin x) * pi) * pi)'); wavwrite(y,44100,16,'C:\Data\Octave\sincossin.wav');
The first two lines generate the data (1024 samples in length), the next two lines draw a graph in a separate window, and the last line writes the data to a file. I really recommend it if you want to generate audio samples using math functions.
Then I load the file into PD with the attached patch. Since I know my files are 1024 samples long, I can just allocate an array of the correct size and not have to worry about complications.
I attached my patch and a sample file (generated using the code above) if you're interested.
David.
You can implement the same thing with Pd only. I've attached a patch that creates the same waveform as the one you're loading, plus adds the three guard points for the cubic interpolation.
On Thu, Apr 10, 2014 at 3:48 AM, David dfkettle@gmail.com wrote:
Thanks again to everyone that replied. I looked at the examples, but to be honest I didn't really understand them completely, and I got a few error messages when I tried to run them. I have pd-extended installed, but maybe I'm missing some externals used by the examples. Anyway, I decided to go with plan B, and use another software package to generate sound files and then load them into PD. I'm using Octave, an open-source math program that is mostly compatible with Matlib. It has some built-in functions to read and write audio files (mono only), but I can generate audio files in just a few lines of code, like this:
x = linspace(0,2*pi,1024); y = sin(cos(sin(x) * pi) * pi); plot(x,y); title('y = sin(cos(sin x) * pi) * pi)'); wavwrite(y,44100,16,'C:\Data\Octave\sincossin.wav');
The first two lines generate the data (1024 samples in length), the next two lines draw a graph in a separate window, and the last line writes the data to a file. I really recommend it if you want to generate audio samples using math functions.
Then I load the file into PD with the attached patch. Since I know my files are 1024 samples long, I can just allocate an array of the correct size and not have to worry about complications.
I attached my patch and a sample file (generated using the code above) if you're interested.
David.