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.
defer audacity.ClosePipes()
// some code, e.g. a loop
path := "D:/audio/myfile.m4a"
audacity.RemoveTracks() // clear the project
audacity.Import(path) // import the file
audacity.SelectAll() // select all for noise reduction to be applied
audacity.NoiseReduction() // apply noise reduction
audacity.Normalize() // normalize the audio
target := 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!