Showing posts with label Audio. Show all posts
Showing posts with label Audio. Show all posts
Tuesday, June 1, 2010
Mini-STM32 WAVE Audio Player
Mini-STM32 SD/MMC WAV (RIFF-WAVE-LPCM format) Audio Player with Spectrum Display
Simple SD Audio Player with an 8-pin IC by ChaN
DSP (FFT) libraries for Cortex M3 by Ivan Mellen
CooCox CoOS real-time multi-task OS
minimal hardware modification:
demo video:
[埋込みオブジェクト:http://www.youtube.com/v/sNo6axRcdeQ&hl=en&fs=1]
Project files: Mini-STM32 WAVE Audio Player.rar
forum link: Mini-STM32 board
Simple SD Audio Player with an 8-pin IC by ChaN
DSP (FFT) libraries for Cortex M3 by Ivan Mellen
CooCox CoOS real-time multi-task OS
minimal hardware modification:
demo video:
[埋込みオブジェクト:http://www.youtube.com/v/sNo6axRcdeQ&hl=en&fs=1]
Project files: Mini-STM32 WAVE Audio Player.rar
forum link: Mini-STM32 board
Saturday, May 22, 2010
PIC18F SD WAV Audio Player
As inspired by Simple SD Audio Player by ChaN, this project uses Microchip's PIC18F2550 to read RIFF WAVE files, and display some file information on the N6610 LCD; And then it will play the audio itself through PIC's PWM with a simple RC filter on the output pin. The hardware actually comes from my previous project, and I just attached a ready-made audio amp (w/ speaker) for the demo.
Schematic:
Due to PIC's peripheral limitations, I only set the PWM frequency to 187.5kHz and not the 250kHz carrier frequency originally used by ChaN, because it's the maximum PWM frequency than can still get an 8-bit resolution of the duty cycles (=48MHz/256). It is also possible to use R-2R ladder in stead of (low-pass) filtering the PWM output since there still enough unused digital output pins for this approach.
On the software part, I wasn't able to make a good data buffering as good as what ChaN did. It's noticeable with WAVE files with higher bit-rates (=SampleRate*NumChannels*BitsPerSample). Nevertheless, it can still support up to 48kHz sampling rate, but with only Mono channel and 8-bits/sample resolution.
demo video:
[埋込みオブジェクト:http://www.youtube.com/v/mRzOwF4bx7c&hl=en_US&fs=1&]
Source code(PICC-18) with and without LCD: PIC18 SD WAV Audio Player
My on-going project: currently porting the code to STM32F103RB for additional features.
Some useful software (shareware) tools:
TextAloud - Text to Speech software
Switch Sound File Converter-multi format audio file converters
Schematic:
Due to PIC's peripheral limitations, I only set the PWM frequency to 187.5kHz and not the 250kHz carrier frequency originally used by ChaN, because it's the maximum PWM frequency than can still get an 8-bit resolution of the duty cycles (=48MHz/256). It is also possible to use R-2R ladder in stead of (low-pass) filtering the PWM output since there still enough unused digital output pins for this approach.
On the software part, I wasn't able to make a good data buffering as good as what ChaN did. It's noticeable with WAVE files with higher bit-rates (=SampleRate*NumChannels*BitsPerSample). Nevertheless, it can still support up to 48kHz sampling rate, but with only Mono channel and 8-bits/sample resolution.
demo video:
[埋込みオブジェクト:http://www.youtube.com/v/mRzOwF4bx7c&hl=en_US&fs=1&]
Source code(PICC-18) with and without LCD: PIC18 SD WAV Audio Player
My on-going project: currently porting the code to STM32F103RB for additional features.
Some useful software (shareware) tools:
TextAloud - Text to Speech software
Switch Sound File Converter-multi format audio file converters
Subscribe to:
Comments (Atom)