https://github.com/xlab/vorbis-go
Package vorbis provides Go bindings for OggVorbis implementation by the Xiph.Org Foundation.
https://github.com/xlab/vorbis-go
Last synced: about 1 year ago
JSON representation
Package vorbis provides Go bindings for OggVorbis implementation by the Xiph.Org Foundation.
- Host: GitHub
- URL: https://github.com/xlab/vorbis-go
- Owner: xlab
- Created: 2016-01-10T16:54:07.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2021-09-11T20:23:51.000Z (almost 5 years ago)
- Last Synced: 2024-06-18T18:51:59.374Z (about 2 years ago)
- Language: C
- Size: 56.6 KB
- Stars: 24
- Watchers: 5
- Forks: 7
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
vorbis-go 
=========
The package provides Go bindings for OggVorbis encoder/decoder reference implementation from [Xiph.org](https://www.xiph.org).
All the binding code has automatically been generated with rules defined in [vorbis.yml](/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](/decoder) for Go programming language.
### Demo
There is a player implemented in Go that can read OggVorbis files and play them via [portaudio-go](https://github.com/xlab/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 http://dl.xlab.is/music/ogg/cloud_passade_3.ogg
╭─────────────────────────────────────────────────────────────╮
│ FILE INFO │
├─────────────┬───────────────────────────────────────────────┤
│ TITLE │ Cloud Passade No. 3 │
│ ARTIST │ Lubomyr Melnyk │
│ DATE │ 2013 │
│ COMMENT │ Visit http://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](https://git.io/cgogen) tool installed first.
```
$ git clone https://github.com/xlab/vorbis-go && cd vorbis-go
$ make clean
$ make
```