From the original SynthMaker forum (2004–2014), with its members’ names and dates.
RobR ·
Plenty more to come!
If I want to make an osc make a noise I can do it with a midi in -> midi to poly -> osc -> poly to mono -> out. That works fine. However, I wanted to use a knob or a slider to control the frequency of the osc instead of midi in, so I tried knob -> osc etc, which didn't work. Obviously I need a conversion from the float out of the knob to the poly input of the osc (freq).
Question is, what is the freq in of the osc expecting? What do I need to convert the float out of the knob into? Most importantly, how would I know that?
Thanks in advance,
Rob.
malc ·
Hi Rob
There are two possible ways to do what you're asking depending on whether you want the oscillator to be permanently on or whether you want it to be controlled by the note management system.
Example 1 - Free Running
For a free running oscillator you need to connect directly into the Mono section as shown below. This is because the mono section is constantly runnning so long as it's connected to a sound out.
Example 2 - Note Managed
To make the osc play the same frequency regardless of which note you play you need to ignore the frequency coming from the MIDI to Poly as shown below.
For more information, see the docs section. In particular the section on Sound. Please let me know if any of this is unclear or confusing.
In most cases the poly connectors take data in the range -1 to 1. Frequency is expected in the range 0 to 1 representing frequencies from zero Hz up to half sampling rate.
Regarding the conversions, in SynthMaker certain data types can be converted automatically to other types. For more on this see here:
[old link]
RobR ·
OK, thanks malc. The only bit that still confuses me is why do I need a poly to mono when I'm triggering the note, but I don't when the osc is free-running?
edit>>
The Poly to Mono component compiles the Poly section into machine code. It also merges the independent audio streams into a single audio stream.
So what performs this function if I don't use a poly to mono conversion as above?
end edit>>
Also, if I add a graph to the output of the oscillator using a poly to graph component I get a display of the waveform, but it's not dynamic. To get it to update I need to click a connector.
Sorry for the dumb questions - I need to get some things clear in my head before I move on. I want to play with building osc's from code, but I need to be able to display them first
malc ·
Hey Rob, these aren't dumb questions. If it's not clear what's going on then it's our fault not yours.
[If you connect a poly section (a chain of poly components) to a sound out (DS Out or ASIO Out) then it gets compiled into the mono section. The mono section runs continously - it doesn't need any note ons to trigger it.
The Poly to Graph only takes the first 2048 samples of a signal so as you say you only get a static picture. This component should be replaced by something like the Mono to Graph which gives you more control over how the graph data is gathered.
You can use the Mono to Graph after the Poly to Mono and this will give you a dynamic graph if you attach the trigger input to a Ticker 25 (triggers the graph to recalculate 25 times per second, you don't want to do this at sampling rate!).
RobR ·
Thank you 😀
Wrote something here? To have a post removed or your name hidden, write to [email protected].