Talko 1.2 now available

IMG_5620-copie.jpg
Talko 1.2 are now in stock, both as kits and as assembled modules.

What’s new in version 1.2

– Rotary encoder for smoother Bank change
– Encoder’s button can be pressed to simulate the gate signal going HIGH and make the module speak.
– Mode selection via a 3 positions switch : Speech – Repeat – VCO
– Growling mode in VCO (turn the Bend pot fully CCW)

Talko-New-panel.png

My first patches

Beyond having it to speak and bending it in (the obvious) Speech mode, I would recommend testing the Repeat mode by feeding some rhythmic pattern into the Gate entry and particularly playing with the Gate length.

Another fun one is to set it to Bank 0, VCO mode, turn the Bend pot fully CCW for growling mode and then play with the Sound, Pitch and Speed pots.

Try also to press the rotary button while the Sound entry is being sequenced in VCO mode to hold notes on and manually alter the sequence.
Do you have a nice patch to recommend ?
Thanks in advance for sharing

Talko 1.2 is coming soon

Talko is an open source Arduino based LPC speech synthesizer. It’s firmware can be updated via the onboard USB port, using the standard Arduino IDE.

In Speech mode, the speech starts with a gate signal and complete before waiting for a new gate signal. The speech has the priority.

In Repeat mode, the speech starts and stops with the gate signal going high or low. The gate has the priority and the speech repeats while the gate is high. This mode is very useful to create crazy rhythms.

In VCO mode, the LPC engine loops while the gate is high, producing steady notes.

The VCO mode can also produce sounds using white noise instead of tones, making strange throat like sounds.

The sound synthesis can be is driven via CV signals or knobs to choose sounds and alter pitch, speed & bending.

Talko1.2

flyer1.2.pdf

LPC encoding for the Arduino’s Talkie library

Adding new sounds or vocabulary for the Talkie library is not straightforward and I needed a checklist to smoothen the process.
Here are the main steps :

Recording audio with Audacity

  • The recording has to be made at 8 kHz with 16-bit depth
  • Export to Wav signed 16-bit PCM(note that you can also use Audacity to re-sample the audio to 8000 kHz via the [track/re-sample] menu)

Converting sounds using SoX

Alternatively, you can also convert various audio format to 16 bits 8 kHz with SoX, using the following command:

sox audiodump.wav -r8000 -b16 audio-8k.wav

Coding with QBOX pro

QboxPro was made to code sounds for the venerable TMS5220 chip that Talkie library is emulating.

It runs only on an ancient system like Window XP or older

Note: it seems that QBOX doesn’t like when the audio starts immediately. In that case the compressed audio is totally inaudible, so adding a little pause before the sound starts helps a lot

Installation

Get the software here : ftp://ftp.whtech.com/pc%20utilities/qboxpro.zip

Don’t forget to install QBOX at the root of the disk : c:\QBOX and to move the QBOXPRO.ini file to c:\WINDOWS

Coding

The process of coding has already been described in detail here : http://furrtek.free.fr/index.php?a=speakandspell&ss=9&i=2

The process goes like this:

  • Create a new project using the following project parameters : Byte / 8 Khz / 5220 coding table
  • Goto Project and add the audio file
  • Choose process using : medium bit rate and pressing OK
  • Edit concatenation : insert concatenation after by adding a name; then insert phrase and press ok
  • Format it by choosing the first line in the format menu : LPC 10V, 4UV

Arduino code

Recuperate the .bin file that Qboxpro has generated This file contains the LPC stream and need to be translated into C++

I use this small Python script to convert the .bin

Simply paste the script’s outputs at their respective places into the Arduino code and upload

Here is an example I generated with the Mac’s say command (note the 0.3-second silent before the speech starts)[edit : it’s fine with 0.1 too]

say -v"Yannick" "[[slnc 300]] Wir sind die Roboter" -r 100 -o roboter.wave

then I converted to the appropriate format using SoX

sox roboter.wave -r 8k -b16 roboter.wav

After the QBOXpro coding and the Python converting, I copied these lines into the Arduino IDE

and here is how it sounds:

Talkie Eurorack Module – Part 2 : Schematic & Pcb

Schematic

Here is the schematic. Nothing really special : A simple RC filter I have used before with the Talkie library and a few pots to fiddle with the various functions. All the entries (cv and gate) are now protected with diodes to allow connections with modulars synths modules using higher voltages. A simple 7 segment to show the current playing mode. I plan to use the dot as the clock led

Talko1 0

PCB

I am ordering 8 Pcb from Beta Layout.
Here is the preview I got by uploading the file to their web site

20141228 0832 bot gold with mask with silk

Software

Added female voice used in the talking clock

New sound demo

Here is the setup : a clock with variable pulse width is triggering the sound and stepping a sequencer feeding cv to the module. A bit of reverb is sometimes added just for fun

More demo on my Soundcloud

Github

You can find all the files (hardware & software) on my Github

Next

  • To share the Mouser cart
  • Module assembly
  • Eurorack Panel design

Talkie Eurorack Module – Part 1 : Concept

Credits

This arduino based module works thanks to a clever library : Talkie from https://github.com/going-digital/Talkie 

I have already used this library to build a Talking clock

It is so simple to use that building a sound module requires only 5 pots and a button to get going.

Software

I have slightly modified the original library to allow hacking it with various pots. The code is hosted on my github I edit the code and library directly from my favorite IDE : UECIDE

Functions

Panel

Mode

For the moment I have added 4 modes or sound banks :

  • digits
  • voltmeter (reading the CV voltage)
  • frequencemeter (fake mode just saying “Hertz” instead of “Volts”)
  • alphabet
  • nato alphabet

I plan to add a 5th mode with a large vocabulary and a 6th mode with weird sounds

CV

CV signal change the words or phrase to be said

Gate

Pressing the button start the complete sound in trigger mode. (regardless of it’s length)
If the trigger switch is off, the gate will start the sound and hold it as long as the gate level stays up. Very useful to create crazy rhythms.

If the cable is plugged in, the gate is triggered via an external signal

Trigger

Choose between trigger mode or gated mode

Bend

If bend is on, the bend pot … distords the sound.

Speed

Change the speed

Pitch

Change the pitch

Sounds

First test of the differents functions. Manual gate via a button

Looping a sequence in Ableton Live to trigger gate & cv while I play with the mode /speed /pitch / bend knobs

Next

I am now working on a PCB and a panel.
I will upload these details and the schematics in a next post.

Arduino talking clock

Talkie
I’ve discovered this great library here https://github.com/going-digital/Talkie 
They have done an impressive job. The library is provided with a large vocabulary.
It is a software implementation of the Texas Instruments speech synthesis architecture (Linear Predictive Coding). It is just amazing to discover what  the atmega168 can do. By the way the library works only with 168 and 328 16MHz based Arduino.
Audio
Just for fun to hear the script counting …

And then the clock saying the time

Hardware
To build this clock you need :

  • An arduino Uno
  • A temporary switch
  • A speaker
  • A DS1307 clock
Talkie clock bb

I plan to add and infrared detector to allow the system to say the time by just waving a hand in the dark.
Code
I have mixed the example code provided in the talkie library to process and say numbers (Volmeter) and the vocabulary from the Vocab_US-Clock example.
The sketch wait for the button to be pressed and then read the clock’s time.
It first greet the listener for the moment of the day (morning,afternoon, evening) and then say the time