Re: WAV functions

new topic     » goto parent     » topic index » view thread      » older message » newer message

Derek,

I'm working on a vaguely related problem, *maybe* this would work:

*maybe:*

1.  find  the "number of bits per sample" (8, 16 or 24?)(8 would be 256 bits
of resolution, I think), presuming it's the same for each sample you want to
mix together, so you can know what "zero" is (ie, no amplitude in the wave,
flat "wave", no up/down oscillation) ; I'm assuming that for 8-bit it's 128,
etc.

2.  subtract the "zero" value from every sample point value, for each sample
you want to mix (now allowing for negative numbers, of course); this way you
have sets of values that go up & down from actual zero;

3.  now add them all together, point by corresponding point;

4.  find the most positive and negative value in that summed set;  figure a
divide-by value that would make the absolute value of the biggest of those
max/min into the loudest value you want, equal to or lower than the
resolution.  Since the result is now zero referenced, apply that divisor to
every sample point;

5.  and finally, re-add the "zero" value to each point.

Dan Moyer

----- Original Message -----
From: "Derek Parnell" <ddparnell at bigpond.com>
To: "EUforum" <EUforum at topica.com>
Sent: Thursday, May 22, 2003 7:00 PM
Subject: WAV functions


>
>
> To: Daryl van den Brink
>
> Do you know a good algorithm to combine two or more WAV files?
>
> I've written an amusement for myself. Its a little application that I can
> use to write music with. It works on the principle of creating 'voice'
> tracks and then combining them into the final WAV file. The current
> algorithm I use sort of works, but it has the side-effect of diminishing
> the volume of the sound. Also, when working with lots of tracks, some
> distortions are introduced.
>
> In fact I've tried a few algorithms but none have really worked well. The
> ones that have given me the most promising results have been ...
>
> a) Find the geometric mean of the corresponding sample values.
> b) Find the arthimetric mean of the corresponding sample values.
> c) Find the geometric mean of the absolute value of the corresponding
> sample values.
>
> But I'm thinking that I really need to use the delta between adjacent
> samples instead. I haven't tried this yet because I really don't know
> enough about the subject.
>
>
> I'd post the code but its not ready for serious reviewing yet - most is
> very experimental.
>
> --
>
> cheers,
> Derek Parnell
>
>
>
> TOPICA - Start your own email discussion group. FREE!
>
>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu