• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Noise in PlayBack
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Noise in PlayBack


  • Subject: Re: Noise in PlayBack
  • From: Herbie Robinson <email@hidden>
  • Date: Wed, 27 Dec 2006 16:12:40 -0500

What you are trying to do is called a noise gate, but the way you are doing it is going to generate a lot of zipper noise.

You need to understand a lot of things about digital signal processing to make it work like:

1.  Aliasing.

2.  The effect of discontinuities (related to aliasing).

3. The effect of multiplying to signal on the resultant frequency spectrum (also related to aliasing).

Other techniques for removing noise include notch filtering and combinations of gating and notch filtering.

None of them work well all of the time.

The best technique for removing noise is to keep it out of the source in the first place. There is this audio axiom, GIGO, that has been in use for at least half a century: It stands for "garbage in, garbage out".

Hi All,

I am getting noise while playing the recorded data.I tried to set
some min value while playing.It reduced some noise.But  till
 noise is there.I enclosed the code here.

Waiting for your valuable suggestion.

Thanks in Advance,
Sheen



OSStatus playCallback(
AudioDeviceID device,
const AudioTimeStamp* now,
const AudioBufferList* input_data,
const AudioTimeStamp* input_time,
AudioBufferList* output_data,
const AudioTimeStamp* output_time,
void* client_data
)
{
float* dst = NULL; // destination for the data
int num_of_units = 0; // number of sample points buffer can take
int num_to_play = 0; // number of sample units to play
int num_of_channels = output_data->mBuffers[0].mNumberChannels; // number of channels output supports
int i = 0; // index
int j = 0; // index into destination buffer.
// NSLog(@"Play");
int channelcount=0;
int aftermul;
dst = (Float32*)(output_data->mBuffers[0].mData);
num_of_units = output_data->mBuffers[0].mDataByteSize / sizeof(Float32);
num_to_play = num_of_units / num_of_channels;
for (i = 0; i < num_to_play; i++) {
for (channelcount=0;channelcount < num_of_channels ; channelcount++) {




if(Pcms[Units_played] < 0)
{ if(Pcms[Units_played] < -0.020 ) dst[j++] = Pcms[Units_played];
else
dst[j++] =0.0; }
if(Pcms[Units_played] >= 0.020 )
{ if(Pcms[Units_played] > 0.020 ) dst[j++] = Pcms[Units_played];
else
dst[j++] =0.0; }
} Units_played += 1; }
return kAudioHardwareNoError;
}


 __________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


--
-*****************************************
**  http://www.curbside-recording.com/  **
******************************************
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Noise in PlayBack (From: sheen mac <email@hidden>)

  • Prev by Date: Audio Unit input pitch based MIDI output
  • Next by Date: Re: Audio Unit input pitch based MIDI output
  • Previous by thread: Re: Noise in PlayBack
  • Next by thread: Audio Unit input pitch based MIDI output
  • Index(es):
    • Date
    • Thread