audacity: silence audio have still plays some noise - audacity

I have a completely silence audio made from audacity. But when i convert it to wav 8bit/16bit and play it, it still plays some noise when the volume is max. So how to make a completely silence audio using audacity.
I have another audio where i have add few seconds of silence inbetween. I have converted that audio to wav 8bit/16bit. When i play the audio in full volume it still plays some noise.
Because i play the audio in android using audiotrack.write() it plays buzzing sound

The noise might be generated by the electronic equipment you are using to play the track, not by the digital file itself. There is always a bit of noise and it cannot be avoided completely. You can reduce it by buying more sophisticated headphones/sound cards, woofers etc.
Take a look at the Signal-To-Noise-Ratio concept. If there is no signal (silent track) at max volume it is easier to hear noise that otherwise is hidden by the signal.

Related

AVAudioRecorder : Are there any other reasons to decrease the volume of recorded audio?

I'm developing a video editing app which includes audio/video recording feature.
I faced an issue like the links below, but none of the solutions work and I'm stuck.
Of course I've tried setting AVAudioSessionCategoryPlayAndRecord and AVAudioSessionCategoryOptionDefaultToSpeaker which is proposed in the below links.
How to increase volume of sound recorded using AVAudioRecorder
Low recording volume in combination with AVAudioSessionCategoryPlayAndRecord
On top of that I have checked the recorded audio's volume with external audio editing tool(Audacity on Mac) and compared to the audio which was recorded with simple audio recorder app Audio Recording using AVAudioRecorder. The wave height of my app's audio is lower by approx. 20dB.
Normally thinking I'm doing something else to lower my recording volume without notice, but I cannot find anything else to affect the recorded volume.
Are there any other things I have to check around the audio recording settings or any operations which may reduce the recorded audio volume?

Capture when recording audio, stops to receiving audio AVAudioRecorder

There is a talking cat app well known for iOS devices, in which you speak your voice and he repeats. Analyzing this app, you'll see that it stops talking when you stop talking, that is, it stops to capture the audio when not receive another voice.
I was giving a analyzing the methods of AVAudioRecorder class, and not found any method in which to capture when the User stop to talking or recorder stops to receive external audio.
How can I capture when the audio recorder stops to receiving audio.
Process the audio stream as it is coming through. You can look at the frequency and volume of the stream. From there you can determine if the user has stopped talking.
I suggest frequency and volume as the recorder still picks up background audio. If the volume drops dramatically then the sounds the recorder is picking up must be further away from the device than before. The frequency can also lend itself to:
A.) Filter out the background audio in the audio used to replay the audio with a pitch change or any other changes. etc.
B.) I do not know the limits of frequency for the average human. But this covers the use case where the user has stopped talking, but have moved the device in such a way that the recorder still picks up load shuffling from moving fingers near the mic.

iOS: Mute right channel volume

I'm trying to mute the right channel for all audio apart from an audio stream that I control.
I am using a number of libraries playing audio including OpenEars for Text-to-speech and I would like all of them to only play out the left headphone speaker while I play something else out the right speaker.
I know how to play out just the right speaker creating an Audio Units stream however I am not creating the audio streams for the other libraries. Is there a way to change the default audio channel? Or is it possible to create an effort or mixer that is applied to all audio going out that mutes the right channel?
Any help/hints would be much appreciated.
If you don't need low latency audio, wich AudioUnit provides, you can try using AudioQueues to play your audio instead, AudioQueues has the highest degree of control over audio in iOS (it supports synchronization, channel control, volume gain, buffer, etc.). Here's some links to Apple's documentation :-)
Audio Queue Services Programming Guide Introduction: http://bit.ly/10ikt4G
About Audio Queues: http://bit.ly/YfnVI8
Playing audio with AudioQueue: http://bit.ly/10ikAgT

Capturing iPhone game audio

I'd like to capture the audio (music + sound effects) coming from my iPhone game. AVCaptureSession seems to have only the microphone as audio source. I'd like to capture the audio, put it into CMSampleBufferRefs and append these to an AVAssetWriterInput.
I'm currently looking into Audio Queues. Any other ideas?
There is no API to directly capture all the sound effects and music from your game.
The most common solution is for an app to generate all sound twice, once for audio output, plus a second identical copy in the from of PCM samples to feed a DSP or Audio Unit mixer. Then feed the mixer output to AVAssetWriter or other file output. This technique is much easier to implement if all the sounds produced by your app are in the form of raw PCM audio played via Audio Queue or the RemoteIO Audio Unit API, which may require significant rewrites to your music and game sound code.

Play a beep that loop and change the frequency/speed

I am creating an iphone application that use audio.
I want to play a beep sound that loop indefinitely.
I found an easy way to do that using the upper layer AVAudioPlayer and the numberOfLoops set to "-1". It works fine.
But now I want to play this audio and be able to change the rate / speed. It may works like the sound played by a car when approaching an obstacle. At the beginning the beep has a low frequency and this frequency accelerate till reaching a continuous sound biiiiiiiiiiiip ...
It seems this is not feasible using the high layer AVAudioPlayer, but even looking at AudioToolBox I found no solution.
Any help?
Take a look at Dave Dribin's A440 sample application, which plays a constant 440 Hz tone on the iPhone / iPad. It uses the lower-level Audio Queue Services, but it does what you're asking (short of the realtime tone adjustment, which would just require a tweak of the existing code).

Resources