Skip to content

ka10uta/gowave

gowave

v0.1.4 Test coverage Go Report Card
Go Reference license

Wave file read support for Go language

Install

$ go get github.com/yut-kt/gowave

Usage

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

Supported format

Format

  • PCM
  • IEEE float (read-only)

Number of channels

  • 1(mono)
  • 2(stereo)

Bits per sample

  • 32-bit
  • 24-bit
  • 16-bit
  • 8-bit

Reference wave format

License

gowave is released under the MIT License.

About

Wave file read support for Go language.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published