help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden


From: robert Macy
Subject: Re: address@hidden
Date: Mon, 13 Sep 2004 07:24:38 -0700

the function to read is 

[sig,sf,bits]=wavread("filename.wav");

It returns the signal which is a time varying waveform.  
sf is sample frequency, usually 44100 on high quality.  
bit digitization.

In stereo, sig is (2,verylong) One for each channel.  

complementary is 
wavrite(sig,sf,bits,"outputfilenamen.wav");

However, there is a small error in the wavread.m and the
wavwrite.m that causes the 16 bit version to be wrong.  

Next, 

b=fft(sig);

will give you a very good, albeit, slow fourier transform.
 

If your sample rate is 44100, you'll need to cut your
sample run length to be at least 4410 to get meaningful
resolution.  Then b will be size (1,4410) for mono and
(2,4410) for stereo - containing complex values.  

To plot, convert:

displayleft=abs(b(1,:));
displayright=abs(b(2,:));
plot(displayleft)

may have right and left reversed.

But, you're going to be disappointed with the results due
to what I call "spreading" when your digitizing sample rate
is not synced to the tone.  Essentially the fft averages
the true value between two bins depending on phase etc and
doesn't give you the true maximum.  


Tape hiss is caused by Barkhausen noise during the magnetic
record process.  This insidious noise is a function of
signal level recorded.  Loud signals more noise, quiet
signals less noise.  The ratio for most standard recording
is something like 42 dB below carrier (tone you're
recording).  

It is my understanding that there was a system developed by
Ampex that moved the Barkhausen noise down another 6 dB,
but only three prototypes were made and it never became a
product.  The system used a copper wedge between the pole
pieces and used a frequency bias of something like 1MHz
instead of the normal, lower frequency ias of 100KHz.  

There are some commercially available software that allows
you to play with the signal visually, like on a scope, make
corrections, listen to it, etc.  This would be more
appropriate for remastering your favorite recording.  

I think it's called CuBasis and comes bundled with Creative
Labs products.  There products sell in the range of $99 to
$200.  

I've been working with an EMU-0404 (lowest price in their
line).  I've been getting impressive S/N and performance
for this board.  Very surprising to me since it is INSIDE
the PC chassis in the middle of all the noise.  Down side
is their product line requires XP or 2000 to operate.  



On Sun, 12 Sep 2004 19:30:39 -0700 (PDT)
 "Neil Bryan B. Cazar" <address@hidden> wrote:
> hello guys! i'm a newbie when it comes to octave. i would
> like to ask 
> for some help if some of you can give me a source code in
> octave that 
> does the following tasks.
>   
> 1.) first the program would load a wav file.
>   
> 2.) if i'm not mistaken, the wav file is in time-domain
> format. it 
> needs FFT (fast fourier transform) for it to be in the
> frequency domain.
>   
> 3.) it then passes through a notch filter which filters
> out the 
> noise. the noise is the hissing sound you hear when you
> play cassette tapes 
> or old records. the output is then converted back to a
> wav file.
>   
> This project is actually for an audio filter for old
> records. first 
> we need to figure out the frequency of the "hissing"
> sound so that we 
> can remove it using the notch filter.
>   
> I really need all the help. Thank you all!
> 
> 
>               
> ---------------------------------
> Do you Yahoo!?
> Yahoo! Mail - 50x more storage than other providers!



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]