Play audio data using libalsa
C++ Ruby
Latest commit 8e6b408 May 16, 2015 @wedesoft Update version


Author: Jan Wedekind Copyright: 2012 License: GPL


This Ruby extension provides an interface for playing and recording audio data using the Advanced Linux Sound Architecture (ALSA).


hornetseye-alsa requires the ALSA library. If you are running Debian or (K)ubuntu, you can install it like this:

$ sudo aptitude install libasound2-dev libboost-dev libboost-dev

To install this Ruby extension, use the following command:

$ sudo gem install hornetseye-alsa

Alternatively you can build and install the Ruby extension from source as follows:

$ rake
$ sudo rake install


Simply run Interactive Ruby:

$ irb

You can load and use ALSA as shown below. This example will open microphone and speakers and then write the input of the microphone to the speakers.

require 'rubygems'
require 'hornetseye_alsa'
include Hornetseye
microphone = 'default:0' # or 'default:1' for USB microphone
speaker = 'default:0', microphone.rate, microphone.channels
while true
  frame = 1024
  speaker.write frame