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.
Thanks in advance for any advice
In the simplest goals
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.
Delay tracks with the Time Shift Tool (two sideways black arrows). I would avoid delaying the first track.
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.
This is probably a bit out of date, but may still be useful: http://wiki.audacityteam.org/wiki/ArchitecturalDesign
And this is unofficial, but may be useful: http://fossies.org/dox/audacity-minsrc-2.1.1/index.html
Thanks for the replies guys.
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.