Skip to content
A little package that brings sound to any Go application. Suitable for playback and audio-processing.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
effects
examples examples: add Doppler Stereo Room Mar 4, 2019
flac fix goreportcard problems Mar 3, 2019
mp3 fixed typo Sep 2, 2018
speaker Mixer: rename Play to Add Feb 28, 2019
vorbis Fix error inconsistency Jul 28, 2018
wav fix goreportcard problems Mar 3, 2019
LICENSE Initial commit Jul 14, 2017
README.md
buffer.go
buffer_test.go add convenient SampleRate type and replace all time.Duration with num… Jul 23, 2017
compositors.go add test for Loop and fix a bug in it Mar 6, 2019
compositors_test.go
ctrl.go
go.mod add support for Go Modules Mar 6, 2019
go.sum
interface.go
mixer.go Mixer: rename Play to Add Feb 28, 2019
resample.go
resample_test.go
streamers.go

README.md

Beep GoDoc Go Report Card

A little package that brings sound to any Go application. Suitable for playback and audio-processing.

go get -u github.com/faiface/beep

Features

Beep is built on top of its Streamer interface, which is like io.Reader, but for audio. It was one of the best design decisions I've ever made and it enabled all the rest of the features to naturally come together with not much code.

  • Decode and play WAV, MP3, OGG, and FLAC.
  • Encode and save WAV.
  • Very simple API. Limiting the support to stereo (two channel) audio made it possible to simplify the architecture and the API.
  • Rich library of compositors and effects. Loop, pause/resume, change volume, mix, sequence, change playback speed, and more.
  • Easily create new effects. With the Streamer interface, creating new effects is very easy.
  • Generate completely own artificial sounds. Again, the Streamer interface enables easy sound generation.
  • Very small codebase. The core is just ~1K LOC.

Tutorial

The Wiki contains a handful of tutorials for you to get started. They teach the fundamentals and advanced topics alike.

Examples

Speedy Player Doppler Stereo Room
Speedy Player Doppler Stereo Room

Dependencies

For playback, Beep uses Oto under the hood. Check its requirements to see what you need to install for building your application.

Running an already built application should work with no extra dependencies.

Licence

MIT

You can’t perform that action at this time.