1

I'm looking to use a MCU for audio sampling. I want to sample incoming audio and pitch shift it (without speeding it up/slowing it down). A bit about the build. I'm planning to make a circuit board that can take in a single audio source and output three or four different pitch-shifted sounds in real time, with each output being its own pitch-shifted sound. If possible, I would like to have a potentiometer for each output that could in effect change how pitch shifted each output is, sort've of like a tuning knob. These outputs will eventually get summed together to produce a chord-like sound.

I'm not quite sure what exact requirements are needed for this, just that the sampling rate should be around 44KHz (standard audio sampling rate). Of course, I would like the outputs to replicate the original sound as much as possible, just pitch-shifted. I am assuming as well that the way I pitch-shift and sample could affect the requirements. Also, I would like to avoid SMT if I can.

Given these requirements, what do you suggest the best MCU to use is? I would like to use Arduino to program the MCU. I really only need the chip itself (I think?), as I plan to create a separate circuit board for this (although would I need an Arduino board to initially program the chip?)

I'm fairly new to the Arduino world, so apologies in advance if I miss something obvious or mess up terminology. I do come from a background in analog circuitry and programming though. Just looking for as much help as I can get from people who know more than me but am eager to learn about this all.

Thanks!

4
  • I don't know exactly what MCU would suit best, but forget about an Arduino Uno, Nano, Micro or Mega. Maybe a Due would be suitable. Also you need external ADCs and DACs as the internal ADCs are 10 bit only. Beyond that the CPU speed of a 16 MHz typical Arduino is probably not enough for the (probably?) massive number crunching need for pitch shifting. – Michel Keijzers Mar 31 at 22:01
  • 1
    I'd suggest the Teensy 4.0 - you're going to need lots and lots of processing power. – Majenko Mar 31 at 22:16
  • 1
    use a rasp pi for that, it's going to be WAY easier and more flexible for relatively complex processing. – dandavis Mar 31 at 22:52
  • What kind of ADC resolution are you aiming at? – StarCat Apr 1 at 7:56
1

I get the impression that you haven't done this sort of thing before, on any scale. Pitch shifting is a totally non-trivial process. I suggest you start out on a regular computer and try to get a single channel working to your satisfaction. Then, if you are still determined to do this on a smaller system, you will at least know what you are up against and will be able to decide what systems are appropriate. Sorry if it sounds like I'm trying to throw cold water on your idea, because I'm sure it would be a fun instrument to play. But I think you would be getting in way over your head if this isn't already your field of expertise.

1
  • Thank you for the advice @Boggyman , I appreciate the honesty. I am starting to realize that what you've said is indeed the correct way to go about it, as I want to be able to understand the process fully once I implement it. Nothing wrong with some learning! :) – JTaft121 Apr 1 at 14:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.