[LAD] LV2 Pitch bend control port (and function)

Phil CM philcm at gnu.org
Thu Oct 2 12:14:23 UTC 2014


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 
<http://www.nongnu.org/ll-plugins/lv2pftci/#A_synth> and was really 
astonished by the concise and powerful code it presented.
The results are here 
<https://bitbucket.org/xaccrocheur/ksi/src/0ffef787ca04?at=master>, 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 <http://lv2plug.in/ns/lv2core/>, 
but I fail to see how I can use this object 
<http://lv2plug.in/ns/lv2core/#PitchPlugin> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxaudio.org/pipermail/linux-audio-dev/attachments/20141002/4e408536/attachment.html>


More information about the Linux-audio-dev mailing list