uRock @ Jserv Course Final

Post on 30-Jul-2015

73 views 4 download

Tags:

Transcript of uRock @ Jserv Course Final

uRockMusic 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 - InspirationAt 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 DesignOn 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 RegulatorsThe 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