This go package lets you control Audacity by using scripting/macros.
import audacity "github.com/MarkRosemaker/audacity-go"After your program is done using all the Audacity commands, make sure to call ClosePipes() to close the pipes to and from Audacity.
deferaudacity.ClosePipes()
// some code, e.g. a looppath:="D:/audio/myfile.m4a"audacity.RemoveTracks() // clear the projectaudacity.Import(path) // import the fileaudacity.SelectAll() // select all for noise reduction to be appliedaudacity.NoiseReduction() // apply noise reductionaudacity.Normalize() // normalize the audiotarget:=strings.Replace(path, ".m4a", ".mp3", 1)
audacity.Export(target) // export the project to mp3 (or whatever extension target has)This repository is not fully done nor sufficiently tested.
To be done:
- connecting to pipes on a windows system
- implementation of universal
Command(cmd string, args ...string) Responsefunction - implementation of basic commands
- implementation of more commands
- automatic starting of Audacity if it's not running, i.e. pipes are not found
- testing and implementation with non-windows system
Pull requests are very welcome!