Skip to main content

Stuttering TTS Solved in Stock Raspbian

Stuttering TTS Solved in Stock Raspbian

It has been a while since I wrote any blog posts for this site.

At some time during 2018, a change was obviously made to the sound driver in the Raspberry Pi code, because the stuttering text-to-speech no longer stutters.

I solved the problem for a while with my OMX code and a version of espeakup which I called piespeakup which used it.

But it is no longer necessary to use it.

I will be leaving it on the downloads page in case anybody needs it.

And you never know, the problem may return.

Temporary Removal of Downloads

I have removed the images and other downloads today as a temporary measure while I publish the archive files containing the new method of building the OMX audio code.

I will replace the Raspbian images in a couple of days updated to the newest published image and with console speech running.

I will also be publishing Arch Linux images.

Changes to SSH Security in Latest Raspbian

In the latest release of Raspbian a new addition to security has been made.

Now there will be no SSH server running unless a file exists in the /boot partition. This file can be empty and is just called ssh.

If you are creating an SD card on a Linux machine you can mount the FAT32 boot partition and create the file in there by issueing the command:

touch ssh

This will create a file of zero length.

I can't help thinking this is a bit ridiculous. Especially as the default pi user still has the ability to use sudo without having to enter a password, making pi effectively a root user.

USB Audio

Here's how to change the Pi to use USB audio as the default.

This has proven quite hard to pin down online as things recently changed in the kernel, I think to use something called Device Tree Blocks.

You will find posts online suggesting you change:

  • ~/.asoundrc
  • /etc/asound.conf
  • /usr/share/alsa/alsa.conf

But this method will work for all users, unlike changing ~/.asoundrc.

There is a setting which makes sure that any USB audio dongle you have plugged in is not the default. The device with the number of zero is the default.

Look in:


And you will see a line which reads:

options snd-usb-audio index=-2

That is the line which keeps the USB audio device from being the zero default.

So, commenting it out like this:

#options snd-usb-audio index=-2

And then rebooting will make the USB device the new default.

Of course you will need to use sudo to do this.

Optionally you can also disable the Broadcom audio driver by commenting out a line in:


The line is:


Comment it out:


Now after rebooting you have USB audio and no Broadcom sound driver.

Note that assuming you don't disable the Broadcom sound driver and still want to hear some applications through either HDMI or the the analogue audio jack, you now need to force individual applications to use the on-board sound by providing whatever configs or switches each application needs.

Raspberry Pi Version 3 Released

Today the Raspberry Pi version 3 has been released.

Here is a list of the specifications:

  • SoC: Broadcom BCM2837 (CPU, GPU, DSP, SDRAM)
  • CPU: Quad-core 64-bit ARM Cortex A53 clocked at 1.2 GHz
  • GPU: 400MHz VideoCore IV multimedia
  • Memory: 1GB LPDDR2-900 SDRAM (i.e. 900MHz)
  • USB ports: 4
  • Video input: 15-pin MIPI camera interface (CSI) connector
  • Video outputs: HDMI, composite video (PAL and NTSC) via 3.5 mm jack
  • Audio input: I²S
  • Audio outputs: Analog via 3.5 mm jack; digital via HDMI and I²S
  • Storage: MicroSD
  • Network: 10/100Mbps Ethernet and 802.11n Wireless LAN
  • Peripherals: 17 GPIO plus specific functions, and HAT ID bus
  • Bluetooth: 4.1
  • Power rating: 1A (5.0 W)
  • Power source: 5 V via MicroUSB or GPIO header
  • Size: 85.60mm × 56.5mm
  • Weight: 45g (1.6 oz)

So I guess the most significant things to note are:

  • 64-bit CPU
  • WiFi now included
  • Bluetooth included

I will investigate further today to see if there is any impact on the OMX libraries that have been previously available for the Pi and Pi2 which made my OMX code possible which solved the stuttery TTS with eSpeak.

This version is a different GPU I presume.

My First Zero

My first Raspberry Pi Zero arrived today.

I have immediately fallen in love with it as it is such a cute and dinky little board, and so cheap.

I just need to get somebody to solder in a 40-pin header for me and I'll be ready to rock.

I quite like the idea of using a right-angle female IDC header, so I can plug it straight into a Cobbler like a daughter-board.

Raspberry Pi Zero Released!

Today, the 26th of November 2015, sees the release of the latest version of the Raspberry Pi.
This is the Raspberry Pi Zero.

It is a very cut-down version of the present boards, and at approximately 65 x 30 x 5 millimetres it is significantly smaller than the other versions.

More specifications:

  • No full-sized USB ports
  • No ethernet
  • No composite video
  • No analogue audio
  • Unpopulated 40-pin GPIO bus

What's so exciting about a board that has less? I hear you say.

Well, for one thing, the cost. At about £4 ($5) this is really a throw-away device now, costing less than a pint of beer in most places in the UK nowadays.

The intention is to provide a very low cost version of the Pi, more suitable for use in embedded aplications and robotics than the current versions.

A 40-pin GPIO header can be soldered into place, and yields a bus which is pin-for-pin compatible with the earlier versions, Model + and Model B+ Version 2.

I have added a physical description of the Pi Zero to the 'Getting Started' document on this site.