Octaver Pedal.

ElectroSmash - Octaver Pedal. - Electro Smash
10 years 6 months ago - 10 years 5 months ago #19 by JR
Octaver Pedal. was created by JR

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Please Log in to join the conversation.

10 years 6 months ago - 10 years 5 months ago #20 by JR
Replied by JR on topic Octaver Pedal.
There are a lot of ways to implement octavers or pitch-shifting effects. D. Goswami, H. Narula and C. Rogers have the best study about Real-Time DSP Pitch Shifting applicable to Arduino/C programming I have ever read.
I am quoting below the most interesting parts:

2.0. Pitch Shifting Techniques

2.1. Zero-Padding

Zero-padding is very simple pitch shifting method because it adds or removes values at zero crossing to change the pitch. However, it produces artifacts that swamp the signal without intensive interpolation to keep the speech signal’s slope from abruptly changing. Even, without this problem there are still considerable artifacts because the zero-crossings are not necessarily evenly spaced. Overall, the quality is too poor to make up for its simplicity.

2.2. PSOLA (Pitch Synchronous Overlap/Add)

PSOLA (Pitch Synchronous OverLap/Add) uses a pitch detection algorithm to extract single periods and either overlaps or adds a single pitch period to decrease or increase pitch respectively. It changes the pitch without altering format frequencies, consistent with human voice characteristics and is computationally efficient [1]. Several of its assumptions, such as setting the phase equal to zero, are not completely correct though and lead to artifacts. Spectral discontinuities at boundaries also cause artifacts. PSOLA can only be as accurate as the pitch detection algorithm used and the unvoiced regions can be tricky to handle. Yet another problem is that voiced fricatives contain a buzz in their pitch shifted sound [2]. While, PSOLA produces a better sounding pitch shifted speech than the zero-padding method (its intelligibility is good), the artifacts make the sound unnatural and unpleasing for the listen.

2.3. Physical Modeling

Physical modeling tries to completely separate the vocal tract information from the glottal impulses using inverse filtering techniques. The drawbacks of this method are computationally complexity and artifacts produce from the inability to exactly model the inverse filter speech to completely separate vocal tract info from impulses [1]. The artifacts are less noticeable than in methods such as PSOLA but its computational complexity is much greater.

2.4. Frequency Domain Methods

Frequency domain methods (including phase vocoders) must first transform the speech signal into the frequency domain and then transform it back after the pitch is adjusted. These methods contain spectral leakage, which cause the formant frequencies to shift and most require a transformation back to the time domain [1, 3]. Frequency domain models allow for finer pitch shifts at the cost of increased complexity and shifted formants.

2.5. Delay Based

Delay based methods crossfade between two channels with different varying delays and gains to produce a smoothly transitioned pitched shifted signal. They produce only small artifacts so long as large pitch shifts are not used. They are also fast enough to operate in real-time; however, they do shift and smear the formant frequencies [4]. Delay based methods are less computationally complex than frequency domain methods or physical modeling methods and its results have less artifacts than zero-padding or PSOLA so this method was chosen to be implemented for this project. Details of how the delay based method works are described in Section 3.


keep it simple

Please Log in to join the conversation.

9 years 5 months ago #173 by jasolag
Replied by jasolag on topic Octaver Pedal.
Hi JR, I tried using the octaver effect and it sounds pretty good. However, there is a delay between the original sound and the modified sound. Is there a way to reduce this latency to the minimum? Thanks.

Please Log in to join the conversation.

9 years 5 months ago #174 by JR
Replied by JR on topic Octaver Pedal.

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Please Log in to join the conversation.

9 years 2 months ago #240 by dwhacks
Replied by dwhacks on topic Octaver Pedal.
Would it be possible to run both octaves at the same time and maybe have a volume adjustement for each (like the EHX Micro POG)?

Is we can get the latency to really low levels this would be pretty amazing.

Please Log in to join the conversation.

8 years 5 months ago #398 by iosonosempreio
Replied by iosonosempreio on topic Octaver Pedal.

Would it be possible to run both octaves at the same time and maybe have a volume adjustement for each (like the EHX Micro POG)?


This is the reason why I ordered the shield a few days ago, I'm still waiting, but I'll probably try building that effect as soon as I get my hands on it!
I know how to handle an Arduino, but unfortunately I do not know anything about sound processing (I'm a visual designer :whistle: ). I'm going to learn a lot of stuff then... So I'm wondering, is there any particular issue in doing that?

:guitargibso

Please Log in to join the conversation.

8 years 5 months ago #399 by Ray
Replied by Ray on topic Octaver Pedal.
its a good idea, I never though about doing that but its cool!
It may be some limitation but I reckon that its plausible, just generating both signals and summing them at the end of it...
You can start a new topic once you try to do it so we can contribute ;)

Please Log in to join the conversation.

8 years 2 months ago #439 by vittoles
Replied by vittoles on topic Octaver Pedal.
Hi guys!
my name is Dan,just starting in Arduino world.
i wanna mod POT0 to have multiple octave down value.
i mean normal position ,no pitch full clockwise, and maybe 10 "step" to get 2 octave down fully counter clockwise...
how to code that please?
regards.

Please Log in to join the conversation.

8 years 2 months ago #441 by Ray
Replied by Ray on topic Octaver Pedal.

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Please Log in to join the conversation.

8 years 2 months ago #444 by vittoles
Replied by vittoles on topic Octaver Pedal.
my problem is to get 1/2 octave down , 1/3 octave down,1/4 octave down..
i can't find how to divide 1 octave in 5 pot position...
best regards.

Please Log in to join the conversation.

Time to create page: 0.095 seconds