tags:

views:

40

answers:

1

I am writing a program which needs to join some guitar chords (in mp3 format), but without having that end of sound feeling for each part of it.. Using cat or mp3wrap still gives that kind of feeling...

Basically I don't know how to come up with the idea. For example, should i open each file as stream and delete some bytes at the end, then merge them? Or.. Whatever you guys suggest. I just need a direction. Thanks.

+1  A: 

If by "end of sound feeling" you're talking about a sort of click, that's caused by a sudden change in the signal or its derivatives when you jump from one sound to another, which give rise to undesirable high-frequency elements (the frequency spectrum of a square wave gives you some idea of what these high frequency components look like). Samplers have to deal with this all the time when looping samples. The classic ways samplers have dealt with this are 1) fade out and in, even quickly, to minimize the amplitude of the abrupt shift, or 2) crop the last sample such that it matches the first sample, where the slopes of the signal are at least both positive or both negative - make that transition as smooth as is feasible.

Apart from the click, you may feel some of that "end of sound" feeling is caused when you rapidly shift guitar chords. Here, what's missing is probably the extra sound of damping off the first chord before launching into the second - a short fade out may be good enough here, or you might try to model the sound of the damping more carefully by mixing in some of the percussive sound that makes.

Finally, you may also find it useful to insert some intermediate relatively noisy (spread-spectrum) sound to make the transition sound more natural. Like the sound of your fingers moving across the strings to the new chord position? (Assuming you're using an acoustic guitar sound.) A few of these transitions sprinkled in may work wonders.

Owen S.