1) CLI = Command Line Interfacetrym wrote:First a couple of questions:
1) What is CLI?
2) Are you compiling this in a Linux (Unix) environment, or is this on a Windows platform?
3) What compiler are you using?
4) I studied your other answer to brian. Can AutoIt3 be used to input commands to Audacity?
2) I am compiling on Windows 7 but from what I can see nothing that I have done so far is platform specific and should compile and run on all three platforms.
3) Microsoft Visual C++ Express 2008 (Audacity will not compile yet with 2010)
4) I use AutoIt3 for a number of scripts but I wrote them all years ago -- I use Dragon NaturallySpeaking Pro (a speech recognition program which is very expensive) for most of my scripts -- let me take a look at AutoIt3 and get back at you later with the answer to this question.
0) start CLI and CD into data directoryHere is the preferred part of your initial algorithm, with my proposals in between:
THE: I would assume that we are in the data directory initially
efm5 - I try not to make assumptions like this. Frequently I will be processing large numbers of files and they are not always in the same data directory; here is an example of a script which I might run:
Code: Select all
]
cd "D:audioKCEA25Aug2010"
"D:audioAudacityunattendedCLISVNwinUnicode ReleaseAudacity.exe" -dounattended "D:audioKCEA25Aug2010Wed Aug 25 0015 2010.mp3" > errors.txt
"D:audioAudacityunattendedCLISVNwinUnicode ReleaseAudacity.exe" -dounattended "D:audioKCEA25Aug2010Wed Aug 25 0730 2010.mp3" >> errors.txt
cd "D:audioKCEAAug201024Aug2010"
"D:audioAudacityunattendedCLISVNwinUnicode ReleaseAudacity.exe" -dounattended "D:audioKCEAAug2010\24Aug2010Tue Aug 24 0035 2010.mp3" > errors.txt
"D:audioAudacityunattendedCLISVNwinUnicode ReleaseAudacity.exe" -dounattended "D:audioKCEAAug2010\24Aug2010Tue Aug 24 0800 2010.mp3" >> errors.txt
You will see that a new errors.txt file is created after I change directories and that error information is appended.
1) launch Audacity with an audacity project file as the first (input) argument which will be "opened"
THE: Good. This is what we want.
a. do we want to hard code the result?
THE: To make it simple: The result could be another Audacity project file, with the same name as the input, i.e., we overwrite the input project. Eventually I want to do track splitting by the Silence Finder, as you describe below and then export as a flac. But to make it this step simple, let's constrain ourselves to do the resampling and saving only.
i. will the result be another Audacity project or a WAV/MP3/M4A/etc. file
THE: No, see answer above
ii. will the result's file name be derived from the input argument of do we want to specify an output name?
THE: Yes, see proposal under a.
efm5 - I would strongly recommend not overwriting -- it is very easy to append something to the original name. I would never trust my data to unattended manipulation!
b. are we going to assume the input is a fully qualified file name (not a Window shortcut which can cause problems for Audacity)
THE: Not sure what you mean by this. I think we could assume a "fully qualified file name".
efm5 - Trust me on this -- let's stick to a "fully qualified file name"!
2) process the track to determine split points
THE: Omit this point for now, to make it simple
efm5 - This is what I've been working on today for my own use.
a. The Silence Finder (Analyze menu) will do this but we will have to determine the right settings and hard-code them as the defaults (I have done this for the multitude of tapes and LPs I converted into single tracks using M4A as the resulting file type)
efm5 - I spent a lot of quality time with the Nyquist SilenceMarker plug-in today. One important thing I learned is that I needed a much finer granularity in the settings; here's what I came up with:
Code: Select all
;control sil-dur "Minimum duration of silence [seconds]" real "" .04 0.01 5.0
;control labelbeforedur "Label placement [seconds before silence ends]" real "" 0.01 0.0 1.0
3) process to convert from 45 -> 33 1/3 rpm
a. I have seen reference to this as something Audacity can do, but am clueless as to the steps involved. You would have to send me a small project which needs converting and tell me exactly (in excruciating detail) how to perform this task.
THE: This is not hard at all. I have never used Audacity, but I was able to figure this out quite easily:
The whole project is saved as a single track.
i. So to mark every thing, hit "Ctrl A"
ii. For resampling from 45 to 33 rpm: Do Effect-> Change Speed. Then a dialog box appears. In this dialog we need to put "33 1/3" in the "To" box and "45" in the "From" box, and then hit "ok". This will issue the resampling process, with a progress bar for which we need to wait until it exits.
b. now that I think about it, the silences we use in #2 will be longer after the rpm conversion so we might want to convert rpm first
THE: Not applicable with this approach. Proposal is to not use Silence Finder
efm5 - The effects are almost all Nyquist plug-ins-- this makes the life little more difficult because we cannot easily call them without the dialog box -- obviously for unattended operation we may not have a dialog box -- everything must be hardcoded. I just looked at these Change Speed effect code and I think I can figure out how to call it without dialog led me play with it for a while...