You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The package provides Go bindings for OggVorbis encoder/decoder reference implementation from Xiph.org.
All the binding code has automatically been generated with rules defined in vorbis.yml.
Usage
$ go get github.com/xlab/vorbis-go/vorbis
$ go get github.com/xlab/vorbis-go/decoder
(optionally if you need a quickstart in decoding)
Examples of usage: an implemented OggVorbis decoder for Go programming language.
Demo
There is a player implemented in Go that can read OggVorbis files and play them via portaudio-go. So you will need to get portaudio installed first.
$ brew install portaudio vorbis ogg
$ go get github.com/xlab/vorbis-go/cmd/vorbis-player
$ vorbis-player https://dl.xlab.is/music/ogg/cloud_passade_3.ogg
╭─────────────────────────────────────────────────────────────╮
│ FILE INFO │
├─────────────┬───────────────────────────────────────────────┤
│ TITLE │ Cloud Passade No. 3 │
│ ARTIST │ Lubomyr Melnyk │
│ DATE │ 2013 │
│ COMMENT │ Visit https://unseenworlds.bandcamp.com │
│ ALBUM │ Three Solo Pieces │
│ TRACKNUMBER │ 3 │
│ ALBUMARTIST │ Lubomyr Melnyk │
│ ISRC │ USVML1311003 │
├─────────────┼───────────────────────────────────────────────┤
│ Bitstream │ 2 channel, 44100.0Hz │
│ Encoded by │ Xiph.Org libVorbis I 20140122 (Turpakäräjiin) │
╰─────────────┴───────────────────────────────────────────────╯
Playing...
Rebuilding the package
You will need to get the cgogen tool installed first.
$ git clone https://github.com/xlab/vorbis-go && cd vorbis-go
$ make clean
$ make
About
Package vorbis provides Go bindings for OggVorbis implementation by the Xiph.Org Foundation.