Portamento- Teensy (3.1) Audio Sheild

Status
Not open for further replies.
1st of all- thank you so much Paul! For your effort and for your will to take such a device one step further for musicians with will!

And now, I have a little question for you, I'm working on a project of mine right now, it consist of two parts, one is a midi guitar and the second is a guitar synthesizer.

Bother aren't such a big deal for me, no pitch analyzation and those kind complex DSP.

I took as an example the guitorgan-

"A Guitorgan is an electric guitar with electronic organ components added. Each guitar fret is separated into six segments, creating independent contact switches for each string. The organ notes are keyed when a string touches a specific segment"

So instead of a giant organ sound engine I'll use the teensy to handle all the midi and synthesis.

So I got to the oscillators part (3 osc per string), and I'm not quite sure how to achive it. Any help please? :)

Thanks- Alon Cohen.
 
Thanks for the background, but its not clear exactly what your question is. You want to make 3 (sine?) oscilators per string, so 18 in total. Yes, you can do that. Have a look at the auudio library documentation, which also includes a graphical code generation tool.

http://www.pjrc.com/teensy/gui/
 
Thanks for the background, but its not clear exactly what your question is. You want to make 3 (sine?) oscilators per string, so 18 in total. Yes, you can do that. Have a look at the auudio library documentation, which also includes a graphical code generation tool.

http://www.pjrc.com/teensy/gui/

The 18 oscillator is just for the background information, the question is- how can I achive portamento(glide) within my synthesizer? I've already built my diagram in the GUI haha
 
Portamento might be possible using the frequency modulated oscillator.

http://www.pjrc.com/teensy/gui/?info=AudioSynthWaveformSineModulated

For the input signal, perhaps use the DC object.

http://www.pjrc.com/teensy/gui/?info=AudioSynthWaveformDc

This approach does come with a few limitations. First, the only modulated signal available is a pure sine wave, which doesn't sound very musical, let alone anything like a guitar string. Second, the modulation signal only allows for 2 octave change, from -1 to +1. Third, the DC object only provides a linear ramp from one level to another.

But maybe these can at least let you start experimenting with midi-controlled portamento?

I hope you'll post more as the project and perhaps share the code here? The audio library is very much as a "1.0 release" level, where the API and code is very stable, but the feature set is still somewhat sparse. Projects like this are really needed as part of the transition to the next level, to expand the library with more features.
 
I am currently trying to figure out how to get portamento to work on my Seenthysizer.

I found this thread and thought I would share this page I found on the topic..
Seems like a very simple approach. I just don't know how to work it into my synth at the moment.

Notice he made his to alter the timing of each voice's startup of the glide. It makes the synth sound really fat!


http://synthhacker.blogspot.com/2013/04/portamento-voice-spreading-from-monopoly.html
 
Portamento can be done two ways.

Portamento first appeared in the Voltage Controlled synths of the late 60's / early 70's. The synths of the day (MiniMoog, ARP Odyssey....) were monophonic lead instruments where the keyboard generated a Control Voltage (CV) that changed the pitch of one or more Voltage Controlled Oscillators (VCO), usually having a 1 Volt per Octave (1V/Oct) pitch characteristic. Portamento was easy, just implement a low pass filter (cap and a pot) on the CV line to the VCO. An opamp circuit known as a Slew Rate Limiter can also be used. That is how my Teensy synth works. Multiple VCO's (I have 4) can be run from the same CV with each slightly detuned from each other, with a small amount of LFO modulation added to each to emulate that fat sound. Each VCO can be tuned in unison, octave steps, or to each note in a chord for a poly chord sweep from a single monophonic CV. Since each VCO is tuned to a note in a chord, and the whole chord is moved at once by the keyboard everything stays in tune (or slight detune).

Portamento can be done in a digital synth by quickly calculating the frequency change between two successive notes and implementing that change in successive small steps. Paul has stated here somewhere that the waveform objects operate on 256 sample blocks of data at a time, so at 44,100 Hz the waveform object can be updated at roughly a 6 mS rate max. This doesn't seem to be audible for LFO, pitch bend and portamento effects, but large frequency jumps in a single fast portamento swing may create audible artifacts. I have not explored any digital portamento methods since my Teensy synth is voltage controlled.

Applying portamento in a polyphonic manner to chords can yield artifacts which can sound pleasing, or weird depending on the method used, and the chords being played. Unless the chord change consists of identical intervals moving up and down the keyboard, some pitch changes will be a different length than the others. This means the notes will not track (stay in tune) each other as they all glide from one chord to the next.

Adding a modulation input to the waveform object has been achieved see this thread. https://forum.pjrc.com/threads/41175-LFO-using-waveform-object

Another method was described here. https://forum.pjrc.com/threads/32917-Controlling-oscillator-frequency-with-the-LFO-(Audiolibrary)

I found your Seenthysizer project rather interesting. My synth is strictly old school. It has 49 pots and 4 encoders on the front, but no way to store setups or change anything other than twisting knobs. Replacing all the pots with a fancy GUI is on my TODO list, but since I am far more at home with hardware than software, I took the HW route to get started.

The OP of this thread mentioned a Guitorgan. I had forgotten about an instrument a coworker gave me back in the mid 70's. Called an Axe Organ, it seems to be a very similar instrument. It quit working in the 80's and I never investigated why. He had a patent (long since expired) on a unique way of making a divided fret fingerboard for the neck. It is actually a long PC board with the frets plated up from hard nickel. It held up well to several years of me pounding away at it. Axe Organ_1_x.jpgAxe Organ_2_x.jpg
 
Thanks for the reply tubelab


I guess I have a challenge ahead if I want portamento to work right.
Seems others want to modulate the freq. of waveforms besides the Sine waveform too.
I had wondered how I would tackle modulating pitch with LFO. Sounds like it may not be as easy as the change in gain/volume.


I have given thought of making memory/patch recalls for my Seenthysizer by using the Teensy's eeprom. Just write the CCvalues table I have in my sketch to the eeprom.
Then read the eeprom each time a patch is requested to be loaded.
Since each number fits in one byte, it should make it fairly simple to do.
 
Status
Not open for further replies.
Back
Top