alac-go

February 26, 2017 ยท View on GitHub

The package provides Go bindings for ALAC decoder (C version by David Hammerton) with community patches.
All the binding code has automatically been generated with rules defined in alac.yml.

Usage

$ go get github.com/xlab/alac-go/alac

Demo

There is a player implemented in Go that can read M4A ALAC files and play them via portaudio-go. So you will need to get portaudio installed first. 03-Morcheeba-Otherwise.m4a direct link.

$ brew install portaudio
$ go get github.com/xlab/alac-go/cmd/alac-player

$ ./alac-player 03-Morcheeba-Otherwise.m4a
ALAC header: 616C616300000000000010000010280A0E0200FF000034DF000DBCB40000AC44
Audio duration: 224.026s
[==>-----------------------------------------------------------------------------------------------------------------] 2.20 %

Rebuilding the package

You will need to get the c-for-go tool installed first.

$ git clone https://github.com/xlab/alac-go && cd alac-go
$ make clean
$ make