uRock
Music On MCU
by Sonicyang Anarchih KK Hirokiht
Outline
● Project Target
● Circuit Design
● How community helped us
● How Effect works and Implementation
● Wav Playing and Recoder
● UI
● Challanges & Obstacles
● Housing
Project Target - Inspiration
At the beginning, we want to try out audio signal processing
on microcontrollers, insteads of traditional method, DSPs.
As we are Guitar players, the Product we choose is Guitar
Effect Pedal.
What is Effect Pedal
Circuit Design
On our Design we want most of the work done digitally.
The analog Circuit mainly contains some amplifiers and
voltage regulators only.
Amplifiers and Level Shifters
Voltages Regulators
The on board Switching regulators are noisy, thus we use
external voltage regulators.
● We are using TI’s TPS7A4700, RF Rating
Through, QFN20 is hard to solder,
the result is Outstanding.
How Communities helped us
Libraries and Firmware we are using
● STM32 Cube
● FATFS
● uGFX
● ARM DSP Lib
OSS and sharing have make
our way to the goal much more easier
STM32 Cube
New HAL Firmware means fewer bugs.
Handy STM32 Cube MX software, Generate
Hardware related Initializing code.
Comes with multiple Middlewares.
● FreeRTOS
● FATFS
uGFX
Ported to base on
Cube Firmware and FreeRTOS
Very Flexible and portable, eased our pain on
UI designing.
ARM DSP Lib
Utiliztiing ARM’s SIMD instructions to speed up
signal processing.
support Fix point and floating point, but SIMD is
only available to fix point numbers.
Effect
● Distortion
● Overdrive
● Equalizer
● Compressor
● Delay
● Reverb
For coding the effects, we use the
ARM DSP Library to help us.
We also use Q12 numbers(fix points) to enable the
possibility to use ARM Cortex-M4F DSP & SIMD
By using the Above 2 technicals, the speed gain is LARGE.
Aid of Python and MATLAB
To simulate the Effects and visualize before
hands. we use python and MATLAB to test the
algorithms.
Effect - Overdrive & Distortion
Effect - Compressor
Effect - Delay
The internal SRAM is not deep enough, thus
we store the delay data on external SDRAM.
Effect - Equalizer
Use IIR Filter to filter the audio.
Coefficient designing base on MATLAB’s aid.
Wav Player and Recorder
Implemented Wav player and Recoder
which plays 16bits 44100k files
The purpose is to let user recode clips to
accompany himself playings
UI
Challange & Obstacles
1. HAL Firmware is still new, lots libraries are
still not compatiable.
2. Efficiently process audio siginals and
preserve accuracy
3. The Digital Siginal Processing requires lost
of MATH and base knowledge
Housing

uRock @ Jserv Course Final

  • 1.
    uRock Music On MCU bySonicyang Anarchih KK Hirokiht
  • 2.
    Outline ● Project Target ●Circuit Design ● How community helped us ● How Effect works and Implementation ● Wav Playing and Recoder ● UI ● Challanges & Obstacles ● Housing
  • 3.
    Project Target -Inspiration At the beginning, we want to try out audio signal processing on microcontrollers, insteads of traditional method, DSPs. As we are Guitar players, the Product we choose is Guitar Effect Pedal.
  • 4.
  • 5.
    Circuit Design On ourDesign we want most of the work done digitally. The analog Circuit mainly contains some amplifiers and voltage regulators only.
  • 6.
  • 7.
    Voltages Regulators The onboard Switching regulators are noisy, thus we use external voltage regulators. ● We are using TI’s TPS7A4700, RF Rating Through, QFN20 is hard to solder, the result is Outstanding.
  • 8.
    How Communities helpedus Libraries and Firmware we are using ● STM32 Cube ● FATFS ● uGFX ● ARM DSP Lib OSS and sharing have make our way to the goal much more easier
  • 9.
    STM32 Cube New HALFirmware means fewer bugs. Handy STM32 Cube MX software, Generate Hardware related Initializing code. Comes with multiple Middlewares. ● FreeRTOS ● FATFS
  • 10.
    uGFX Ported to baseon Cube Firmware and FreeRTOS Very Flexible and portable, eased our pain on UI designing.
  • 11.
    ARM DSP Lib UtiliztiingARM’s SIMD instructions to speed up signal processing. support Fix point and floating point, but SIMD is only available to fix point numbers.
  • 12.
    Effect ● Distortion ● Overdrive ●Equalizer ● Compressor ● Delay ● Reverb
  • 13.
    For coding theeffects, we use the ARM DSP Library to help us. We also use Q12 numbers(fix points) to enable the possibility to use ARM Cortex-M4F DSP & SIMD By using the Above 2 technicals, the speed gain is LARGE.
  • 14.
    Aid of Pythonand MATLAB To simulate the Effects and visualize before hands. we use python and MATLAB to test the algorithms.
  • 15.
    Effect - Overdrive& Distortion
  • 16.
  • 17.
    Effect - Delay Theinternal SRAM is not deep enough, thus we store the delay data on external SDRAM.
  • 18.
    Effect - Equalizer UseIIR Filter to filter the audio. Coefficient designing base on MATLAB’s aid.
  • 19.
    Wav Player andRecorder Implemented Wav player and Recoder which plays 16bits 44100k files The purpose is to let user recode clips to accompany himself playings
  • 20.
  • 21.
    Challange & Obstacles 1.HAL Firmware is still new, lots libraries are still not compatiable. 2. Efficiently process audio siginals and preserve accuracy 3. The Digital Siginal Processing requires lost of MATH and base knowledge
  • 22.