Skip to content
 
 

Repository files navigation

WhateverDSP

¯\_(ツ)_/¯ It's just like, whatever!

image

WhateverDSP is an open C/C++ framework for high quality audio processing on embedded devices. It's still in pretty early development and right now only targets the accompanying WhateverDSP Development board and it's STM32F405 processor.

It supports low latency (<1ms) 32bit float audio processing, analog and digital GPIO, MIDI via both the classic serial interface and USB in addition to full duplex class compliant USB audio at up to 48khz in both 24 bit and 32 bit float sample formats.

All code was written from scratch with low latency and performance in mind.

Getting started

See our Getting started page.

Example code

Here is what that a simple volume control that scales the audio level using a potentiometer looks like:

#include <libwdsp.h>

void wdsp_process(float *in_buffer[BLOCK_SIZE], float *out_buffer[BLOCK_SIZE])
{
	float volume = io_analog_in(POT_1);

	for (int i = 0; i < BLOCK_SIZE; i++)
	{
		float l_sample = in_buffer[0][i];
		float r_sample = in_buffer[1][i];

		out_buffer[0][i] = l_sample * volume;
		out_buffer[1][i] = r_sample * volume;
	}
}

Want to learn more? We're working on the documentation in the Github wiki.

In the meantime, why not check out the examples repository or come chat with us on IRC.

Chat

We have an IRC channel on libera.chat called #wdsp.

Development board

The current version of the WhateverDSP dev board runs on 9V DC power and includes:

  • STM32F405 MCU
  • 2x TRS analog inputs
  • 2x TRS analog outputs
  • 4 potentiometers
  • 2 buttons (+ boot and reset buttons)
  • USB-C
  • TRS MIDI input
  • TRS MIDI output

Headers:

  • Debug header for realtime debugging via ST-Link V3
  • I2C
  • 3.3V
  • Ground
  • 4 analog inputs
  • 2 analog outputs
  • 3 digital inputs
  • 3 digital outputs

The board will be released as open-source after some further testing. You will also be able to purchase them directly fully assembled. In the meantime, come hang on the IRC channel for updates!

License

The WhateverDSP library is licensed under GNU Lesser General Public License.

About

WhateverDSP Framework

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages