                                 PitchFork 0.95
                                 --------------

                                    by Liket


If you are (or want to become) a DJ this is probably exactly what 
you've been looking for. A high precision pitcher with cueing and BPM counter.

First of all - Cueing does NOT work with DirectSound, due to bugs in Nullsoft's 
DirectSound output plugin. Please fix, Justin.



PITCH CONTROL:


|
|
=	Pitch Slider
|
|


++	Pitch up
--	Pitch down

=0=	Normal pitch
-->0<--	Slide pitch to normal
->0<-	Slide pitch to normal (slower adjustment)

++	Temporary Pitchdown (speed up the platter)
--	Temporary pitchdown (brake the platter)



Cueing:
-------


AC	AutoCue! Sets cue point at first non-silent point of the tune.
	This works only with wave output (not directsound) and...
	...it doesn't work if you have the winamp icon in the system tray!
	(DON'T ASK!! Fix, Justin! =) )
M+	Store current position in Cue memory 1
C!	Cue song to stored position
||	Pause/Unpause

<N	Nudge backward 1/20 second (auto save!)
N>	Nudge forward  1/20 second (auto save!)
Hold CTRL while nudging for 1/75 second (CD standard)


M2=M	Store cue memory 1 in cue memory 2
M-M2	Actually M=M2-(M-M2).	(See below)




BPM counter:
------------

[BPM]	(left) Hit this in sync with the OTHER tune

[BPM]	(right) Hit this in sync with THIS tune

MP3STOCK users: Press CTRL-BPM to fetch bpm from mp3stock. BPM measurements
will be stored in mp3stock automatically.


=	Set this player's pitch according to measurement





Notes about cueing:

The Nitrane engine of winamp has a jolly good accuracy when jumping to a certain
position. It sets the position to the closest second (!). As you can imagine,
this is not good enough for cueing (what EVER is it good enough for?). Again -
we have Justin to thank for this, like everything else (Winamp) =).

When cueing, it sets the position a second to early, then plays and PAUSES at
exactly the right time! This means, what you hear when nudging is BEFORE the cue
point -
not after. It could be better, but you'll get used to it =). If you are bothered
by it, mail justin@nullsoft.com and let him know.



Anyway - now for the good news! The M-M2 button that didn't mean anything at all
to you =).


Let's say you have a tune with a long, BEATLESS intro.

Cue the FIRST beat
Press M2=M

Cue the 16th beat
Press M-M2

..and PitchFork makes a cuepoint exactly 16 beats BEFORE the first beat!
This means, you can get an EXACT cue point even if there is no beat whatsoever
in the intro.



Here is a pretty complete tutorial for a complete novice!

-----------8<-------------------------------------------------------------------


First of all you really need two winamps, two soundcards and a mixer table to be
able to use it properly. When beatmixing, just like you would with a vinyl or cd
player, if player #1 is playing song #1 to the speakers, you need to monitor the
song in player #2 with headphones, so that you can pitch it to fit the the beat
of song #1. You also need a fairly fast computer (K6-2 300 works fine for me,
K6-233 works for a radio station, P120 didn't) since you need to entirely
disable the buffering in winamp. Disable "Separate buffering thread" (HA! i
found a typo in winamp, and i'm not even native english speaking =)), and set
milliseconds to 0. Also, set the thread priority, process priority and nitrane
mp3 decode priority to *maximum*.

Also, if your computer has problems with the graphics taking bandwidth from audio
(i.e. sound stutters or slows dows when you scroll or move a window) you will
need to take care of it before attempting to beatmix. This is the fault of the
*display adapter driver*. Changing to microsofts driver (the one that is on the
win95/98 cd) usually solves the problem. If no driver for your card came with
win95, try upgrading to win98. If that didn't work either, look for a setting
like "Allow PCI retries" and enable it. If that doesn't exist (or work) you will
need to bug your manufacturer for new drivers. It is the DRIVERS fault - not the
hardware - but if you can't get an updated driver or information on how to fix
the problem with your present driver (there is usually an undocumented option to
enable through the INI file) then sell the card to a lamer and buy a new one. A
cheapo cheapo Cirrus 5446 works fine for an mp3 computer, but if you need more
power I currently recommend a Matrox G200 AGP.

Once you have the necessary hardware, finding the correct beat is pretty easy. In
the above example, you start with pressing BPM button 1 in sync with song #1
until the value stabilizes (about 10-20 seconds). Then, press BPM button 2 in
sync with song #2, and when you have a good measurement, press the = button, and
it will set the song #2 pitch to match the tempo to song #1 =).. Am i confusing
you yet?

Anyway, after you press the = button, you may have a problem - the pitches of 
the two tunes may be too far apart for the ear to be pleased by the necessary 
pitch adjustment. A rule of thumb is that you can go as high as +8%, but not 
lower than -4%. Also, it's generally good to be a couple of percents up, because 
most tunes sound better that way. Once you have matched the pitches, you need to 
actually "sync" the beats of the two tunes together. Just syncing beat to beat 
isn't enough, for two differerent tunes to fit together you need to sync 16/16 
beats (if tune 1 is at beat 16, tune 2 should be at 32 or 64 or 48 or 128 etc). 

Doing that by ear is supposedly easy for an experienced dj, but I, who learned 
beatmixing while writing the PitchFork, find it extremely hard.
Therefore, for this task, i developed the cueing.

This calls for an explanation of PitchFork's cue function. When cueing, it sets 
the position a second to early, then plays and PAUSES at exactly the right time! 
This means, what you hear when you press the cue button (or nudge <N or N> ) is 
BEFORE the cue point - not after.

When setting the cuepoint, you start by holding down the pause button and 
releasing it on beat 0 of 16 (see above). Releasing the button when it's time, 
rather than just clicking, gives far better accuracy since all windows buttons 
react when released. I bet you haven't thought of that =). After pausing as 
accurately as possible, you press M+ (just like on a calculator) and then C! 
(cue!). You will then hear the portion just before the cuepoint. You will want 
it set to exactly touch the start (attack) of the beat. This is achieved with <N 
and N>. When you think you have an exact cuepoint, try releasing the pause 
(remember what i said about button accuracy!) and listen. When you release the 
pause button, it should start perfectly on the beat! Oh, maybe now is a good 
time to tell you - cueing does NOT work with DirectSound. Bug 
Justin@nullsoft.com.

Mind you - you have only 2 minutes to do all of the above before the playing 
tune starts ending, unless you're using 12 inch versions. While this may seem 
impossible at the first try you'll get faster though, don't worry =).

After you have a perfect cuepoint, hold the pause button of song #2 (the one 
you've been working on) and release it when song #1 is on beat 0/16. Now you 
will have two tunes playing simultaneously, and almost exactly in sync. A vinyl 
DJ would here manually touch the platter to adjust the timing - you don't need 
to do that since you've got the [ - ], [ -- ], [ + ] and [ ++ ] buttons. These 
buttons react while held down, not when clicked or released!

You will need to determine (by hearing) if song #2 is behind or ahead. If it's 
ahead, press and hold [ -- ] for a while and you will hear the beats better and 
better synced =).. If you go too far, press + or ++.

When you have the two tunes playing perfectly synced, then and only then, you 
move the crossfader. Did that sound good? Probably not. Try again! It took me an 
evening to learn to do this, and a few evenings to learn to do it reliably 
(=almost every time). Creating good mixes is an art i am nowhere near mastering 
yet.

Tutorial by Leif "Liket" Claesson, http://surf.to/mp3stock

-----------8<-------------------------------------------------------------------





I recently got the idea to draw a schematic for an extremely simple mixer table 
(crossfader) which just about anyone who knows how to use a soldering iron would 
be able to build for about US $50. I'm not sure if it's worth the effort though 
(would anyone want it?) so if you want it, tell me and I just might do it and 
publish it here.



Share and enjoy. And give me feedback! =)

ICQ: 2344580 - please don't request authorization unless you really want
something, and
make sure you type a good reason.

EMAIL: liket@one.se

Updates: http://surf.to/mp3stock

P.S. I don't really hate Justin - he has actually done a great job with winamp - 
it's all those little bugs that never get fixed, in favour of more graphics, 
that tend to get a litte annoying =).


