Dear list,
I need a synth with a pitch control. A synth that can be controlled
to produce all tones between one note and another, say from a2 to c3
in an anti-aliased way, like what you would get in pd by altering
the pitch of a sine wave. Touwiiiii.
I followed the
great "complete idiot" tutorial and was really astonished by
the concise and powerful code it presented.
The results are here,
I just removed the delay.
This is my first steps in C++, or in audio programming altogether
(but I've been coding in PHP, Lisp and sh for years, and wrote two
music players in JS and HTML, oh and a wrote an ultrabasic
sample-based drum machine java applet ages ago) so I'm reading a lot
about it currently. Please bear with me if I say something really
dumb.
In order to understand how I can achieve what I want, I'd like to
implement a pitch bend function. You know, the classic, two tone
down and up of the physical MIDI keyboards, that all LV2 synth
plugins I tried have.
For that I guess I need 1-a control port (but no widget, since I
would only be controlling it physically) and 2-a function that acts
upon the pitch (most probably in the Beep class).
I'd also like to change the waveform type from square to sine (and
ideally experiment with other waveforms).
Can somebody please point me towards the info that would allow me to
understand how to do this?
I downloaded and built the complete LV2 specifications, and am
currently reading the docbook, and the API doc, but I fail to
see how I can use this object
to alter the pitch, or for example, change the waveform type (that
may well be outside the scope of the LV2 framework, of for that
matter the LV2::Synth template) or even create other lv2:ControlPort
than sliders.
Thank you for your patience.
--
Phil CM