/espsynth86

Synth engine for esptiny86

Primary LanguageObjective-C

espsynth86

Synth engine for esptiny86. this module is largely based on MicrobeModular's Equation Composer ported to esp8266 with full featured Audio Design tool https://esptiny86.github.io/espnode86

How To install (For user)

Hardware Implementation Example

8BitmixtapeWIFI

esptiny86 Stompbox design by @Dusjagr

Schematics

There are two methods for generating sound with ESP8266

  • PDM - Pulse Density Modulation

  • DAC - Digital Analog Converter (tested with PT8211)

To choose between mode uncomment in synthmodule86.ino file

define USE_PDM

Audio design Tools

Tips

NeoPixelBus (works well with esp8266)

https://github.com/Makuna/NeoPixelBus


//declare
NeoPixelBus<NeoRgbFeature, NeoEsp8266BitBang400KbpsMethod> neoPixel(NEO_NUM_LEDS, NEO_DATA_PIN);
RgbColor green(0, 128, 0);

//setup
neoPixel.Begin();
neoPixel.Show();

//update
neoPixel.SetPixelColor(i, green);

Fix clicking sound


#include "ESP8266WiFi.h" // wifi header only needed to turn it off

void setup() {
    WiFi.forceSleepBegin(); // turn of wifi to reduce power consumption
}

Compiling (for developer)

  • Install Arduino IDE then install esp8266 from board library
  • Open and configure "Makefile" file, then on command prompt/terminal type Make (the Makefile will auto discover your Arduino IDE and Libs))
    • Nodemcu Lolin use BOARD = nodemcu
    • Wemos D1 use BOARD = d1_mini
  • Qt Creator is optional but it is recommended for developing further with espsynth86
  • Edit project.include to your pathto get Intelisense in QT Creator

Compiling (for developer) (library version)

  • Install Arduino IDE then install esp8266 from board library
  • Open and configure "Makefile" file, then on command prompt/terminal type Make (the Makefile will auto discover your Arduino IDE and Libs))
    • Nodemcu Lolin use BOARD = nodemcu
    • Wemos D1 use BOARD = d1_mini
  • Qt Creator is optional but it is recommended for developing further with espsynth86
  • Edit project.include to your pathto get Intelisense in QT Creator
  • sh build_lib.sh

Support

This project is developed independently and without any connection to funding or big collective or organization, Donation is highly appreciated, go to https://www.patreon.com/badgeek become a patron and support this project

https://www.patreon.com/badgeek

Credits