Recorder7 Manual (version 3.75) ------------------------------- by Grekim Jennings Recorder7 is a console based multitrack recorder and player for Linux. Contents: 1. Features 2. Current Limitations 3. Installation 4. Setup 5. About the Files 6. Transport 7. Editing the Parameters File 8. Checking Play and Record Assignments 9. Peak Monitoring 10. Metering 11. Punch-In Recording 12. Crossfades 13. Preroll 14. Auditioning 15. Post-Record Options 16. Preemptive Take Naming 17. Memory and Transport Time Copy Functions 18. Overdub Timing Compensation 19. Mixing During Playback 20. Mixmodes 21. Soloing Tracks 22. Mixing: Bounce-To-Disk 23. Choosing Recordlists and Playlists 24. Assigning Channels to Busses 25. Setting Bus Volumes 1. Features: ------------ - 256 channels and 64 stereo output busses - A single-threaded, efficient engine designed for stability - A unique design where audio is recorded to temporary files and integrated into the main recording files only if you approve the take. Several convenient take handling options are available. - A practical approach to file management where you are not left with hundreds of small unsynced regions that depend on a host program. - There is no traditional project file to worry about opening in the future or becoming corrupted. The project can be maintained as synced (from time zero) wave files at all times and is therefore importable into any recording or mixing program, being essentially in an archive format already. - Storage of all settings to an easily editable parameters text file. - Simultaneous playback and recording. - Punch-in capability with auto-mute. - ALSA is the only dependency. - Program launches in milliseconds and you can be recording in less than 1 second. - Program will read and save to a parameter setup file to instantly load user preferences. - Built-in mixer of source files to outputs 1 and 2 allows for mixing of many files to stereo output for reference - Export mix to wave file - Optional tempo mode displays all timing information in bars and beats - 64 nameable locate points and range points - Nudging of playback start, stop and record start times - Automatic crossfades of new material with existing material - Master fader and bus volumes 2. Current Limitations: ----------------------- - There is no audio editor or effect processing. Consider Mixer4 as an option for post-recording mixing or mastering with processing. - Playback and recording in 24-bit mono .wav format only. This means that to play or record a stereo piano track, for example, you might use a naming format such as pianoL.wav and pianoR.wav. - There is no undo button so operations are generally destructive. - No visual timeline other than a clock to aid in punch-in selection. - Recording and playback, once initiated, cannot be interrupted until the user set stop-time without killing the program. However, relaunch is nearly instantaneous. 3. Installation: ---------------- You can place the Recorder7 binary in a working directory of your choice (such as directory of the song you are working on) and in a terminal type ./recorder7_32bit, for example. You will need a plain text editor such as nano, leafpad, gedit, emacs to edit the controlling text files. You may also move the binary to a general applications folder such as /usr/bin and start it in the command line (without the ./) like any other application. In this case, you will still want to be in your working directory when you launch it so that recorder7 can find the controlling text files (see below). 4. Setup: --------- 1. The param.txt file: When you run Recorder7 without a param.txt file in your current directory, you will be asked how many channels you want to use, the soundcard device name, and the sample rate. This will build a basic param.txt file for you and get you recording quickly. You can add further options to this file. See the section called "Setting Up a Remote Preferences file". It is recommended you set the soundcard device name to plughw:0,0 or plughw:1,0 based on the output from the "aplay -l" alsa utility. Beginning version 3.6, you have the option to specify separate numbers of audio interface input channels and output channels. You can also specify the maximum number of track channels you might need to mix or read from disk. For example, you can easily setup an interface with 4 input channels and 2 output channels, and mix and play 24 audio tracks. If only one parameter is specified then the others will be the assumed to be the same. For example, if you only specify 8 inputs, then 8 outputs and 8 read/write tracks will also be assumed. 2. The play.txt file: Create a file called play.txt and make a list of all the wave files you wish to play at once, placing one file on each line. They must be 24-bit mono .wav format. My utility called Wavesplitter will convert a stereo wave file into two mono ones. The wave file on the first line will be assigned to channel 1 of your soundcard. The file on the second line will be assigned to channel 2 and so on. Recorder7 will ignore any files after the number of lines that correspond to the maximum number of tracks that you choose for the project. To skip a channel place a dash, "-", on that line instead of a file name. In other words, to send audio to soundcard channels 1 and 3 and not to channel 2, in your text file, put wave file names on lines 1 and 3 and a dash on line two. For example in the play.txt file type, vocal.wav - guitar.wav If you are starting the project from scratch, you can create the play.txt file, but leave it blank. An easy way to do that is type "touch play.txt" in the terminal. Starting in version beta 3.2, the dash can also be used to mute a channel by placing it in front of a filename in the play.txt file. Guitar is muted below. -guitar.wav bass.wav vocal.wav 3. The record.txt file. This will contain the list of wave file names for the tracks you are recording. The rules described for the play.txt file apply to the record.txt file. If you are recording with soundcard channel input 3 only, for example, lines one and two must have a dash, "-", on them. When you start a project you will need to enter a wavefile name on the line number corresponding to the input channel you want to record. Starting in version beta 3.2, the dash can also be used to disarm a recording channel by placing it in front of a filename in the record.txt file. In the following example, guitar.wav is assigned to soundcard input 1, but it is disarmed because of the dash. Bass.wav and percussion.wav are assigned to inputs 2 and 3 below: -guitar.wav bass.wav percussion.wav 5. About the Files: ------------------- The program reads your record and play lists immediately before starting playback or recording, so that you can rearrange or change names in your play and record lists between takes! There are also commands (lp and lr) to view how your lists have been read by the program so you can verify channel assignments. You must save your record.txt and play.txt files before any changes will take effect. Be sure to remove or change the file names from the record.txt list once you have a recording you like. You may safely copy the file names to a point in the text file after the last channel position if you want to revisit the same files without retyping their names. Starting with version beta 3.2, the names can be left in place and a dash, "-", used to disarm a channel. It is crucial to remember that if any file name exists on a line in the record list (and it is not on a line after the number of tracks you specified) and it is not disarmed, then the program will record audio to a new temporary file. The temporary files will be in your working directory with a name starting with temp. After a recording finishes, the program will take these temp files and rename, delete, or insert them into the file names in your record list depending on your choice. If you forget to remove or change a file name in the record list, but you just made a recording that you like, but you also like the recording that exists with the file name in the record list, there is a way around the problem. When the recording stops you will have several naming options to allow both the old recording the new recording to be preserved. The only command not to choose in this case is "rep" which will replace your old recording. Therefore, when using the rep (replace) or ins (insert) commands, be sure that you have removed any files that you wish to keep intact from the record list before starting a new recording pass. Choose other options to allow you to rename the take and keep both old and new recordings (see below). 6. Transport ------------- You are able to set start, stop, and record enter times with the commands 'i', 'o', and 'e'. Beginning in version 2.75 you can enter the value in the same line as the command. For example, 'i35.7' sets the playback start time to 35.7 seconds. If you are in tempo mode, meaning you are using bars and beats, then the bars and beats are separated by period. 'o16.3' sets the playback stop time to measure 16, beat 3. Once playback or recording is initiated, it cannot be stopped until the time you have chosen. An audition mode allows you to check the start, stop, and record enter times before doing anything important. Normal playback is started with the 'p' command. Recording while monitoring playback is started with the 'r' command. The 'R' command will record without playback and would generally be used for recording the first track or a live concert. Other types of recording such as preemptive take naming, and recording with pre-roll are described separately below. 7. Editing the Parameters File: ------------------------------- If Recorder7 cannot find a file called "param.txt" it will create one automatically and ask you for project samplerate, recording device, and number of channels. This will be created in the working directory. You can edit this file before you run Recorder7 to adjust things such as soundcard and Alsa buffer size. When editing, one keyword is on each line and a tab between the parameter name and its value. This file can also be saved live from the interface. It is read only once when you start Recorder7 and further changes are stored in RAM until you choose to save them. Most settings can be adjusted after you start Recorder7 and will be written to this file when you save. Settings that cannot be changed after starting the program include samplerate, maximum channels, audio interface input/output channel count, recording buffer size, and soundcard device name. The stored parameters are: 'sr' to set the sample rate 'inputs' to set the number of audio interface input channels 'outputs' to set the number of audio interface output channels 'ch' to set the max number of channels to read/mix/record to/from disk 'dv' to name the audio hardware device (ie. plughw:0,0 or plughw:1,0) 'i' to set the default play/record start time in samples 'o' to set the default play/record stop time in samples 'e' to set the default punch-in record time in samples 'mem' to set the memory time in samples 'clock' (tab) hc to hide the clock 'clock' (tab) sc to stream the clock 'peak' (tab) np to prevent peak monitoring during recording 'buf' to set the buffer size in samples. Use powers of 2 such as 256 or 1024. 'int' (tab) 0 to hide commands while program is running for a simpler interface. 'odcomp' to adjust overdub timing compensation (see below). 'meter' to set meter range (-120 to -6 dB) 'mix' to set mix mode. 0 is off and 1 is on. 'tmode' to use tempo mode (display bars and beats). 0 is off and 1 is on. 'tempo' to set the song tempo 'sig' to set the time signature. 3 for 3 beats per measure, etc. 'v' to set channel volume. Followed by channel and dB value 'p' to set channel pan. Followed by channel and value between -100 and 100. 'nudge' to set nudge amount in seconds 'proll' to set preroll amount in seconds 'loc' to set a locate time (in samples) followed by its name 'range' to set a range time: in and out points (in samples) followed by its name 'play' followed by a number 1-128 and a playlist name 'rec' followed by a number 1-128 and a recordlist name 'bus' followed by bus number, tab, then channels assigned (comma separated) 'xfade' followed by width in milliseconds 'busvl' followed by bus number, tab, then volume in dB 'aud' is followed by the playback audition length in seconds. 8. Checking Play and Record Assignments: ---------------------------------------- Before starting a recording it is usually a good idea to double check how input and output channels have been assigned. An easy mistake is to forget to save a modified record.txt file. The "lr" command is used to list record assignments by displaying all armed input channels and their destination files. If you have files in your record.txt file assigned to input channels beyond the interface limit (the "Zin" value) then those channels will not be displayed. The "lp" command is used to list playback connections. In this case, all the active files in your play.txt file will be displayed. Depending on the mix mode, you will see different connections. In general, if an output is shown in parenthesis then it is not available because the output is above the limitation set for the audio interface (the "Zout" value). 9. Peak Monitoring: ------------------- From the main menu you can choose to monitor input channels without actually recording. You can choose to monitor all channels or just the ones you have record enabled. During recording the highest peaks registered for each channel will be stored. See also metering (below). 10. Metering: ------------ By default, a single 'live' meter with a 30 dB range will appear when recording. The range is adjustable by typing "mtr" in the interface, or adding 'meter' and the lowest range separated by a tab in the param.txt file. In the param.txt file, a -48 dB to 0 dB range would be set as follows: meter -48 The meter is actually a summary of all recording channel peaks! It plots only the hottest peak from all channels. When a new peak occurs, the number of the channel that caused the peak will display in the meter and hold at that peak level. When a peak level of 0 dB is detected, the meter will display OVER and the corresponding channel that caused it. If a different channel hits 0 dB later on, the channel display will change to the new channel. Enter a value of 0 to turn the meter off. The low end of the range can be set from -120 to -6 dB. 11. Punch-In Recording: ----------------------- Overdubbing, where you wish to fix a part of an existing track, but still hear the old track up until the point of the fix/punch-in can be easily accomplished by placing the same file name in both the play.txt and record.txt lists and importantly, on the same line number. The old track will mute when the recording punch-in time is reached. The new take is not written into the old track unless you approve (see post-record options). 12. Crossfades: --------------- Crossfades allow an inserted piece of audio to blend without clicks into the existing audio. By default, crossfades are off. To access the crossfade option, type 'cf'. Enter the width of the crossfade in milliseconds. If set to zero, crossfading will be turned off. A good starting place is 200 msec, but a quick punch-in will require 10 msec or less. A crossfade will begin at the record entry point, but not before it because a crossfade requires audio data from both files being crossfaded. Similarly, at the end of the insert, the crossfade will begin at a distance of the crossfade width from the end of the recording. In other words, a crossfade will only exist on the insert. If it is set too wide then you might have less of the insert at the edges than you would like. Crossfades are not currently audible when auditioning the take. 13. Preroll: ------------ The preroll value in seconds is accessed with the 'pre' command. Preroll is only active when recording with the 'ri' command. When this command is used, the record start value 'e' is ignored and instead, recording will start at the playback start 'i' value. Playback start will be changed temporarily to the playback start minus the preroll value. For example, if the start time is set to 30.00 and preroll is set to 10.00, thenplayback will begin at 20.00 and recording at 30.00. This allows for a very efficient workflow since there is no need to copy time points. All the originalvalues return when recording has finished. And unlike other programs, preroll does not interfere with normal playback when not recording. 14. Auditioning ---------------- You are able to audition the in, out, and record enter points without playing the entire in/out span or overwriting your stored times. Audition length defaults to 3 seconds. To change this value enter 'aa'. Or, set it in the param.txt file with the command 'aud' followed by a tab and the value. To audition the playback start time, the command is 'ai'. The only difference from entering 'p' is that the playback stop time does not factor in. Instead, playback stops once the audition length has been met. To audition from the playback stop point onward, use 'ao'. To audition the record enter point use 'ae'. 15. Post-Record Options: ------------------------ After a recording has finished you will get a menu of choices about how to handle the new audio. In general, padding refers to adding silence before the recorded audio so that a take which was not recorded at time zero will be in sync if added to another program or added to the recorder7 play.txt file list. Appending refers to adding a new string to an existing file name. If you have file names called guitar.wav and bass.wav in the record.txt file, you can append the names with take1, for example, so that the new file names will be guitar_take1.wav and bass_take1.wav. The following commands are available: "aud" to audition the new audio. The new audio will play back on the same output channel number as its input channel number assignment. Whatever audio files are currently assigned to these particular output channels in the play.txt file will be temporarily muted. After you choose to audition you can choose to play the whole take, or the first quarter (starting from the record entry point), second quarter, third quarter, or last the quarter. After listening you can then repeat the audition with a different quarter selection. "del" to delete. The new take is permanently deleted. "rep" to replace. The old audio track is deleted and the new audio replaces it and takes its name. If you are punching-in to fix a section of a track, then you want to use the "ins" function below. "rep" would delete the entire track you were trying to fix! As an extra precaution there is a safe mode you can set after you type "safe" in the main menu. Safe mode just asks you if you really want to replace the track. "ins" to insert. The new audio will be inserted into the old file. Audio before and after the insert will be preserved. This is used when fixing an existing track with a punch-in. The audio that is written over is permanently deleted. "cin" to copy and then insert. This works like the "ins" command except that a backup copy is made of the file you are inserting data into. The copies will appear with "bkup" as part of their name. "pad" to pad with silence. The new audio file is padded with silence so that if the recording did not start at zero in the timeline, it will properly sync up with tracks that do start at time zero once it is padded. The name of the new audio file is generated automatically. "app" to append. The old audio is left intact and a new file is created with a name based on the old track and appended with an extension that you enter. There is no padding or timing info, so this should probably be used only for tracks recorded at time zero. "stp" to time stamp. The new audio will be automatically renamed to reflect the time stamp in samples of the position where recording began. The old audio remains intact. The new audio is not padded so this is a disk space saving method. The new files will not sync properly until moved to the time stamp position. "awp" to append with padding. The take is padded for sync and you enter the file name extension. "aws" to append with stamp. You enter the file name extension. A time stamp is also added to the file name. The take is not padded. In summary, rep del ins cin --- --- --- --- Old file deleted intact modified copied New take saved deleted inserted inserted pad app stp awp aws --- --- --- --- --- user filename no no no yes yes auto filename yes yes yes no no sync with pad yes no no yes no time stamp no no yes no yes 16. Preemptive Take Naming: --------------------------- Beginning in version 3.64 you can name takes before recording begins. The name of the take is entered after the recording commands 'r', 'R', or 'ri' with an underscore between. For example, "R_take1" will initiate recording and append "take1" to the base file names in the record.txt file. If the recording is not started from time zero, a time stamp value will also be added. Unlike the usual recording functions, there are no options once recording finishes to insert, delete or change the name of the take. The application for entering take names before recording begins is if you are likely to end the recording early with ctrl-C. This would occur if you are recording a song of unknown length such as a jam session. You would naturally set the length of the recording to be well beyond the expected recording length. This method of take naming allows for better file organization since the recorded file will have a more useful name than the temporary file names that would otherwise be created. If the base name with the take name already exists, you will be asked to enter a different take name or overwrite the existing file(s). Note that ending the recording early would leave the wave file headers with an incorrect value for the file length, appearing to be longer than they really are. The hdrfix utility will fix the header. 17. Memory and Transport Time Copy Functions: --------------------------------------------- The program can copy time values among the start, stop, and record punch in settings. There is also a way to store a value to memory which will save 'permanently' when you save parameters to the param.txt file. You can type 'lc' to list the copy options at any time. But, the basic idea is that you have a source and a destination and you put a period in between. Remember that the commands 'i', 'o', and 'e', set the playback start, playback/record finish, and record start/punch respectively. Therefore, 'i.o' means copy the start time to the stop time. And 'o.i' means copy the stop time to the start time. 'm' is used to designate memory. To copy the playback start time to memory you would type 'i.m'. To copy a value from memory to the record start time you would type 'm.e'. Most combinations are possible. Note that the memory value when running the program is displayed in seconds like all other values, but if saved to the param.txt file it will be in the form of a sample value. 18. Overdub Timing Compensation: -------------------------------- You can manually adjust the accuracy of how a recording punch/overdub syncs up with pre-existing tracks. This only affects situations where the recording start time is after the playback start time. Add the keyword odcomp, then a -tab, and then an integer to the param.txt file. Based on the current engine design, the default value is 4 and you may find you do not need to change this at all. But, if you change the alsa buffer size (default is 1024) then you will likely need to change the odcomp value. Also, some soundcards may require different settings. A larger positive value means the recorded audio will be shifted earlier. The odcomp number represents the number of ALSA buffer cycles to shift by. Therefore, for a small ALSA buffer you will need to use a larger number. Due to the complexities of the engine you may find that increasing odcomp by an increment of 1 does not have an effect. As you can see a smaller ALSA buffer allows more flexibility in timeline placement. But, a smaller ALSA buffer also increases the likelihood of xruns. There may be better ways to fine tune in future versions of this program, but this current scheme works well and allows some flexibility with different soundcards and setups. Remember sound travels about 10 feet in 10 msec so an overdub with 10 msec of accuracy is like playing with another musician who is just 10 feet away. Here are some suggested values to start with: ALSA buffer 4096 / odcomp 1 ALSA buffer 2048 / odcomp 3 ALSA buffer 1024 / odcomp 4 ALSA buffer 512 / odcomp 8 ALSA buffer 256 / odcomp 16 ALSA buffer 128 / odcomp 36 ALSA buffer 64 / odcomp 72 It is something that will take some experimentation, but it should take no more than 10 minutes to set correctly and have an overdub accuracy within 10 milliseconds. There should be a SyncTest project available for download from my website with a click sample and a recorder7 project ready to go! Otherwise, use a test file like a single click, snare or clave hit. It is much easier if the click is on an exact mark like 1 second. Multiple clicks will be confusing so I recommend taking a click track file made at 60 bpm and editing it down to one click happening at the 5 second mark, for example. The following is standard Recorder7 technique: Put the test wave file in line 1 of the play.txt file list. Then plug your recording interface's channel 1 output into channel 2's input. In the record.txt file type a dash on line one and then a name like test.wav on line 2. This sets up a loop sending the click out channel one and into channel 2. In Recorder7 set the recording time to be later than the playback time, but about a half second before where the click is. Set the out time to be a about a half second after the where the click is. Enter 'r' to record with playback. Choose to 'rep' to replace the file when done. Open the test.wav file in a visual audio editor such as my cwavefm. Check the placement of the recorded click. If it is late then increase the odcomp value and try again. 19. Mixing During Playback: --------------------------- Beta 3.0 features a mixer that sends all source files to outputs 1 and 2. This allows you to use a stereo soundcard and still be able to monitor many tracks. The volume of each channel is adjustable in dB's. Pan is adjustable from -100 to 100 where -100 is full left and 100 is full right. There is not currently a way to blend input streams and output file streams in this mixer. When you save settings, all the pan and volume settings will be stored as well. And the format they are stored in can be read by Mixer4. This allows you to gradually build a mix while overdubbing tracks. Then Mixer4 can be used for effects, automation and fine tuning. The program will default to mix mode 0 which does not mix to outputs 1 and 2. To change the mix mode, type 'mod' from the main Recorder7 menu. You may also add 'mix' and tab and '1' to the param.txt file. Mix mode 1 will mix to stereo. This is changeable during the session. To view and adjust the mixer settings, type 'mix' from the main menu. To change the pan, type a channel number, then 'p', and then the pan value. For example, to change channel 2's pan to a value of 50, type 2p50. To change the volume, type a channel number, then 'v', and then the volume in dB. For example, to change to volume of channel 3 to -12 dB type 3v-12. The maximum level is +12. Typing 'mix' again or 'd' will exit the mixer display and return you to the main display. When using mix mode 1, the peak output level will be displayed after playback stops. As in any other digital mixer, anything above 0 dB will result in digital distortion, so reduce levels when necessary. Note that even though channels 1 and 2 will be a mix of tracks, all the other outputs will still have their direct outputs active just like mix mode 0. Therefore, on soundcards with more than 2 outputs, the other outputs can be used for enhancing cue mixes in external analog mixers such as a reverb send or a volume 'inject' for a particular musician's mix. 20. Mixmodes: ------------- Mixmode 0: During playback, each file will play out of a different soundcard channel. Use this if you are using a substantial sound card and analog mixer. This is the classic way of allowing the analog mixer to do all the mixing as if you were using a standalone hard disk recorder or an analog tape machine. Mixmode 1: Like mixmode 0, each file will be sent to a different soundcard output, but all tracks will also be summed to a stereo mix that is sent to output channels 1 and 2. This is useful for checking a mix before it is made into a file (see bounce-to-disk). Also, when recording with several musicians, you can send each musician a basic stereo mix and use the direct output channels to "inject" extra signal into their personal mixes using a headphone mixer. Mixmode 2: In Mixmode 2, groups of channels can be assigned to a common stereo output. For example, you can mix 8 drum channels into 1 stereo bus. Use mixmode 2 if you are using an analog mixer where you have more files to play than available mixer channels, or if you wish to put a group of files through an analog bus compressor, for example. Mixmode 3: Mixmode 3 is a complete internal submixing system. You create busses as in mixmode 2, but the busses will sum together and be sent to output channels 1 and 2. Use this if you wish to use submixes but do not wish to use an external analog mixer. Note that the busses will still function to give multiple stereo outputs like mixmode 2, however bus 1 becomes the master bus through which all others will be sent. Bus 1 volume will serve as master fader volume (after all busses have been summed), not as a volume control just for channels only going to bus 1. To assign channels to the master mix without going through a bus, assign it to bus 1 (the master). 21. Soloing Tracks: ------------------- Tracks may be soloed by first typing the command "so". This will give you a list of solo enabled tracks and allow you to add or remove tracks from the list. To play the solo enabled tracks type "sp" for solo play. This allows you to use "p" for normal playback. The list of solo enabled track is kept at the ready and the list is saved when you save settings. You will see a solo enabled track next to "solo" in the param.txt file. Solos are automatically inactive when recording with playback. Solos are also inactive when bouncing to disk. 22. Mixing: Bounce-To-Disk: ---------------------------- Recorder7 allows exporting of the mix to a an stereo 24-bit wave file. Playback in and out points set the boundaries for the mix. The output file may be an interleaved stereo file for wave player playback or for importing into a mastering program. 'exp-i' is the command used for the interleaved file, such that left and right channels are stored in one file. You also have the option to export as two separate files, one for left and one for right channels. This makes it possible to import back into Recorder7, allowing you to condense the number of tracks needed to play at once. The command for exporting to this type of split file is 'exp-s'. Mix output levels are displayed after the bounce-to-disk is done. These levels should never exceed 0 dBFS or else you will get very unpleasant digital distortion. In fact, due to the fixed-point math, it is possible that you can still be clipping even when the meter shows a peak below 0 dBFS. In this case, the sample value was so high that the number "wrapped around" to small number and the meter is showing the next highest peak. A simple way around this issue is to leave headroom. A mix peak level between -9 dBFS and -3 dBFS is a good target. Then if you wish, use the master fader just before bouncing-to-disk to bring the level up by an amount that you know is safe. Important: The mixmode selected will affect what is printed to the file. In mixmodes 0, 1,and 2, busses are bypassed: Channels feed directly to the stereo mix. To actually hear what the printed file will sound like you should select mixmode 1 as you playback in realtime. In mixmode 3, channels will go to their assigned busses and get processed by the bus volume before being sent to the stereo mix. 23. Choosing Recordlists and Playlists: --------------------------------------- By default Recorder7 looks for the files play.txt and record.txt in the working directory. You may wish to choose different playlists or recordlists on the fly in order to easily toggle between different takes or channel assignments! You can store 128 recordlists and 128 playlists to RAM and to the param.txt file. To access the list of playlists type 'pf'. To access the list of recordlists type 'rf'. You will then be able to add, remove or update the current playlist or recordlist. Importantly, when the program starts, it will load the playlist and recordlist from position 1 in each list. If there is nothing in this position, then it will try to load the files record.txt and play.txt. Position 1 will always be updated and reserved for the current/active playlist and recordlist. When you save parameters, the playlists and recordlists will be saved with the keywords 'play' and 'rec', followed by the list position, followed by the filename, all tab separated. You can manually add or edit the names in param.txt file if you wish. 24. Assigning Channels to Busses: --------------------------------- Mix mode 2 (accessed by typing 'mod') allows you to bus any channel to one or multiple stereo busses. There are 64 stereo busses available. Bus 1 always corresponds to audio interface output channels 1 and 2. Bus 2 corresponds to output channels 3 and 4, and so on. The bus assignments are saved even if your hardware does not support the number of outputs needed. This allows you to leave the connections for a complex system in place even when working on a smaller hardware setup. You can set up busses in the param.txt file before running the program, or interactively by using the 'bus' command. The busses will save to the param.txt file. When editing the param.txt file directly, start a line with 'bus', then enter a tab, and then add the channels assigned with a comma between them. For example, to add channels 5 through 8 to bus 4 enter: bus 4 5,6,7,8 This means channels 5-8 will be sent to bus 4 which is output 7+8. Note: If an output pair is not being used as a bus, then the output will work as a direct out (pre-fader) for the corresponding playback channel. So, if you assign channel 1 to bus 4, for example, channel 1 will play out of interface outputs 1, 7, and 8. Pan and fader settings for source channel 1 will be heard in output 7 and 8 (bus 4) and not affect output 1. Channel bussing is useful when using an analog mixer in your workflow. You may have a 16 channel mixer, but 32 tracks to mix. You can use busses to pre-mix the channels to stereo outputs before they go to the analog mixer. It is extremely convenient to mix drums, for example, to a stereo bus that feeds into an analog compressor and EQ before reaching the analog mixer. With an 8 channel mixer you might sort your tracks into a drum bus, backup vocal bus, and guitar bus. If you need some tracks like bass and lead vocal to come out of a single channel, then they can be assigned to a bus and individually panned full left (-100) or full right (100). Note that Mixer4 uses the term submix instead of busses. The main difference is that Recorder7's busses are never mixed to a main master fader, but are sent to hardware outputs. Mixer4's submixes all feed into a common stereo sum. That said, the text file setup is the same except for the keyword of 'bus' instead of 'sub'. So, to continue a Recorder7 project in Mixer4, it is just a case of changing the command 'bus' to 'sub'. 25. Setting Bus Volumes: ------------------------ Beginning in version 3.70, the volumes of all busses can be set in the mixer or before starting the program in the param.txt file. Bus volumes are useful for bringing low volume mixes up to normal levels, or setting output levels for busses sent to an external analog summing mixer that lacks gain controls. As with bounce-to-disk, the bus output level should never exceed 0 dB, EVEN BEFORE REDUCING GAIN with bus/master volume. For example, if your output peak is -3 dB while your bus volume is -4 dB, then in theory you are clipping and can expect distortion. The mixer uses a unique fixed point summing bus that allows for retaining low level details at the expense of lacking headroom above 0 dB full scale. It is possible that this limitation is not found in some combinations of operating systems and hardware. When using the mixer to set the volume of a channel, enter the bus number, then 'b', and then the volume in dB. For example, '1b-4' sets the master fader (bus 1) to -4 dB. Bus volumes can be edited in the param.txt file by using the keyword 'busvl'. This is followed by a tab, then the bus number, a tab, and the bus volume. The mix mode affects how bus volumes are displayed in the mixer. In mix mode 1, there is only one bus which is shown as the 'Master'. This is the master fader for live playback (outputs 1 and 2) and the bounce to disk function. In mix mode 2, up to 64 bus volumes are shown for any busses not set to 0 dB. When a bus volume is shown it does not necessarily mean channels have been assigned to it. In mix mode 0, there is no master or bus volume shown because tracks are being sent to direct outputs.