Is there an external or abstraction that can take a symbol from a message such as "Ab4" and output a frequency message, such as "207.65234879"? It would be something like mtof, but for text rather than midi note numbers.
Are there any externals dealing with turning text representations of chords such as "Cma7" (or some other format) and sending the appropriate frequencies to a collection of oscillators?
If not, could someone point me in the right direction to write an abstraction or external to do this?
I'm fairly new to Pd and confused by the documentation.
Thanks, Sam
There are some music analysis objects in Maxlib. Open the maxlib-help.pd file that comes with it for an overview of the music analysis objects. Maybe best if you install PD Extended if you're new to this.
I think most of the Maxlib objects go the other way around from what you describe... they analyze MIDI data and give chord names, etc. But have a look anyways.
d.
Sam Clayton wrote:
Is there an external or abstraction that can take a symbol from a message such as "Ab4" and output a frequency message, such as "207.65234879"? It would be something like mtof, but for text rather than midi note numbers.
Are there any externals dealing with turning text representations of chords such as "Cma7" (or some other format) and sending the appropriate frequencies to a collection of oscillators?
If not, could someone point me in the right direction to write an abstraction or external to do this?
I'm fairly new to Pd and confused by the documentation.
Thanks, Sam
On 26/09/2007, at 20.19, Sam Clayton wrote:
Is there an external or abstraction that can take a symbol from a message such as "Ab4" and output a frequency message, such as "207.65234879"?
n2m from mjlib does almost. Connect it in serial with mtof and your
there -- except that that:
[Ab4( | [n2m] | [mtof] | 329.628
mjlib is in Pd-extended or you can find it in the CVS repo.
Hallo, Sam Clayton hat gesagt: // Sam Clayton wrote:
Is there an external or abstraction that can take a symbol from a message such as "Ab4" and output a frequency message, such as "207.65234879"? It would be something like mtof, but for text rather than midi note numbers.
Are there any externals dealing with turning text representations of chords such as "Cma7" (or some other format) and sending the appropriate frequencies to a collection of oscillators?
If not, could someone point me in the right direction to write an abstraction or external to do this?
I think, the pdmtl collection has some objects for this. But it's not hard to make your own and maybe it's a good excercise. One basic idea could be to use [select] or [route] to route symbols accordingly. For example
[select C C# D ...] | | | [60( [61( [62( ...
It's a bit tedious to patch this for all notes, but make an abstraction out of it and you only need to do it once and then can reuse that abstraction your whole Pd life.
Hint: Don't make a [select] with 128 arguments, instead use several [select]s and connect the last and first inlets like:
[select a b c d ... i j ]/[select k l m ... o] ...
Frank Barknecht _ ______footils.org_ __goto10.org__
And with this method you can even do something like:
[select C4 C#4 D4 ...] | | | [60( [61( [62( ...
and then copy it and paste it several times and change the arguments and messages. (Saves a TON of mouse clicks!)
Note, I'm note sure if midi 60 is really C4 off the top of my head!
~Kyle
On 9/26/07, Frank Barknecht fbar@footils.org wrote:
I think, the pdmtl collection has some objects for this. But it's not hard to make your own and maybe it's a good excercise. One basic idea could be to use [select] or [route] to route symbols accordingly. For example
[select C C# D ...] | | | [60( [61( [62( ...
It's a bit tedious to patch this for all notes, but make an abstraction out of it and you only need to do it once and then can reuse that abstraction your whole Pd life.
Hint: Don't make a [select] with 128 arguments, instead use several [select]s and connect the last and first inlets like:
[select a b c d ... i j ]/[select k l m ... o] ...
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:
And with this method you can even do something like:
[select C4 C#4 D4 ...] | | | [60( [61( [62( ...
and then copy it and paste it several times and change the arguments and messages. (Saves a TON of mouse clicks!)
Yep, good approach, realized in attached patch a bit (requires pd-0.40)
Frank Barknecht _ ______footils.org_ __goto10.org__