Totally new to the forum. Using the helpful guides online I got as far as debugging a local copy of Audacity.
Now I’m hoping someone with experience can help jump start my project.
Otherwise I can figure stuff out by reading code, placing breakpoints, and walking through the code a lot. This would take quite awhile to start giving results.
In the simplest goals, I’d like to record, generate, or import a sound. Say just a single tone for now. Then:
-Do an FFT and find the primary/average frequency component
-multiply the track into 5 tracks
-time delay some of the tracks
-export or playback the result through 5.1 surround sound
Ideally I could add a menu option to lump these tasks together.
What’s the eventual goal?
Starting with the simplest goal doesn’t do much for you because no matter how you analyze it, a single tone comes out one single frequency or energy blob.
Duplicate a track with Control-D as many times as needed. They stack vertically.
There are ways to export a multi-track show into 5.1 Dolby or other format and I would have to look that one up. Audacity will not play more than two tracks (one stereo) at once.
Then what? You’re holding a Dolby Surround Sound file…
The fact that Audacity can’t playback surround is good to know.
I’ll have to find a way around that.
Otherwise, let me be more specific.
I’d like to be able to find and read the code which handles the things you are describing.
For example if I had a track and used the time shift tool, in what file is that function call?
Or if I open a menu and it displays a list of options, where is the file that defines those options?
Audacity is a large and complex program with about half a million lines of code. The code is split into several hundred files, mostly .cpp and .h files as Audacity is mostly written in C++. The files are sorted into multiple directories. The source code that is directly concerned with building the Audacity application is in the /src directory, which is then subdivided into other directories. For example, the source code for built-in effects can be found in /src/effects.
I noticed that Audacity has ‘chains’ for batch automation of a linear sequence of commands.
This would be perfect, if I could expose some different functionality as commands.
Currently I could accomplish through the GUI:
-Generate a tone #duplicate the track n times
#analyze->plot spectrum, observe the primary frequency #time delay some tracks
-export as surround sound
If I could batch the lines marked with #, it would be progress.