Arduino
Arduino Audio Tools – Multicore Processing
So far I never needed to use any of the ESP32 multicore functionality because all the examples are very simple and everything is fitting on a single core. However if you write some more complex scenarios which are e.g. updating a screen, process user input w/o impacting the audio, you should consider to use multiple tasks. Then you need to use a save way to communicate data between the tasks. In this case I strongly Read more…
Arduino
Pitch Shifting with the Arduino Audio Tools
I had some pitch shifting effect on my to-do list for a long time now and finally managed to provide this in my Arduino Audio Tools Library. Pitch shifting is the functionality to change the pitch of an input signal w/o changing the length. If you use a higher pitch you get a Mickey Mouse voice, if you use a lower pitch you create a Hulk voice. In my first implementation I used the work Read more…
Arduino
ESpeak and MBROLA ?
MBROLA is a speech synthesizer based on the concatenation of diphones. It takes a list of phonemes as input, together with prosodic information (duration of phonemes and a piecewise linear description of pitch), and produces speech samples on 16 bits (linear), at the sampling frequency of the diphone database. Today I was playing around with MBROLA and was impressed by the quality of the speech. ESpeak provides an integration into the MBROLA speech synthesizer, so Read more…
Arduino
ESpeak-NG for Arduino: Setting the Voice
It was quite a challenge to convert eSpeak NG to an Arduino Library. In the meantime I managed to publish a first round of error corrections. The eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems. It supports more than 100 languages and accents. It is based on the eSpeak engine created by Jonathan Duddington. For each language (=voice) you can also set a voice variant Read more…
Arduino
Text to Speech for more then 100 Languages on an Arduino
It was quite a challenge to convert eSpeak NG to an Arduino Library. The eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems. It supports more than 100 languages and accents. It is based on the eSpeak engine created by Jonathan Duddington. Language Specific Configuration Files Using a foreign language is quite easy: You just need to load the language dependent files and set the corresponding Read more…
Arduino
ESpeak-NG: The difficult journey to an Arduino Library
I converted eSpeak NG to an Arduino Library. The eSpeak NG is a compact open source software text-to-speech synthesizer for Linux, Windows, Android and other operating systems. It supports more than 100 languages and accents. It is based on the eSpeak engine created by Jonathan Duddington. eSpeak NG uses a “formant synthesis” method. This allows many languages to be provided in a small size. The speech is clear, and can be used at high speeds, Read more…
Arduino
FreeRTOS-addons a C++ API on Arduino
Standard FreeRTOS uses C based API. However I prefer to have some lean C++ abstractions. That’s when I discovered the freertos-addons project from Michael Becker. I have converted it to an Arduino Library, so that it can be used e.g. on an ESP32. I also added a new Task class (which is a subclass of Thread) that allows to pass a function pointer in the constructor. For the ESP32 we support the xTaskCreatePinnedToCore() method by Read more…
Arduino
Guitar Effects Controlled By A Web GUI
Quite some time ago, I have demonstrated how to build some Guitar Effects with my Arduino Audio Tools. In the last couple of blogs, I showed how to build an interactive web dialog with my TinyHttp library. Finally it is time to put the two approaches together into one single sketch to build some Audio Effects that can be controlled via a html screen. I am using an AudioKit to simplify the hardware setup. The Read more…
Arduino
TinyHttp – Storing Html on an External Server
In my last Blog, I was showing how we can process html forms with the Arduino TinyHttp library. In the examples we were embedding the html into the source code. Sometimes however it is more convenient to store the html as files on a dedicated server: In the following examples we use Github for this. Forwarding In this example we just forward to an external URL. static Url forward_url(“https://pschatzmann.github.io/TinyHttp/app/webservice-example.html”); server.on(“/”,GET, forward_url); This external html page Read more…