Skip to content
/ vorbis Public

A "native" ogg vorbis decoder for Go (uses inline stb_vorbis)

License

Notifications You must be signed in to change notification settings

mccoyst/vorbis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vorbis

GoDoc

This Go package provides a "native" ogg vorbis decoder, but still requires cgo, as it uses inline code from 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.

About

A "native" ogg vorbis decoder for Go (uses inline stb_vorbis)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages