Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Play audio data using libalsa
C++ Ruby
Failed to load latest commit information.
lib Fixed AlsaInput, bugfix for AlsaOutput
.document Created empty library
.gitignore Created empty library
.yardopts Added '.yardopts' file
COPYING Got ALSA output working with new Linux version Updated README with dependencies
Rakefile Separate gem specification
config.rb Update version
hornetseye-alsa.gemspec Separate gem specification


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
Something went wrong with that request. Please try again.