and if your primary source isn't running at the correct speed, you will need to do pitch correction... this will also come in handy when stretching/shortening the 2nd souce

Quote:

Here's the method I came up with to speed correct shows. I hope I've written
it clearly enough. If not, flame me. Ask any questions you may have. It is
a work in progress so I will be updating/clarifying as we go.

Jim

Code:

-------------------------------------------------------------------------------
Steps to speed correcting using Audacity, EAC, and SHNTool (or equivalent):
-------------------------------------------------------------------------------
1) Determine speed correction needed for each track. (Details below in section
"Step 1 Detailed Description")
2) If the speed correction is not a constant for the entire show, determine
where you want to cut the sections for each speed. For example, tracks
1-4 need to be slowed down 3%. Track 5 only needs to be slowed down 1%.
Listen to the transition between tracks 4 and 5. Is there a tape cut? If
so, that's where you want to have the transition which changes speed
correction from -3% to -1%. If not, choose a location with minimal volume.
Do this for the entire show.
You can make the process easier if you simply use the existing track
boundaries as section transitions. This does not always produce the best
results though. Your choice.
3) Begin speed correcting sections you determined in Step 2. In Audacity,
appending WAVs is a little tedious. First open the first track, then open
the second track in a new window. Select all of the second track (CTRL A)
and copy (CTRL C). Now go back to the first track, select Edit->
Move Cursor->To Track End. Then paste (CTRL V). Close the window for the
second track.
Repeat this until the current section is complete. If the section boundary
you determined in Step 2 is not an existing track boundary, you will need
chop the last track of the current section at this boundary. Open the last
track of the current section, simply move cursor to the boundary point you
determined, select Edit->Select->Start To Cursor. Then do (CTRL X). Now
append the portion you just deleted to the end of the current section. Don't
close the window containing the remaining portion of the last track of the
section. It will be the first part of the next section. Finally, once the
section is build, go to Tools->Change Speed. Enter desired speed change.
Repeat this procedure for each section. You can keep a window open for each
completed section or save each. I like to keep the windows open to avoid
any change of corrupting data through the save and then re open process.
4) When all the sections are build and speed corrected, it's time to append the
sections together (see Step 3 above for appending process). Each new
section that gets appended could have a section transition problem. After
you append the section, you must zoom in to the transition boundary to make
sure there is not a discontinuity. This transition point is easy to find
because the newly appended section will be shaded darker than the rest of
the WAV. Zoom all the way until you can see the individual samples around
the section transition point. Look for a smooth waveform at the transition.
If not smooth, adjust samples around the discontinuity to make it smooth.
Once zoomed in, there's a tab in the upper left corner of the display to
change to sample edit mode. Once the signal looks smooth, listen to the
transition to make sure there is no pop or click. Repeat this for all
sections.
5) Once all sections have been appended, save off the complete show or disc.
6) To cut the new tracks, I use EAC. Using EAC's Process WAV feature, open the
WAV file of the entire disc or show created. Starting at last track, select
portion of WAV to be included, move mouse to select all of last track, then
go to File->Save Selection. Then delete this selected portion of the WAV.
Repeat this until you have saved off all the tracks and have only the first
track left of the huge WAV you started with.
7) Fix SBEs in tracks just cut. Use whatever you want to do this. I use
SHNTool.
That's it.
-------------------------------------------------------------------------------
Step 1 Detailed Description
-------------------------------------------------------------------------------
First open the track up in Audacity. Listen and try to locate points with
clear notes. For example, OTHAFA intro outro, STH start, BD or HB riff.
Select the desired portion of the WAV with the mouse.
Now go to View->Frequency Spectrum. A new window will come up with the
frequency spectrum of the selection. For the options on the bottom left side
of the window, select size 16384, rectangular window, frequency spectrum, and
logarithmic (log) scale.
Now maximize this window and you should see discrete spikes. These spikes will
correspond to tuning note frequencies. A, A#, B, B# etc. The key to
correcting is to determine where a note spike frequencies should be. Refer
to the include table below for concert pitch note frequencies. These are
the frequencies where the spikes should be assuming Zep was tuned to concert
pitch.
For example, you see A4 at 455 Hz. From the table you know it should be at
440 Hz. So the correction needed in percent is calculated by:
(1 - 455/440) * 100 = -3.4%.
The general equation is:
percent correction needed = 1 - (freq observed / freq expected) * 100
A positive percent means speed up and a negative percent means slow down.
It is important not to only look at one spike when doing this, look at several
and get a good average of what the correction needs to be. If a spike
frequency doesn't make sense, ignore it and look at others, or select a
different section of the WAV file.
Another possible gotcha is correcting to the wrong half step. For example,
you see a spike at 435 Hz. You assume it is A4 so you correct it to 440. It
is really G#3. So now the correction is a half step high (fast). I do a
sanity check with other known correct recordings to avoid doing this.
That's basically it.
-------------------------------------------------------------------------------
Concert Pitch Frequency Table
-------------------------------------------------------------------------------
-------A----Asharp--------B----------C----Csharp---------D----Dsharp--------E----------F-----Fsharp---------G-----Gsharp
------55----58.27---61.735---65.406---69.296---73.416---77.782---82.407---87.307---92.499---97.999---103.83
----110---116.54---123.47---130.81---138.59---146.83---155.56---164.81---174.61-------185-------196---207.65
----220---233.08---246.94---261.63---277.18---293.66---311.13---329.63---349.23---369.99-------392----415.3
----440---466.16---493.88---523.25---554.37---587.33---622.25---659.26---698.46---739.99---783.99---830.61
----880---932.33---987.77---1046.5---1108.7---1174.7---1244.5---1318.5---1396.9-----1480------1568---1661.2
---1760---1864.7---1975.5-----2093---2217.5---2349.3-----2489------2637---2793.8-----2960------3136---3322.4
---3520---3729.3---3951.1-----4186---4434.9---4698.6-----4978------5274---5587.7---5919.9---6271.9---6644.9
Fixed pitch font version. Copy to text editor and view with font set to Courier.
+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| A | Asharp | B | C | Csharp | D | Dsharp | E | F | Fsharp | G | Gsharp |
+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
| 27.5 | 29.135 | 30.868 | 32.703 | 34.648 | 36.708 | 38.891 | 41.203 | 43.654 | 46.249 | 48.999 | 51.913 |
| | | | | | | | | | | | |
| 55 | 58.27 | 61.735 | 65.406 | 69.296 | 73.416 | 77.782 | 82.407 | 87.307 | 92.499 | 97.999 | 103.83 |
| | | | | | | | | | | | |
| 110 | 116.54 | 123.47 | 130.81 | 138.59 | 146.83 | 155.56 | 164.81 | 174.61 | 185 | 196 | 207.65 |
| | | | | | | | | | | | |
| 220 | 233.08 | 246.94 | 261.63 | 277.18 | 293.66 | 311.13 | 329.63 | 349.23 | 369.99 | 392 | 415.3 |
| | | | | | | | | | | | |
| 440 | 466.16 | 493.88 | 523.25 | 554.37 | 587.33 | 622.25 | 659.26 | 698.46 | 739.99 | 783.99 | 830.61 |
| | | | | | | | | | | | |
| 880 | 932.33 | 987.77 | 1046.5 | 1108.7 | 1174.7 | 1244.5 | 1318.5 | 1396.9 | 1480 | 1568 | 1661.2 |
| | | | | | | | | | | | |
| 1760 | 1864.7 | 1975.5 | 2093 | 2217.5 | 2349.3 | 2489 | 2637 | 2793.8 | 2960 | 3136 | 3322.4 |
| | | | | | | | | | | | |
| 3520 | 3729.3 | 3951.1 | 4186 | 4434.9 | 4698.6 | 4978 | 5274 | 5587.7 | 5919.9 | 6271.9 | 6644.9 |
| | | | | | | | | | | | |
| 7040 | 7458.6 | 7902.1 | 8372 | 8869.8 | 9397.3 | 9956.1 | 10548 | 11175 | 11840 | 12544 | 13290 |
| | | | | | | | | | | | |
| 14080 | 14917 | 15804 | 16744 | 17740 | 18795 | 19912 | 21096 | 22351 | 23680 | 25088 | 26580 |
+-------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
Matlab Code to generate table:
ratio_per_note = 2^(1/12);
lowest_A = 440/8;
current_freq = lowest_A
for n=1:84
output_freqz(n) = current_freq;
current_freq = current_freq * ratio_per_note;
end

and of course the usual stuff, work from the two complete sources, not track by track, and be sure to cut on the sector boundaries at the end yada yada

Modern social theory casts a highly skeptical eye on any declaration that a group of persons is without conflict, and insists, on the contrary, that conflict is natural to groups, and even more, is essential to them. -Patrick Henry