This article describes a simple device based on an ATtiny85 that takes an audio input, shifts its pitch up or down in real time, and plays it through a loudspeaker. You can increase or decrease the pitch shift using two pushbuttons:
OK for starters that circuit looks great – cute, even! So simple, and I’m sure it’s fun to play with – adding this to my list of circuit to prototype!
For example, you can plug in an mp3 music player or phone, play some music, and change the pitch of a male singer’s voice to a female voice as it’s playing.
Although the result is not hi-fi quality, it’s an excellent demonstration of how much you can achieve with a single ATtiny85. The chip first amplifies the input by a factor of x20, digitizes it, stores the samples in a circular buffer under interrupt, reads samples back from the circular buffer under a separate timer interrupt, and finally converts the processed digital signal back to analogue, using high-speed PWM, and outputs it to a loudspeaker. Two pushbuttons cause interrupts which change the pitch shift up or down.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.