Using μDMA with the Tiva LaunchPad (ARM Cortex-M4) for Audio Output

I've figured out how to use DMA (direct memory access) on the Tiva LaunchPad (ARM Cortex-M4) microcontroller when using peripherals like an audio output DAC (digital to analog converter).

Tiva Launchpad, Logic Analyzer and DAC Annotated

The DMA controller on the Texas Instruments Tiva LaunchPad is known as "micro-DMA" and is abbreviated as "μDMA…

Date: May 22nd, 2017 at 7:02pm
Author: Terence Darwen
Tags: Embedded, Tiva LaunchPad, TM4C123G, ARM-Cortex-M4, 16 Bit DAC, DMA, micro-DMA, Sabbatical

Phase Vocoder w/Pitch Shifting (Audio Examples and Free Software Download)

I've improved my Phase Vocoder application by adding in a resampler. Using the resampler in conjunction with my Phase Vocoder's existing time stretch/compress abilities allows for pitch shifting. Here's a demonstration:


The original version of my Phase Vocoder is described in detail here

Date: May 16th, 2017 at 1:46pm
Author: Terence Darwen
Tags: Audio Software, Cross-Platform Development, Phase Vocoder, Pitch Shifting, Digital Signal Processing, DSP, C++, Sabbatical

Interfacing a MIDI Keyboard with a Tiva LaunchPad (ARM Cortex-M4 Processor)

I've managed to interface a typical MIDI keyboard controller (an M-Audio Oxygen 61) with my Texas Instruments Tiva LaunchPad (ARM Cortex-M4) development board as shown below.

MIDI Keyboard, Tiva LaunchPad and Circuit

By doing some Googling I found out that the MIDI protocol is a typical UART connection running at a baud rate of 31,250. Th…

Date: April 26th, 2017 at 4:24pm
Author: Terence Darwen
Tags: Embedded, Tiva LaunchPad, TM4C123G, ARM Cortex-M4, Synth Project, MIDI Keyboard, Sabbatical

Phase Vocoder w/Transient Handling (Audio Examples and Free Software Download)

I've improved my transient detection algorithm (original version described here) and have now included it in my Phase Vocoder application (original version of my Phase Vocoder described here). I'm pretty happy with the quality. Here's an audio example:


As mentioned in my previous blog po

Date: April 19th, 2017 at 4:42pm
Author: Terence Darwen
Tags: Audio Software, Cross-Platform Development, Phase Vocoder, Transient Detection, Digital Signal Processing, DSP, C++, Sabbatical

Detecting Audio Transients (Example and Free Cross-Platform Software)

Wikipedia defines an audio transient as "a high amplitude, short-duration sound at the beginning of a waveform that occurs in phenomena such as musical sounds, noises or speech". Here's an example that points out the transients in a short snippet of audio:

Waveform with Transients Annotated

So, a transient is just a peak that occur…

Date: March 11th, 2017 at 11:02am
Author: Terence Darwen
Tags: Audio Software, Cross-Platform Development, Transient Detection, Digital Signal Processing, DSP, C++, Sabbatical