Wave file read support for Go language
$ go get github.com/yut-kt/gowave
import (
"fmt"
"os"
"github.com/yut-kt/gowave"
)
func main() {
const WaveFile = "XXX.wav"
// Open File
file, err := os.Open(WaveFile)
if err != nil {
panic(err)
}
// Initialization
wave, err := gowave.New(file)
if err != nil {
panic(err)
}
// Read 100000 Samples
samples, err := wave.ReadNSamples(100000)
if err != nil {
panic(err)
}
switch v := samples.(type) {
case []uint8:
case []int16:
fmt.Println(len(v)) // 100000lengthSamples
}
}
See gowave_examples_test.go for detailed Usage
Format
- PCM
IEEE float (read-only)
Number of channels
- 1(mono)
2(stereo)
Bits per sample
32-bit24-bit- 16-bit
- 8-bit
gowave is released under the MIT License.