Post Go back to editing

Karaoke key change using ADI pitch transposer alogrithm

Hi,

I would like to implement the key change function for a karaoke machine using ADAU1451.

I tried the ADI pitch transposer algorithm for the key change function.

First, I don't know how to set the parameters  'Delay Reserved', 'Frequency Shift Slider', and 'Max Shift' to achieve +/-4 semitones pitch change. The information in the wiki Analog Devices doesn't show clearly how to set those parameters.

https://wiki.analog.com/resources/tools-software/sigmastudio/toolbox/adialgorithms/pitchmodification/pitchtransposer

Second, I set 'delay reserved' to 1000, while the 'max shift' is 100. I can heard obviously that the volume does not keep stable, like vibrato effect . Can it be more stable?

Thanks in advance!

Jim.

Parents
  •      Hello Jim,

         Unfortunately, the answer to your second question appears to be, no.  The standard ADI pitch shifter works with a circular buffer which simultaneously records samples at the input sample rate, while pulling them out at a different rate to achieve the pitch change.  The splices between these snippets of audio cause the vibrato.

         Third-party developers such as base10 labs offer licensed algorithms for this function.  Such are available on a trial basis for some SigmaDSPs (such as the humble ADAU1701, see below).  ADI may be able to recommend this outfit or another third party to provide a better pitch changer for the Sigma300 (ADAU145x).

         Given the performance of the stock pitch transposer, the following may be moot -- but here's how to get your semitone pitch shifts.  Use the data-controlled version and drive it with a Lookup Table (LUT) as shown below.  The LUT contents are a bit more complex than what the wiki suggests -- its numbers depend upon the amount of delay reserved as well as the desired pitch change and the sample rate.  With 2000 samples reserved at 48K, the LUT shown below provides plus or minus six semitones.  The attached project runs on the ADAU1452MINIZ eval board -- I tested it using the 440 Hz (middle A) tone oscillator and a guitar tuner app:

         BTW -- I used to host karaoke and have had experience with several key changers, none of which provided truly clean audio.  Thus I encouraged my singers to pick songs within their range.  For example, to stick with rock and singer-songwriter artists, while staying safely away from vocal "hot-shots."  Besides, although having absolutely no musical talent I've been cursed with perfect pitch, thus cannot stand to hear any song away from its original key.

         Best regards,

         Bob

    1452-KeyChange.dspproj.zip
Reply
  •      Hello Jim,

         Unfortunately, the answer to your second question appears to be, no.  The standard ADI pitch shifter works with a circular buffer which simultaneously records samples at the input sample rate, while pulling them out at a different rate to achieve the pitch change.  The splices between these snippets of audio cause the vibrato.

         Third-party developers such as base10 labs offer licensed algorithms for this function.  Such are available on a trial basis for some SigmaDSPs (such as the humble ADAU1701, see below).  ADI may be able to recommend this outfit or another third party to provide a better pitch changer for the Sigma300 (ADAU145x).

         Given the performance of the stock pitch transposer, the following may be moot -- but here's how to get your semitone pitch shifts.  Use the data-controlled version and drive it with a Lookup Table (LUT) as shown below.  The LUT contents are a bit more complex than what the wiki suggests -- its numbers depend upon the amount of delay reserved as well as the desired pitch change and the sample rate.  With 2000 samples reserved at 48K, the LUT shown below provides plus or minus six semitones.  The attached project runs on the ADAU1452MINIZ eval board -- I tested it using the 440 Hz (middle A) tone oscillator and a guitar tuner app:

         BTW -- I used to host karaoke and have had experience with several key changers, none of which provided truly clean audio.  Thus I encouraged my singers to pick songs within their range.  For example, to stick with rock and singer-songwriter artists, while staying safely away from vocal "hot-shots."  Besides, although having absolutely no musical talent I've been cursed with perfect pitch, thus cannot stand to hear any song away from its original key.

         Best regards,

         Bob

    1452-KeyChange.dspproj.zip
Children
No Data