Frequency values (as opposed to MIDI values) as input to control synth pitches
Does anyone know if there exists a max for live synthesiser that can receive as input numeric frequency values directly as opposed to midi values – thus allowing accurate microtonal input.
I am experimenting with designing my own scales and pitch proportions, but would like to avoid spending time at this moment on building a decent sounding synthesiser. Instead I’d like to make use of an existing synth that already sounds great.
If not in Max4live, perhaps the same thing in Max/MSP 6?
well u can hack note values with ftom object , for requency mtof . u need to be sure where and how note or frequency values are used to drive oscillators etc .
sometimes there are already some sort of translation [note to frequency] or [note to ratio] provided for oscillators , u just need to spot it , remove it or hack it .
What do you mean exactly with ‘hack note values’ with ftom or mtof? i have a set of frequencies for example, but i definitely do not want to round them off to the closest midi note. that’s the whole point – they fall inbetween semitones. i’ve looked into using pitch-bend messages which is the way more traditional composers would use it – but i find this process tedious and not accurate enough.
as for the translation [note to frequency] or [note to ratio] – again this means an extra layer of calculations and i’m afraid math is not my strongest point – i really prefer to focus creating (and completing) the piece of music and not building or hacking a synth – thus the question whether there exist any synths that accept direct frequency input as opposed to midi values
Ive used word "hack" with consideration that u want to use existing devices . U can hack any device in order to change things . But if u want to use midi note input for different purpose than for midi note then i dont see any solution for this particular case . Midi note input its just a midi note input . U can use CC message
to translate it into readable format , but its resolution wont be desired for such case i dare to believe .
If by any chance i missunderstood your case , please describe your scenario in more details . Starting from what do u mean with input .
If u want to use keyboard anyway , u can just scale or even map midi notes into required frequency , on top of it u are free to change its scale of values dynamicaly . Dont affraid of math , in max weve got tons of helpul objects that do the job for us . There are always bunch of layers introduced after midi input when u look at synth design , dont affraid that too
Thanks for the suggestions. I think you understand correctly – what I meant with input is for example a list of frequencies like the following:
97.99885 195.99773 294.00424 391.99542 489.90555 588.0084 685.6648 783.99085 882.0356 979.811 1078.4122 1176.0169 1273.5969 1371.3296 1469.7546 1567.9818 1665.0614 1764.0712 1862.5023 1959.622 2057.0479 2156.8245 2253.6165 2352.0337
It’s quite a complex piece, exploring division of scales and overtone series in various proportions, meaning that in the end there will be a huge number of very specific frequencies used. (This part I’ve already figured out thanks to the help of a friend). This means that I would have to ‘remap’ the midi note to frequency every few bars for quite a long piece (round 48 re-mappings). That’s why it would be better if I don’t need to remap anything and really work directly with the frequency values.
I don’t need to be able to ‘play’ in realtime any of these notes, I could easily create a patch that triggers one series of freq numbers after the other as the piece progresses. Stepping through ‘collect’ or ‘table’ objects.
I started to listen to the tones with a simple cycle object in MSP but as I say, I’d prefer to work with a nice sounding synth that someone else already made! Do you have any suggestions for cool sounding synths that can take freq input?
Even if a synthesizer doesn’t provide the capability to program microtonal scales into it, you can nevertheless make it play microtonal scales by bending the pitch of each note by the appropriate amount. The catch is that pitchbend applies to all notes on a given MIDI channel, so you have to play each note on a separate MIDI channel so that you can ‘bend’ the pitch of each one independently. But you can play up to 16 notes at a time that way. Something along these lines (I haven’t tested it, but it should work):
----------begin_max5_patcher---------- 1197.3oc2ZsriaaCEcs8WAgVV3XHR8zcW.JZ+AZ6lhf.ZY5wLUhxUhZFOMHe T8WneYkOjr8LwhhJQlIpKFOfTzh26gm6S5Otbg21xSjZOvOB9CvhEeb4hEpo jSrnc7BuB7orbbsZYdYkEEDF2ak9YbxItZ9eql.3GHf8U3LNsjgyAGwUb.uD jgyyZxwb8BNR4YG1RX6V28NxoLRVYCS8hPsStu5gsxw9q8am4HV7EorGdeEI iqE4ffMhGCPvj0Qq.vH4hESt1G7t1uDcmR5J29g2DF0sg6KYbFtfndzaqn37 tmvZJnrbBWoqvKSV1v6l0+pWRM8uUuDHZsub1Osbo7iUekX4O0TgkXn2XvBT RhT6iCkeFEqvE+dPhf4BR76j7xLJ+4wgDHjjNzhDHiHAbtfD+bE4uZHrrwAE vvvKjh3DSPQvl4BT7KkiCC7SuPGPlwfju2v.F4Igf8YPvdOC5KTQ4a+WDznB OVehnapvcvfdJ9yGIZQwaedIVHVua5.jsMb9EOi8q9o9c5sAsGMhC0d0wsX1 CBU7KPWDniXO7L4SO3htzRf6SW7G9jTDPVLOmT8dBCuMmbMW0BD.Y9Td0YnX Bo+MEaIUlPHTzEDJznwMJ8qCgDBFsPbbozljtIorySNAHIkcmvwa6FgZBYSS 0YSoRkHHxHzFdeciHgEG.GrRNQr2lbtjnQiTksXZfQPYr4VD7MJXBGrEXjIf zdd1XCSveRhfhL5rckyXD0OgONLc.kfZyuJpejANMgZGx0gi.lB7eRjlKhrq 7k+4aAJooQPnwZSfgShUyvwpl9TS5ApNVl+L.FCfV.Qgo1.QASBSJvBljCIT zcTy9d6BHo88FtwHDglIIxeR1ID6z6XcVfFc+Bgyq.w8Uh2udfVCDKpofTC3 GvbUqiDXBg9n.c.6HORyH.whpIpdLgARfDTIBOP.k6A+6+fDOpfJpUfTuB7z AZ1A4xkuFVYUwsa9TvnZ9DTGVLVwDgaNmB5MOX7mIDx2HTZCjw.+vq7kaNWf z4Vsk8leDErGXQtxvMVTx8zzhggbdeNLmibe+CfTo1aAyQGhS+YeXT7bi4Lb k7sLj3zgKkO5+kUx2Sir3kEl83zgb5NYZtD+oou18xabKkoUi0s1H0XirPyI FiZMp3tu5hmTXfb9WhZ0kMUYcaWWIB.34sZGolSY5KL4pEE7hEcftaGgcsRu iVKwAEHd6yOakGYSTA9CHOAuXMet3Hx+8XovYcKl.QP0UZEnqobSx4QW1mIS AP1H+QtCOsVd7ci73ag7nHkHmHOxFYZm73lyKkoFZ.4Q1MLixyqL.PopKwqs 8is2vqZz8v.vlSXYSNGiILJHPIyHcpNZSX0n6kFLnOwwdFHJxVIy56UOL37n uUZfhE4HqrParxfNyKTrsTTGYzaSPOj6fGXjMzGemIOI15idLdTz9P594tjF cdzcvd7UIP0iFD41nL91HONhvYk+g.2IOPajGjyjGaRRI1oliCkhRpy3xIVX Zk5LrwFO4ItKaaKjluTqbcom3iGejTU29JUBhnz7OTVIGFuZo9Z80CUUC6UQ dj1sd0M+6gqDkqyE0p2ToK19TZr2R497ok+2lrpmY -----------end_max5_patcher-----------
1. take existing synyth
2. remove mtof(~) object(s)
Don’t forget: most objects taking MIDI note numbers will accept floats. If you want microtonal, there’s nothing stopping you from sending 65.5 or something. (The example would be F-quarter-tone-sharp above middle C.)
Or go Hawaiian with things like 31.4159265. (Converting to freq left as exercise for the thus-inclined reader.)
31.4159265 = 5 times pipi!
for closed devices, given that they actually use the default [mtof] object, you can also temporarily replace the mtof object of the max4live runtime with a custom patch called mtof, which contains any table or formula you wish.
@Roman – do u mean I need to edit the max4live pack – what kinda programming skills do i need or is it like opening another max patch?
what i like about this approach is it potentially implies one edit to use with many synths as opposed to editing each one infividually
- This reply was modified 8 months by clairerobot.