ADAU1701- pitch modification
Hi,
I tried the algorithm on pitch modification. 2 questions:
First, I can not understand the relation between 'max shift' and 'delay reserved'.
Second, I set delay to 900, while the max shift is 5. I can heard obviously that volume does not keep stable, like 'sea wave' . Can it be more stable?
Thanks in advance!
Jackie
Hi Jackie,
The pitch shift algorithm uses a circular delay buffer to create the effect. The "Delay Reserved" parameter defines how big the buffer is. A higher number will give you better audio quality, but the tradeoff is that more data memory is used. The "Max Shift" parameter defines the range of the change in frequency. A larger value gives the frequency shift a wider range, but the user has less fine control over the amount of shift.
This algorithm is not very advanced, so there are some side effects like the instable signal level that oscillates over time. This is something that can hopefully be addressed when this algorithm is modified or updated in the future. At the present time, there is no workaround for that particular side effect.
Hi Jackie:
Can you tell us more about your application that requires the pitch to be more stable. There are ways to do so but we haven't had the time and/or need to do so.
Thank you
Miguel
Hi Miguel,
A popular use for pitch shift is to adjust the key of a karaoke track to fit a singer's range. Both consumer and "pro" karaoke machines offer such a Key Changer. The ones I've heard add a slight yet annoying vibrato to the music. To me, this makes them mainly suitable for practice.
The needed shift is: New pitch = Old pitch x 2^(N/12)
where N is an integer that may run from minus 12 (drop an octave) to plus 5 (raise a fifth).
Out of curiosity I tried SigmaStudio's pitch shift with pop music on a ADAU1701. In line with Brett's comment, the present algorithm is not quite up for this task.
As we know, SigmaStudio and the ADAU1701 in particular were originally designed merely for audio post-processing. The additional applications developed since have really been quite amazing. The -1701 could easily add EQ to a karaoke machine, but for now cannot perform two vital functions -- key shift, and reverb. The ADAU144x has enough delay for ADI's reverb block, but needs an external codec for analog in/out.
Best regards,
Bob
Thanks all.
Yes, I need a pitch(key) shift algorithm same as Bob said.
I am not familiar with audio DSP. But I do with ARM. I can setup a data flow like below:
Audio in - 1701 - I2S - external ARM processor with large SRAM - pitch modification - I2S - 1701 - DAC out
If it works, I have to find algorithm which I can make it in C language. Does it make sense? Any good suggestion? Thanks in advance.
BR/Jackie
Hi Jackie,
First, I feel the need to apologize for my earlier post where I had assumed that the -1701 could do a passable echo effect "like that found on karaoke machines." When I actually tried that out it was so embarrassing that I had to go back and edit my post(s). So, sorry for this misleading info. Since this I've learned to test all my suggestions on the hardware before offering them on this forum.
I have no experience with ARM (other than knowing that the whole world runs on these things; and they can process MP3 audio & similar tasks that SigmaDSP's streaming architecture can't yet touch). I also have no experience with getting digital audio into and out from a -1701. However, looking at the -1701's data sheet, its I2C port appears to be for control, not audio data. Instead, you would connect your audio streams to the -1701's multipurpose pins that have been programmed as serial (audio) data I/O -- see the data sheet, pages 45-47. Since the -1701 has no on-board ASRCs, your ARM processor will need to sync its serial data to the -1701's master clock. In this way you'll be using the -1701 as a "codec with ambition" -- and can additionally perform EQ.
Bob
Hi Bob,
I ought to calculate the delay time - how much delay I can get by 1K RAM when fs is 48K, before I started my project. I must thank you for your kindly online help.
Regarding the pitch modification, I will not add this function in my project. It's nice to have, but it is not mandatory.
Thanks,
Jackie
Hi Bob,
That's correct. The ADAU1701's I2C port is for control, not data. For audio streaming, the proper method is to use the serial data (I2S) port. Typically, micocontrollers have GPIO pins that can be programmed to operate with I2S interfaces. There are open source examples available on community coding sites.
In which version of SigmaStudio is this algorithm available?
It was added in SigmaStudio 3.7.4 BETA.
For future reference, there is a change log here that details additions and updates in each new version of SigmaStudio: https://wiki.analog.com/resources/tools-software/sigmastudio/readme
Hi, Bob! Hey, guys! I found this video to create a Pitch Shifting effect. That sounds pretty good! Is it possible to create a similar effect in Sigmastudio? Thank you! Sincerely, Alex. Delicious Max/MSP Tutorial 7: Pitch shifting - YouTube
Hi Alex,
Interesting video! The pitch-shifting patch demonstrated there operates within the Max MSP software running on a PC -- see the entry at Max (software) - Wikipedia
Since this program creates the effect itself rather than programming a chip, it can use all the PC's resources including a much more powerful processor and virtually infinite memory (by embedded programming standards). Thus the effect cannot be duplicated in a ADAU1701.
Best regards,
Bob
For my new project, I need a Pitch Shifter. What can I do to get this effect?
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.