Hi everyone,
Attached is a simple nine-oscillator additive synth experiment in PD. It has two interesting features:
(2/1,3/2,4/3,5/4, etc.) However, the tuning can be changed, with interesting results. 2. A line~ object is used to control the amplitude of individual oscillators, and the length of the ramp time can be set. This allows one to create constantly mutating timbres.
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.). I know this can be done with fft's, but I don't know how to get a simple list of values between 0-1 that I can just plug into my additive synth. I'm sure you can do that simply in PD, I just don't understand how.
What I really wish, is that I knew how to use SPEAR to do this kind of thing.
~David
On Sun, 13 Aug 2006, David Powers wrote:
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.). I know this can be done with fft's, but I don't know how to get a simple list of values between 0-1 that I can just plug into my additive synth.
You need to make your FFT use the same fundamental as the note you play. It might be easier to instead play the same fundamental as your FFT's instead. Note that instruments have various timbres depending on the pitch, so you really want something recorded at the same octave as what you're going to play (which is pretty much the difference between wavetables of the 1980's and those of the 1990's).
For example, if you pick a blocksize of 64 and a sample rate of 44100 Hz, the fundamental is 44100/64 Hz = 689.0625 Hz = MIDI 76.766. For any power-of-two blocksize the result will be some Fa note minus one-eighth tone.
For a sample rate of 48000 Hz, the fundamental is 48000/64 Hz = 750 Hz = MIDI 78.232. For any power-of-two blocksize the result will be some Fa# note plus one-eighth tone.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
Is anyone able to provide a simple example of HOW I do this in PD? I don't really understand the maths, and Miller Puckette's chapter in his techniques book is way over my head. I've already tried looking at the example patches in PD, they don't really help. Is there a way to produce some kind of list of the harmonics in a signal and their relative strength in PD? Would this require a lot of programming?
In a program like Plogue Bidule or Reaktor, I can perform fft analysis/resynthesis without really understanding what's going on. I'm sure PD is more powerful, but some help on this would be great, since I'm just an auto-didact with all this stuff. Ten years ago, I was taught how to program a giant Moog, splice tape from reel-to-reels, and do basic sampling and sequencing on digital gear at the university; it was great, but it's not all that helpful in this digital world I've entered!
~David
On 8/14/06, Mathieu Bouchard matju@artengine.ca wrote:
On Sun, 13 Aug 2006, David Powers wrote:
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.). I know this can be done with fft's, but I don't know how to get a simple list of values between 0-1 that I can just plug into my additive synth.
You need to make your FFT use the same fundamental as the note you play. It might be easier to instead play the same fundamental as your FFT's instead. Note that instruments have various timbres depending on the pitch, so you really want something recorded at the same octave as what you're going to play (which is pretty much the difference between wavetables of the 1980's and those of the 1990's).
For example, if you pick a blocksize of 64 and a sample rate of 44100 Hz, the fundamental is 44100/64 Hz = 689.0625 Hz = MIDI 76.766. For any power-of-two blocksize the result will be some Fa note minus one-eighth tone.
For a sample rate of 48000 Hz, the fundamental is 48000/64 Hz = 750 Hz = MIDI 78.232. For any power-of-two blocksize the result will be some Fa# note plus one-eighth tone.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
David Powers wrote:
Is there a way to produce some kind of list of the harmonics in a signal and their relative strength in PD?
I guess the simplest way--without understanding diddly about how you got there--would be to use [fiddle]. Check the help file for options, including how many peak frequencies you'd like to track. Doesn't do noise values, however, as I recall your original post requested.
best, d.
On Mon, 14 Aug 2006, David Powers wrote:
Is anyone able to provide a simple example of HOW I do this in PD?
something like:
| [fft~] | | [expr~ sqrt($v1*$v1+$v2*$v2)] | [tabsend~ foo]
fft~ provides cosine and sine components separately. the expr~ extracts the amplitude (and thus removes the phase). this has to do with "Pythagoras' theorem", as you can see.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Sun, 13 Aug 2006 20:07:32 -0500 "David Powers" cyborgk@gmail.com wrote:
Hi everyone,
Attached is a simple nine-oscillator additive synth experiment in PD. It has two interesting features:
- The tuning is initially that of the ordinary harmonic series
(2/1,3/2,4/3,5/4, etc.) However, the tuning can be changed, with interesting results. 2. A line~ object is used to control the amplitude of individual oscillators, and the length of the ramp time can be set. This allows one to create constantly mutating timbres.
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.).
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
I know this can be done with fft's, but I don't know how to get a simple list of values between 0-1 that I can just plug into my additive synth. I'm sure you can do that simply in PD, I just don't understand how.
Pull apart the partial tracer example in the help files. It uses a phase vocoder to do an analysis. The trick afaics is always that you get a lot of analysis data into an array but thinning it out into data for a bunch of breakpoint envelopes or line gens is the tough bit.
What I really wish, is that I knew how to use SPEAR to do this kind of thing.
Whats a SPEAR?
~David
I agree. If there's a version of Risset's Catalogue of Computer Synthesized Sounds, I'd love to see it. (Especially if updated from its Music N form).
~Kyle
On 8/14/06, padawan12 padawan12@obiwannabe.co.uk wrote:
On Sun, 13 Aug 2006 20:07:32 -0500 "David Powers" cyborgk@gmail.com wrote:
Hi everyone,
Attached is a simple nine-oscillator additive synth experiment in PD. It has two interesting features:
- The tuning is initially that of the ordinary harmonic series
(2/1,3/2,4/3,5/4, etc.) However, the tuning can be changed, with interesting results. 2. A line~ object is used to control the amplitude of individual oscillators, and the length of the ramp time can be set. This allows one to create constantly mutating timbres.
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.).
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
I know this can be done with fft's, but I don't know how to get a simple list of values between 0-1 that I can just plug into my additive synth. I'm sure you can do that simply in PD, I just don't understand how.
Pull apart the partial tracer example in the help files. It uses a phase vocoder to do an analysis. The trick afaics is always that you get a lot of analysis data into an array but thinning it out into data for a bunch of breakpoint envelopes or line gens is the tough bit.
What I really wish, is that I knew how to use SPEAR to do this kind of thing.
Whats a SPEAR?
~David
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, padawan12 hat gesagt: // padawan12 wrote:
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
WERGO's "Computer Music Currents 13": http://www.schott-music.com/shop/Audio_CDs/1000083/1660296/show,93269.html
It contains a booklet that has a full reprint of Risset's catalogue, and a CD with all sound examples the original recording
Frank Barknecht _ ______footils.org_ __goto10.org__
Frank, you are the man!
~Kyle
On 8/14/06, Frank Barknecht fbar@footils.org wrote:
Hallo, padawan12 hat gesagt: // padawan12 wrote:
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
WERGO's "Computer Music Currents 13": http://www.schott-music.com/shop/Audio_CDs/1000083/1660296/show,93269.html
It contains a booklet that has a full reprint of Risset's catalogue, and a CD with all sound examples the original recording
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hallo, Kyle Klipowicz hat gesagt: // Kyle Klipowicz wrote:
Frank, you are the man! ~Kyle
I really like this CD edition and consider it a "must-buy", because it also contains the classics of very early computer music from the late 50s and early 60s. Besides Risset's "Introductory Catalogue" there also are interesting other seminal articles from the early 60s included as well.
However listening to Risset's sound examples is hard work and only funny in the beginning. I like the two pieces by Ercolino Ferretti the most. I had never heard of this composer before and actually I didn't find anything about what he did afterwards. Maybe someone here knows a bit about Ferretti?
Frank
On 8/14/06, Frank Barknecht fbar@footils.org wrote:
Hallo, padawan12 hat gesagt: // padawan12 wrote:
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
WERGO's "Computer Music Currents 13": http://www.schott-music.com/shop/Audio_CDs/1000083/1660296/show,93269.html
It contains a booklet that has a full reprint of Risset's catalogue, and a CD with all sound examples the original recording
Ciao
Frank Barknecht _ ______footils.org_ __goto10.org__
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
--
http://theradioproject.com http://perhapsidid.blogspot.com
(((())))(()()((((((((()())))()(((((((())()()())()))) (())))))(()))))))))))))(((((((((((()()))))))))((()))) ))(((((((((((())))())))))))))))))))__________ _____())))))(((((((((((((()))))))))))_______ ((((((())))))))))))((((((((000)))oOOOOOO
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On Mon, 14 Aug 2006 17:02:15 +0100 padawan12 padawan12@obiwannabe.co.uk wrote:
On Sun, 13 Aug 2006 20:07:32 -0500 "David Powers" cyborgk@gmail.com wrote:
Hi everyone,
Attached is a simple nine-oscillator additive synth experiment in PD. It has two interesting features:
- The tuning is initially that of the ordinary harmonic series
(2/1,3/2,4/3,5/4, etc.) However, the tuning can be changed, with interesting results. 2. A line~ object is used to control the amplitude of individual oscillators, and the length of the ramp time can be set. This allows one to create constantly mutating timbres.
Now, what I'd be curious to know is how I can get amplitude values in order to do cheap simulations of various instruments (flute, cello, etc.).
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
You might also want to look at the SHARC timbre database, IIRC it contains analyses of over 1000 instrumental timbres. You should be able to find it through Google. If not, I could probably dig out a copy and send it to you off-list.
best,
Jamie
Hi,
Great, I found it, and I'll play around with it to see what I come up with.
If I have time, I might see if I can use PD to parse some of the data automatically. However, there's far more data than would be practical to use, so, I probably need to write some kind of Python script first to create a simpler file format where only the first 32 harmonics are included, and each file states which note it is for and any other needed information (which is currently found only in the CONTENTS for each folder).
Also I need to convert the volumes in dB to something between 0 and 1.
~David
On 8/14/06, Jamie Bullock jamie@postlude.co.uk wrote:
On Mon, 14 Aug 2006 17:02:15 +0100 padawan12 padawan12@obiwannabe.co.uk wrote:
On Sun, 13 Aug 2006 20:07:32 -0500 "David Powers" cyborgk@gmail.com wrote:
Hi everyone,
Attached is a simple nine-oscillator additive synth experiment in PD.
It has
two interesting features:
- The tuning is initially that of the ordinary harmonic series
(2/1,3/2,4/3,5/4, etc.) However, the tuning can be changed, with
interesting
results. 2. A line~ object is used to control the amplitude of individual oscillators, and the length of the ramp time can be set. This allows
one to
create constantly mutating timbres.
Now, what I'd be curious to know is how I can get amplitude values in
order
to do cheap simulations of various instruments (flute, cello, etc.).
Back in days of yore JC Risset compiled a "Catalogue of timbres" I don't know where you can get it now or if it's machine readable in a way that puredata could enjoy.
You might also want to look at the SHARC timbre database, IIRC it contains analyses of over 1000 instrumental timbres. You should be able to find it through Google. If not, I could probably dig out a copy and send it to you off-list.
best,
Jamie
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
David Powers wrote:
Also I need to convert the volumes in dB to something between 0 and 1.
I believe [dbtorms] and [rmstodb] are the pair of objects for this type of conversion.
best, d.
is it possible that an abstraction created dinamically can destroy itself after some time? any hint?
yuk.
hi yukio
the attached patch shows how to add and remove abstractions. you could put a [del] or [pipe] after you created an abstraction to remove it after a certain time.
good luck
eni
On Aug 14, 2006, at 12:50 PM, yukio kuroiwa wrote:
is it possible that an abstraction created dinamically can destroy itself after some time? any hint?
yuk.
-- yukio kuroiwa yukio_kuroiwa@fastmail.fm
yes have a look at dynamic patching with dyn~! pat
padawan12 wrote:
What I really wish, is that I knew how to use SPEAR to do this kind of thing.
Whats a SPEAR?
http://www.klingbeil.com/spear/
d.