Kaiwa Vox: new Kraftor firmware and Kaiwa Designer

Kaiwa Vox has a new Kraftor firmware and a dedicated browser-based Designer. Turn Japanese phrases into a robotic voice, shape their delivery, and play them from a MIDI keyboard or sequencer.

The release pairs Kaiwa firmware 1.0.2 with Kaiwa Designer 1.2. It is made for Kraftor fitted with a Kaiwa Vox board.

Write the words, shape the voice

Open Kaiwa Designer in Chrome or Edge on a desktop computer and connect Kraftor over USB. Enter Japanese in romaji, using Latin letters and the AquesTalk phonetic notation, then press Speak to hear the hardware.

Four controls change the delivery: Speed, Pitch, Accent and Vowels. Short phrases can become clipped robotic speech or slow, stretched chants. The Heart Sutra example in the user manual is a starting point for exploring the longer vowel settings.

Build a phrase bank and play it over MIDI

Edit 20 temporary RAM phrases, or store up to 100 phrases with the optional RC256 FRAM. Fill a bank from pasted text and print a MIDI reference sheet for the saved phrases. USB MIDI or Kraftor’s TRS MIDI Type B input can trigger playback and control the voice.

Clearer limits and explicit FRAM formatting

Designer 1.2 checks the phrase length after vowel elongation and shows the highest Vowels setting that fits. If a phrase would exceed the chip’s 127-byte limit, it suggests reducing Vowels or splitting the phrase.

Firmware 1.0.2 preserves unrecognized FRAM data at startup. The Designer’s Format FRAM button lets you explicitly create an empty Kaiwa bank when switching firmware. Formatting erases the existing FRAM contents, so back them up with the original firmware first.

Open Kaiwa Designer · Download the Kraftor firmware · Read the user manual




Console now has a talking head

Console now has a talking head. The latest version adds an animated 3D face to the browser-based visual companion for hardware speech synthesis.

In this demo, my DAW controls RoboVox inside Kraftor via MIDI. Kraftor sends the phoneme names over serial to Console, where a lookup table maps each phoneme to a mouth shape, called a viseme. The head follows the incoming phoneme stream as RoboVox speaks.

DAW → MIDI → Kraftor / RoboVox → Serial → Console

Choose a wireframe or shaded face, turn the head, adjust its size, or switch to a mouth close-up. The audio-reactive scope can run behind the head, combining the waveform with the facial animation.

Console runs directly in the browser, and its source code is available on GitHub. Use a Web Serial-compatible browser, such as Chrome or Edge, to connect to the hardware.

Try Console · Source code · Kraftor




VAX firmware update: MIDI voices and live text output

The VAX firmware update brings full-range MIDI voice selection and live text output to Kraftor. CC16 selects all nine DECtalk voices across values 0-127, with each voice keeping its natural settings until you adjust them. Spoken sentences are also sent over USB serial for display in Console.

The remote controller in this demo is my new Teletype. It plays Kraftor running the VAX firmware, triggering saved DECtalk phrases over MIDI and shaping their voices with the controller knobs.

VAX now sends the spoken sentence back over USB serial. Console receives the text, removes the DECtalk commands from the display, and turns the words into large text with visual effects. The performance in the video is live.

The updated VAX Designer runs in your browser. Write a sentence, choose and shape its voice, audition the result, then save it to Kraftor. Saved phrases can be played over MIDI without the Designer connected.

Console is an optional visual output. Its word slicing follows an estimated speech rate rather than detecting words in the audio.

VAX firmware and tools · Teletype MIDI controller · Console software




Meet Teletype: hands-on MIDI control for Kraftor

Meet Teletype, a compact MIDI controller for playing synthetic voices with your hands. Five hinged keys trigger sounds and phrases, while four knobs let you shape the performance. It is designed as a companion for Kraftor, and also works with compatible MIDI instruments and software.

Blue Teletype MIDI controller beside Kraftor
Teletype with Kraftor. Kraftor is sold separately.

A small controller with room to play

Two bank switches give the five keys access to 20 note assignments. Set up one bank for phonemes, another for allophones or stored phrases, and use the knobs for parameters such as pitch, speed or modulation. The available sounds and controls depend on the voice board and firmware in your instrument.

Each knob can send a MIDI Control Change message or pitch bend. The keys and knobs have independent MIDI channels, so note triggers and continuous controls can address different parts of your setup. The keys send short triggers; holding a key does not sustain a note.

Configure once, then play

Open the Teletype browser interface in desktop Chrome or Edge to choose notes, knob assignments and MIDI channels. Apply your changes and save them on the controller. The settings survive power-off, and the interface is no longer needed once setup is complete.

For a hardware setup, power Teletype by USB and connect its Type B TRS MIDI output to your instrument with a suitable cable. You can perform without a computer. USB MIDI also lets Teletype control software, and the optional browser Monitor view shows incoming MIDI as you play.

Choose your colour

Teletype is available in red, beige, black, white, blue, green and orange. It weighs 160 g and ships from Belgium. The photos show the blue version.

The firmware source, documentation and ready-to-flash UF2 are available on GitHub. Firmware updates can be installed with the browser uploader, without compiling.

Explore Teletype and choose your colour →




SN76489 arduino shield – part 1 testing the chip

I always loved to play with sound making chip back in the ’80 (I made a synthesizer with the SN76477 in `79 which is sill working)
Today it is still possible to buy some SN76489 on ebay and a few website are decribing how to connect the chip to an Arduino.
The most advanced code is offered by http://little-scale.blogspot.be/ for the Teensy and for the Arduino

Clock

The SN76489 needs a clock signal that must be provided by an external oscillator. As I coudn’t find one, I decided to program an Attiny45 to do the job.
I remembered that Elektor had provided such a solution before : http://www.elektor.com/magazines/2011/july-047-august/mhz-oscillator-using-an-attiny15.1852252.lynkx
The code offered here is for the Attiny15 but the Attiny45 can be configured into an Attiny15 by programming the CKSEL fuses to ‘0011’ (see the datasheet)
The AVR assembler code need to be slightly adapted to calibrate the timing of the signal with the help of a frequency counter. I plan to play midi note in tune with other devices, but if you don’t need an exact tuning you can use the file as it is : the Attiny45  is providing a clock signal at around 2Mhz on pin 6.
I am using gasvr on the Mac to assemble the .asm file into an .hex that it uploaded to the Attiny with AVRfuses.
(Download the compiled clock file here and rename the it to clock.hex and use it to flash the ATtiny45)

Wiring

Connecting the Arduino and the SN76489 is described in the Arduino code here
Testing
Now we need to send midi data to the Arduino via the usb port
There is ready made solution for Mac, Windows and Linux : the Hairless midi to serial bridge !
(Don’t forget to adapt the baud rate in the preferences to the one you are using in the Arduino code)
If you don’t have midi sequencing program you can use midi virtual keyboard like : http://vmpk.sourceforge.net
Here is a first sequence I sended to the chip with Ableton live (a midi file found here http://efmidi.com :




Arduino midi in interface

Took me quite a while to finalize my midi in interface !

A lot of time wasted because I used a MCT2 optocoupler with  the “standard” 200 ohms resistor on the incoming signal.

The output form the optocoupler to the arduino was quit weak (thanks to my old oscilloscope). I finally found the solution in the  MCT2’s data sheet : the input LED needs a 60 mA current ! (as opposed to the 25 mA for the more classical 6N13x series). You can use a 100 ohms resistor : it works fine.

NewImage

I also wrote a little sketch to test the MIDI library : the led (attached to pin 3) blinks if a NoteOn, Program Change or a  Controller change is received.

You can also attach a piezo to pin 3 to play the note received

There is still a problem I have to solve : the library doesn’t responds directly after reset : it need to receive a program change first or a controller change before reading any data. Any ideas why ?