Ascii art animation demo program "bb": animation freezes when sound output starts

I installed bb and expected some entertaining ASCII animations with sound as you can see in this video. However, as soon as the music starts, the animation freezes while audio continues playing. If I run it without music, the animation plays as expected (just silently).

bb animation freezes - screenhot

I tried running it from my desktop as well as from a TTY, in both cases the animation freezes as soon as the music starts. I tried setting all switches to "off" in the audio settings dialogue of bb but that didn't change anything either.

My hardware is a quite modern and surely powerful enough notebook running Ubuntu 16.04 with standard Unity desktop.

What could be the cause that bb is not working correctly with audio and is there a way to fix it?


The issue is apparently that bb is not compatible with PulseAudio, which is what Ubuntu uses by default. There is a note about this hidden in a read-me file that comes with the package:

$ cat /usr/share/doc/bb/README.Debian 
BB vs PulseAudio
================

Unfortunately BB does not work under X if PulseAudio is active and
Music is requested. Due to this issue Music in BB is turned off by
default in Debian.

If you have PulseAudio installed and want to show off BB with Music,
you can do that by either:

* switching to the virtual text console and running "bb" there, or by

* temporarily letting PulseAudio release the audio hardware and hiding
  from "bb" the fact that there is a PulseAudio server with the
  following command:

  pasuspender -- env PULSE_SERVER= bb

This issue is tracked in the Debian Bug Tracking System at
https://bugs.debian.org/761023

 -- Axel Beckert <[email protected]>, Sat, 11 Apr 2015 15:22:37 +0200

As described in the question, running bb in a TTY didn't change anything for me though (maybe because the desktop was still running, probably I should have booted into text mode?).

However, the proposed command for letting it bypass PulseAudio worked awesomely well:

pasuspender -- env PULSE_SERVER= bb

You can also just load snd-pcm-oss before running bb:

sudo modprobe snd-pcm-oss

(then bb can be launched normally by typing bb at the command line).