ΣSigmaStudio Ask AI Русский Log in

Generating up octave and down octave?

SigmaDSP & SigmaStudio t.stern Jan 25, 2013 00:00 7 replies Original on forum ↗
Subscribe
t.stern Question
Jan 25, 2013 00:00

I just downloaded SigmaStudio and started to play with it, I have decided to try it out before buying an evolution board to start actually doing things.

In the project I am currently working on, I am interested in generating tones one octave above and one octave below the input. The input signal is a guitar in mono. Perhaps I am wrong, but it seems to like I would like to multiply the input by 2 and afterwards subtract the original input which would leave me with one octave above, a similar process should give me one octave below (divide instead of multiply).

How do I implement this kind of task in the program? For example, there are two inputs to the multiplier block and I rout the signal to one of them but how can I input a factor to the 2nd input? Or perhaps there is another way to implement this?

KJBob Reply
Jan 28, 2013 00:00

Hi, t.stern,

Welcome to the SigmaDSP/SigmaStudio section of the EngineerZone community. Exploring SigmaStudio is a good way to get started with SigmaDSP. I'll try to answer your questions below:

Multiplying a signal by 2 (etc) makes every sample twice (etc) as large. In other words, a 1.0 peak-peak signal would now measure 2.0 p-p. Its pitch remains the same. If we could convert the incoming sound to frequency domain, multiply the frequency spectrum by 2 and then covert back to time domain, that would raise the pitch an octave. Unfortunately, SigmaDSP cannot handle these necessary time-frequency domain conversions.

SigmaStudio includes a pitch-transposer block that can change the pitch up or down an adjustable amount:

It uses a circular buffer to, in effect, record the input sound in small chunks, while playing back the previous chunk at a different speed. I've found that the splices between chunks produces a vibrato effect that makes a complete mix (such as a popular song or karaoke track) sound rather bad. It may work better with solo guitar, but I haven't tried that.

Unfortunately, you can't hear it for yourself without hardware. However, there are a few things you can experiment with even before you get an eval board. For example, you can check out the frequency response of filters, by placing a "stimulus" block before your filter(s) and a "probe" block afterward.

Best regards,

Bob

85fd65bd869d93480c250cadbca558e9.jpg
85fd65bd869d93480c250cadbca558e9.jpg
85fd65bd869d93480c250cadbca558e9.jpg-530x224.jpg
85fd65bd869d93480c250cadbca558e9.jpg-530x224.jpg
t.stern Reply
Feb 10, 2013 00:00

Thank you very much for the helpful answer!

I am trying to get an EVO board, could be a bit simpler to do in Israel (hear me out ADI).

I understand what you are saying, probably wasn't clear enough that I've meant to multiply the signal in the freq. domain and not in time domain. I know these processors are not doing FFT so I was wondering if a work-around is possible

The method you described is the one I started to implement using an MCU, thank god I stopped now since I wasn't getting good results at all! When I'll get my EVO I'll evaluate how well this works.

ADIApproved Reply
Feb 11, 2013 00:00

As Bob mentioned, this probably won't work with a full mix. Actually, it won't sound good with polyphonic material. You might only get good results with monophonic material (meaning there is only one note played at a time, not multiple notes, such as a chord). Even then, due to the limited processing capability of the SigmaDSP, the different harmonics of the note will be shifted by slightly different amounts, meaning that the overall effect might sound slightly dissonant or out of tune. However, it's difficult to know how it will work without doing a real audio test! Please let us know your results.

t.stern Reply
Mar 23, 2013 00:00

I finally got my 1701 EVO board yesterday and pretty much the 1st thing I've tried out is the pitch shifting block. Unfortunately with any polyphonic material I've used the results are not very good. There's a very noticeable "zipper" noise... Any suggestions?

t.stern Reply
Mar 23, 2013 00:00

Another question, not directly related, I've noticed that the ADI algorithms available on sigmastudio are fewer than what's listed on the wiki page with the algorithms descriptions. Does the 1701 support reverb for example?

ADIApproved Reply
Mar 24, 2013 00:00

Hi t.stern:

There is a company that once showed me a good working pitch shifter for the Sigma. Would you like the contact?

Regards

Miguel

t.stern Reply
Mar 24, 2013 00:00

I think that would be Labs10 *something*, right? I already contacted them and waiting for a reply. Thanks!

IMHO ADI should have this kind of functionality made available with SigmaStudio since day one. Having a block which is so limited simply kills the possibility of using the processor for an end application right away and that's a loss for both you as the manufacturer and us your customers.