Thanks for finding the ‘legal’ way to get the server response and a nice point about passing the UID parameter from client to server.
To give some background in this thread, I’m working for an Association without lucrative purpose, making audio books for blind, impaired vision people or people with some other kind of disabilities.
The books are divided in tracks with lengths that are easy to manage for the final user. This parts will be the tracks to burn into CD’s.
We have several readers who get the book with the list of ‘tracks’ . They record the audio into several files (to make the reading process less tiresome and to stop the reading when they make an error) . These files are then sent for editing
The editor (i am also one) check, clean, cut and append the different files in one track AND insert at the beginning of the track a ‘Track identification’ which is a short audio (with music) describing the track number.
Then all the ‘book’ edited pass a final check and normalization of the audio. The main software used is Soundforge and also some use audacity.
We are all volunteers and mostly with a basic or sometimes none knowledge in computing. I am one exception as I have been programming for a long time (nowadays mostly in C and Python). I had a master in AI and it was there where a i ‘learned’ Lisp, (long time ago) so for all this I get promoted to final-corrector (lucky me).
So, between other checks, I do the filtering of the tracks but avoiding to touch the ‘track identification’ piece, otherwise this part gets ‘ugly’ when applying compression.
(Dynamic compression filter from Chris Capel et al., best filter out there for speech, thanks everyday. )
It’s absolutely necessary to do that? … the devil is in the details, and for the people listening i think we can go the extra mile.
About the ‘technical part’, this ‘intro’ piece contains an audio of variable duration (generally below 7seconds) padded with 2 seconds silence at the start and aprox 2 seconds silence at the end (depends on the editing job).
To bypass this first part you must select the track from the point between the end of the ‘intro’ and the start of the actual reading. Manually is easy but time consuming (and boring) when you get lots of files.
Other solutions considered: Do the the filtering before inserting the ‘intro’, but it will do more harm than good because the editors aren’t prepared to do it. Doing it after, will be messing with the editors well established process and me scripting anyway.
So at first I’ve been doing this with the help of python, ffmpeg and AU. Ffmpeg to cut the desired part then get AU to apply the filter chain and finally concatenated all with ffmpeg. Cumbersome but It worked well.
Recently I invested a little more time to reunite some scripts I’ve written to do other tasks for the job (tag’in the files, volume optimizing etc) inside a Python gui so I decided to learn the nyquist/macro way to optimize the filtering part, and that’s why i landed here.
Now the mod-scripting and the macro ways work but (sorry to say) in their convoluted way.
The End (for now…)
Sorry to get so long (you asked)