Smallest, most simple Octave Down (divide by 2) Circuit?

Status
Not open for further replies.

abrown

New member
I'm looking to install the most simple octave down circuit in my guitar. Basically just a toggle switch that actuates it and turns it off. The caveat is that I've tried many octave pedals out there and most of them sound too synthy for my taste. Is there a way to design a circuit that makes dividing the frequency sound close to an authentic bass guitar?
 
I just checked out the Audio library, however it doesn't appear to have frequency division... am I missing something?
 
it's not really a matter of circuitry but dsp. you're right though, there's no such thing in the audio library, afaik.
 
this kind of stuff is fairly above my head, but i think there's basically those two classic approaches, frequency domain / phase vocoder, and time domain based (PSOLA, WSOLA); there's also more recent, more or less proprietary things ("élastique", dirac, for instance)

fraunhofer (of mp3 fame) have a 'tms' toolbox (matlab), described here: http://www.dafx14.fau.de/papers/dafx14_jonathan_driedger_tsm_toolbox_matlab_imple.pdf


the time domain ones i guess are more efficient (telephony/speech originally), but the quality isn't so great. there's a few open source implementations; for instance http://www.surina.net/soundtouch/index.html
here's another https://github.com/pichenettes/eurorack/blob/master/clouds/dsp/wsola_sample_player.h
 
i'd say that what's needed is to pass a certain number of samples into a buffer, and however many samples that is, ignore that many samples while what's in the buffer is sent to the output with interpolated data in between each sample (averaging). it might sound bad though, but maybe that's a start for a super rudimentary octaver?
 
i'd say that what's needed is to pass a certain number of samples into a buffer, and however many samples that is, ignore that many samples while what's in the buffer is sent to the output with interpolated data in between each sample (averaging). it might sound bad though, but maybe that's a start for a super rudimentary octaver?

but that would be resampling ... which, i guess, would be neat to have, too, though not what the OP seems to have in mind.
 
Would that be playing the first half of every 3 ms sound at half speed, with the second half simply discarded?

That's what springs to mind. And some sort of crossfading between stretched chunks.

The lowest frequency that would be needed by the algo is 80hz since that would turn into 40hz (below which isnt useful) . So 1/80 of a second might sound the best for a buffer size. 44.1k mono input would be great, since high resolution is desired before this sort of pseudo decimation or frequency dividing. About 551 samples. Maybe add 5ms for a crossfade tail. 22k after that should be fine if that helps with skimping a little on cycles somewhere.

maybe this has nothing to do with what i just said, but may be helpful:
http://wiki.cockos.com/wiki/index.php/1st_Ever_Jesusonic_Tutorial#Pitch-Shifting
 
Last edited:
Status
Not open for further replies.
Back
Top