Audio Transcriber/Recorder
Audio Transcriber/Recorder is a perl/Tk program designed to transfer audio tapes and lp's to cd's. The target platform is gnu/linux with X windows and has not been tested on other systems.


Requirements:

Sox, Cdrecord, cdda2wav must be in your path (i.e. in an xterm you can type sox or cdrecord or cdda2wav to invoke the respective program). You must have the propper permissions set to use the various programs and files used by Audio Transcriber.

Theory of operation:

The purpose of Audio Transcriber/Recorder is to record large audio streams to a hard disk and then to split that file into smaller samples suitable for burning to cdr media and to burn a cdr, cdrw.

An audio source connected to your sound card(/dev/dsp) supplies an audio stream that is recorded to your harddrive. This audio source could be a radio, tape player, microphone or whatever. This large sample can then be broken down into smaller samples in a suitable format to be burned onto recordable cd media. I want a minimum of effort on my part to do all of this. The basic functionality is:

Audio Transcriber/Recorder is basically a frontend to SOX, CDRECORD, CDDA2WAV. It implements only a subset of these packages functionality in it's interface. You may use more of the functionality of these packages from within this program by editing their "control strings".

The gui uses a tabbed/notebook style to keep the interface as clean as possible. Bubble help pops up to clarify the interface where needed when the mouse hoovers over a control. In the screenshot below bubblehelp is popped up over the control string field.

Screen shot All tabs showing


General Operation guidelines:

  • The program is best started from a terminal window ( /path-to/recorder.pl) so that the output from the various programs it calls can be viewed. In other words the programs output messages are sent to stdout. This is helpful because you can see whats going on behind the gui interface. The messages in the term window are your only clue if there is an error in one of the progams, Sox, CDrecord, CDDA2WAV, that it starts(i.e. sox error /dev/dsp busy) - watch the term window!
  • A little practice with the trim buttons will be very helpfull. You can make your trims as you record the original sample, then go to the Trim/Play Sample tab and fine tune the trims if needed(that's what I do).
  • Turn off sound events in your window manager if you get alot of /dev/dsp busy errors. I have this problem on my RH7.1 gnome/enlightenment system.
  • Uh - How do I get the sound into my sound card from my tape deck, radio, whatever? You can buy a cable that plugs in to the audio-out on your sound device(radio, tapedeck) and plugs into your soundcards audio-in plug, I bought one at radio shack for about $5.00. The audio-out on my radio/tapedeck is the headphones plug.  Don't forget to bring up your audio mixer and enable the audio-in (or line-in). If you can play a sound through your computer speakers you can record it - plain and simple.
SOX setup tab The Sox Setup tab contains fields for entering program wide defaults for sound recording. In this tab you set the Save Name, Save Path, sampling rate and Record format. The fields in this tab are filled in with default values when the program is started. Also these values are used to construct the recording control string and may be edited in the tabs where control string is shown.
Record tab The Record tab has controls to record the incomming audio stream to a harddrive. Once a stream is being recorded the trim buttons become activated. The trim buttons allow you to build a list of trim start==length pairs that you can use to auto-magicaly trim out samples when you are done recording by pressing the "Auto-Magicaly Trim" button. When you automagicaly trim a recording the new samples are named as the original recording with 0n appended (i.e. testa01.cdr, testa02.cdr .... testa09.cdr, testa110.cdr). Under this scheme you can mark your trim samples as you record the original. Just press the Trim Start button to start the trim and press the Set Length button to set the trim length. When the Set Length button is pressed the count list will be updated. Then when you finish recording press the auto-magicaly trim button and youre done, the new samples will be added to the directory specified in the control string and the original sample will be renamed with .BAK appended to the name.
Trim/Play Sample tab The Trim/Play Sample tab has controls to specify the original recording name and the trimmed sample name. When a original name is given pressing the Play Original Sample button will play the sample. Pressing the Set Trim Start button sets the starting point of the trimmed sample. Pressing the Set Trim Length button sets the length of the new trim. These values may be entered directly in the edit boxes if desired. Pressing the Stop playing & Execute Trim Command button records the trim as specified in the start and length fields with the name entered in the Save Trim Name field. Make sure to enter full path names in the name fields.
CD Copy tab The Copy CD tab has fields for entering CDDA2WAV parameters to copy a music cd. There is field at the bottom of the page that shows what the assembled parameters look like that will be passed to the CDDA2WAV program. You update this field by pressing the Refresh copystring button. The Refresh copystring button assembles the information you have entered in the above fields. The control string may be edited directly if needed. All of the entry fields in this tab have balloon help popups. The Rip Tracks NOW button copys the cd according to the parameters that are shown in the control string field.
CDRecord setup tab The cdrecord setup tab has fields to specify the basic parameters for your cd burner.
Burn CD tab The Burn CD tab contains the controls to burn a cd or blank a cdrw. There is a simple clock at the top of the tab to give a reference to the amount of time elapsed(kinda). Enter, in the File string to Burn field, the name of the file you want to burn to cd. The file name should be the full pathname of the file, i.e. /cdimage/testa.cdr or /cdimage/*.cdr (which will write all files in the directory ending with .cdr). You should enter any other nesessary parameters in the File string to Burn field, i.e. -pad -audio /cdimage/testa01.cdr /cdimage/testa02.cdr /cdimage/testa03.cdr .... /cdimage/test110.cdr. When you have your file string to burn field filled in press the Burn CD NOW button to burn the cd media. Please read the cdrecord man page for full understanding of the parameters that may be entered in the File string to Burn field.

At the bottom of the screen there is a Blank RW Disk button. Pressing this button will completely erase a cdrw disk.

If you use the /*.cdr type of format in your File to Burn field don't forget to rename the original sample name to something like 'testa.cdr.bak' so that you don't try to burn all those trimmed samples and the original sample, unless thats what you want to do.

Timer Dialog The Timer Record will start/stop the recording at a specified time. To start the Timer Dialog from the menu file->Timer record.

The timer dialog is a compound widget for starting and stopping a proccess at a specified time. Timer has controls for setting the start and end time as well as start NOW and Stop NOW buttons. The parameters of the process to start may be edited in the control string field. Balloon help pops up over the various items when the mouse hoovers for a fews seconds over the relevant item.

The Timer dialog is opened by selecting 'Timer record' from the File menu. Any number of Timer dialogs may be started. In order to use the timer start or stop you must enter all date info in the same format as in the clock at the top of the window, a complete date. You may choose the Start NOW button and enter End timer Settings. You can press the Stop NOW button to stop the process immediately. You can specify both the Start Timer Settings and the End Timer Settings. When the Timer window is closed any process started from it is also closed.

Note: The timer can be used to start/stop just about any program by editing the 'control string'. It is not limited to the transcriber (where it starts/stops sox).

Context sensitive help is available for any tab that is raised. Show the help for the raised tab by selecting Help for Context off of the Help menu.

Help window screen shot

Help index displayed