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

Thoughts on "Making Embedded Systems" by Elecia White

I recently finished reading Elecia White's book "Making Embedded Systems: Design Patterns for Great Software". Elecia is a highly experienced professional embedded software engineer and also host of one of my favorite podcasts, Embedded.fm.

Embedded Systems Books

"Making Embedded Systems" was a great follow up to Jona

Date: May 3rd, 2017 at 4:52pm
Author: Terence Darwen
Tags: Book Review, Reading Material, Embedded, Tiva LaunchPad, TM4C123G, ARM Cortex-M4, 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