Need a nice synth with FREQUENCY (hz) input, not midi
Hi all, and thanks for reading.
I've been doing some programming for a microtonal composer, and have finished what I thought would be the "hard part" of the project, which was to create a nice patch that would work with the composer's custom keyboard, easily switching between different divisions of the octave (12,19,24,31,53,55,etc), and sending out the appropriate frequency to be fed into some sound-making component.
I thought that getting a nice bunch of sounds would be easy, but I was wrong.
I need help finding a nice synth patch or external (or even a vst plugin, I suppose) that can accept frequency input - not just midi note numbers.
I've used Percolate (thanks guys!), which has this feature, but I need more sounds too.
Does anyone know of a good synth with frequency input?
Does anyone know of a patch that might automate bend values for midi notes when given a float frequency? This could also work.
I've been looking for a while. Forgive me if I'm missing some obvious solution here.
Your assistance is greatly appreciated!!!
Paul Riker
**********
paulriker.com
nycemf.org
intermediaartsgroup.com
Yeah, Percolate is cool. Anyway, if you know the frequencies you should be able to calculate the bend values. I believe it's 14-bit total, so 8,194 distinct steps per semitone (which should be enough). Just use the nearest 12TET midi note and bend up from there, some fraction of 8194. It'll be on a log scale, so you'll have to do some calculations there as well.
The big disadvantage is that you could only have one note per channel, so no chords or double-stops or anything. What is this for, exactly? A mock-up for human performers or a final product? I mean, you can do a ton of stuff using multiple Percolate objects and controlling them with other filters to shape the timbres exactly how you want them.
Sorry if this wasn't quite enough help, but it's been one of my personal projects as well. I think, in the long run, you'll be happier if you try to create a system of synths yourself than if you're continually trying to work with commercial products.
well as for commercial products, he will not find any which
take frequency input.
about midi note finetuning, it could be that some of the NI
synths do actually take that, but i am not sure.
when i remembe right (i can be wrong as well), the [vst~] object
would support midi microtuning (aka midievent 144 60 44 127 where
44 is the finetuning.
but even in hardware world it is a very rare case, i think it is
a yamaha thing. there are more synths allowing "tuning tables"
than synths supporting notes with the extra finetuning byte.
the first thing you should make yourself in maxmsp is a simple
sampler, because 1. funny scales work best with acoustic instrument
samples (at least compared to the usual sawwave-lowpass-synth shit),
and because 2. a sampler is the easiest instrument you can build
yourself in max.
using cycle~ and wave~ and phasor~ and the one or other percolate
object is step 2 i think.
beeing able to constrcut polyrythms and have them play a 29-tone
tone scale is basically why people choose maxmsp when they have to
choose between maxmsp and protools.
-110
Quote:
I've been looking for a while. Forgive me if I'm missing some obvious solution here.
maybe you want to click below?
Don't have too much intenseful meaningful to add, but...
The commercial program lil miss scale oven has a feature which retunes synths monophonically using pitch bend data. But I'm sure you could do it in max with the right patch.
You can load up multiple instances of vsts to achieve polyphony when using this pitch ben retuning method. (but using their interfaces becomes trickier).
I think the vst Circle by FAW allows input via OSC, though I'm not 100% whther this feature allows input to control pitch.
Failing this you could maybe use a commercial synth which allows retuning by loading in frequency charts (e.g. u-he Zebra) but I'm not sure whther you can automate this process easily. (eg by creating a frequency chart and loading 'in the background')
Roman Thilenius wrote on Thu, 10 September 2009 13:13
the first thing you should make yourself in maxmsp is a simple
sampler, because 1. funny scales work best with acoustic instrument
samples (at least compared to the usual sawwave-lowpass-synth shit),
This is not 100% true in my experience. Building tones using sine waves is very rewarding in this area (e.g. forms of additive and FM and 'other'), but this requires a high level of investment to make work.
Also comb filters sometimes can be good.
Subtractive is definitely useful in some settings, just as small number intervals can be sometimes.
It's actually relatively easy to modify a Max synth to accept floats for pitch (either midi pitch or frequency). Assuming that the synth uses the poly~ object with the midinote message for voice allocation (check the poly~ help file if this doesn't sound familiar), the key is to round the float to the nearest integer, and then include the fractional part as a third argument after the midinote message. In other words, to get the midi pitch 60.86, you would send the following message to poly~: "midinote 61 127 -0.14". Then, inside the poly~, you will just need to add the two values to restore the original float value.
For your project, you will probably have to do something different, since you are working with higher divisions of the octave. With the method above, you couldn't have two notes playing simultaneously that round to the same integer (such as 60.86 and 61.031) because poly~ will think they are the same note. So you will probably want to scale the pitches up before sending them to poly~, and then scale them back down inside poly~. For example, if you multiply the pitches by 1000, you would have 60860 and 61031, which are distinct midi pitches as far as poly~ is concerned (it doesn't care whether they are between 0 and 127).
slow riot: yes i can see what you mean.
Stephen Lee wrote on Sat, 12 September 2009 19:59
because poly~ will think they are the same note. So you will probably
want to scale the pitches up before sending them to poly~, and then
scale them back down inside poly~.
for alternate tunings one would have to give up the poly note
system and simply build a poly which accepts floats as notes.
the only thing what had to be changed is the voicing, you need
to make your own somehow. the rest can be the same as with ints:
"60.86" mtof, or "60.86" line~ mtof~, and then trigger the envelope...
Thanks!
Yeah, this need not be a commercial product. In fact, I would prefer a nice synth built by someone in Max so that I can have access to the guts. I started building my own additive synth, and decided to look for a complete product, maybe one that blends FM and subtractive, with some nice presets.
I have already built a working additive synth that accepts floats for frequency and is very responsive and polyphinic. I just think the guy I am programming for would like more 'traditional' sounds (like the GM compliment). I'm not really good enough with additive synthesis to develop the sonic versatility of a professional synth (independent envelopes for each overtone, etc.).
You guys are giving me some great ideas!
Slow riot, you may have it - I may just need to flesh out my own synth...that would be pretty rewarding anyway. I will continue to look for cool synths (and I've found a few through these forums), and if anyone has a favorite, or even had a suggestion for one to check out, I'd be appreciative!
I'll post the patch someday, when I have finished.
Thanks again!
Paul
Roman Thilenius wrote on Sat, 12 September 2009 18:23for alternate tunings one would have to give up the poly note
system and simply build a poly which accepts floats as notes.
No, you don't have to give it up. As long as the first argument is an integer, you can use whatever extra arguments you need to specify a fine tuning. So you can use poly~ with any tuning system. By scaling the pitches up, you can deal with different divisions of the octave without having quantization errors. I don't see any need to give up poly~'s voice allocation system.
yeah you are right, thats what somebody found out for himself in
that other poly~ thread.
so one could just use note "1" for all notes and put the tuning
info as second argument in the list.
i still prefer to not use the "note" stuff but it seems that
custom voice allocation and using "note" is not such a big
contradiction than many of us thought.
-110
The pitchbend method with Midi does work polyphonic, if you are fine with 16thtone equal temperament (6.25 cent precision) You simply use for each 6.25 cent a separate Midi channel.
Your synth needs to be able to be multitimbral or you need to setup multiple instances. If you only want to play a specific scale with a keyboard, you could be even more precise than 6.25 cent, replace the scale calculation for the bend values with a coll... (would need only 12 Midi channels...)
It works fine with the built-in GM synth in my Macbook...