Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mccoyst/vorbis
A "native" ogg vorbis decoder for Go (uses inline stb_vorbis)
https://github.com/mccoyst/vorbis
Last synced: 3 months ago
JSON representation
A "native" ogg vorbis decoder for Go (uses inline stb_vorbis)
- Host: GitHub
- URL: https://github.com/mccoyst/vorbis
- Owner: mccoyst
- License: other
- Created: 2013-07-12T02:45:39.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-08-18T17:02:41.000Z (10 months ago)
- Last Synced: 2024-01-17T06:48:18.171Z (5 months ago)
- Language: Go
- Size: 101 KB
- Stars: 32
- Watchers: 4
- Forks: 6
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- fucking-awesome-go - :octocat: vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). :star: 9 :fork_and_knife: 3 (Audio/Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - | (Audio and Music)
- awesome-go - vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio/Music)
- awesome-go-with-framework - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio/Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (<span id="音频和音乐-audio-and-music">音频和音乐 Audio and Music</span>)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go. - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go-cn - vorbis - "原生" Go Vorbis 解码器 (使用 CGo, 但是没有其他依赖). (音频和音乐)
- awesome-go - vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio/Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music / Contents)
- awesome-Char - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music / Contents)
- awesome-reader - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- go-awesome-cn-star - vorbis
- awesome-go-handwritten - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - A "native" ogg vorbis decoder for Go (uses inline stb_vorbis) - ★ 22 (Audio and Music)
- awesome-go2 - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). - :arrow_down:1 - :star:9 (Audio and Music)
- awesome-go - vorbis - "Native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio and Music / Contents)
- awesome-go - vorbis - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). (Audio/Music)
- awesome-go - vorbis - "原生" Go Vorbis 解碼器 (使用 CGo, 但是沒有其他依賴). (音頻和音樂)
- awesome-go-cn - vorbis
- awesome-go-cn - vorbis
- awesome-go-cn - vorbis
README
vorbis
======[![GoDoc](https://godoc.org/github.com/mccoyst/vorbis?status.svg)](https://godoc.org/github.com/mccoyst/vorbis)
This Go package provides a "native" ogg vorbis decoder, but still requires cgo, as it uses inline code from [stb_vorbis](http://nothings.org/stb_vorbis/). Someday, it won't.
The package exports a single function:
var data []byte
…
samples, nchannels, sampleRate, err := vorbis.Decode(data)
This corresponds to `stb_vorbis_decode_memory()`, but is a little different. Samples is a `[]int16`, corresponding to stb's dynamic array of shorts if you're on the right platforms. The samples seem to be stored native-endian, but I haven't tested many vorbis files. Nchannels is the number of channels, which are interleaved in the samples slice. Err is non-nil if the data is not an ogg vorbis stream according to stb.