I need to detect acoustic echo/sidetone from a unmuted telephone handset.
Basically I am calling a telephone handset on my mic muted computer. I then play a sound from the computer to the phone and record the incoming audio from the handset.
I need to detect if the telephone I called was on mute or not.
If its not muted I should see some sidetone/echo in the audio file.
Currently I am having issues seeing any echo in the raw audio.
Is there any software or algorithms I can run the audio file through to detect the echo/sidetone?
Is there any specific tones or freq I should play to generate the biggest echo?
Echo and sidetone are generally looked at separately although they do overlap - sidetone is sound that 'leaks' from the microphone in the handset to the speaker in the same handset (the leak can be in handset, the phone or sometimes the local linecard in the exchange/PABX), and echo is sound that travels from one party in a call to other party at the far end of the call and then 'leaks' back along the connection to the original party again.
For echo if the distance is short then it effectively behaves the same as sidetone as the user simply hears a portion of what they have said played back at almost exactly the same time they are saying it. If the distance is long enough that the 'echoed' sound is heard after the user has spoken then it sounds more like an 'echo'.
You should be able to visually see the effect by generating a sound clip into the microphone of the handset being tested which has a very distinct shape when you graph it, and then comparing that with a graph of the sound received in the earpiece of the handset. To test echo you generally need to simulate a delay somehow, or else the echo will look just like sidetone.
Related
So, I have spent quite a bit of time looking for the answer but I get the exact opposite (something I already know how to do), namely, the audio below a certain threshold can get muted (can be done either with ffmpeg or sox).
What I need is for the command to search my audio for anything that exceeds -18dB and mute all such segments. (The reason for this is because I have a recording where I am playing an electric piano with the audio output being recorded directly through the cable, but I am also recording from two microphones what I am speaking - between my playing. When I am playing the keyboard, the mics pick up a lot of action noise which I want to mute, and that's easy to do because the channel that records my piano input has piano sounds at that point and that corresponds exactly with when I want the audio from my mics to be muted, or at least attenuated.)
Does anyone know if such a feat is possible?
If it cannot be done with just one command, that's fine I'll try anything.
I am having so much trouble doing something that should be SIMPLE. I do sales for a golf course and I have to read the same thing over and over again on every call and it gets so damn annoying. I want to be able to play a pre-recorded wave/mp3 file through the mic input of my headset so I can just play the recording at the right point in the sales cycle instead of repeating it 200X a day. I have succeeded in doing it with stereo mix BUT it will disable the voice aspect of the microphone so when the recording is finished, I have to jump into setting real fast and switch the mic input - which is not doable.
I know there is a way to do this. I see twitch streamers do this sort of thing all the time. I have tried SO MANY methods and nothing seems to work.
I'm trying to make a video tutorial, so i decided to record the speeches using a TTS online service.
I use Audacity to capture the sound, and the sound was clear !
After dinning, i wanted to finish the last speeches, but the sound wasn't the same anymore, there is a background noise(parasite) which is disturbing, i removed it with Audacity, but despite this, the voice isn't the same ...
You can see here the difference between the soundtrack of the same speech before and after the occurrence of the problem.
The codec used by the stereo mix peripheral is "IDT High Definition Codec".
Thank you.
Perhaps some cable or plug got loose? Do check for this!
If you are using really cheap gear (built-in soundcard and the likes) it might very well also be a problem of electrical interference, anything from ...
Switching on some device emitting a electro magnetic field (e.g. another monitor close by)
Repositioning electrical devices on your desk
Changes in CPU load on your computer (yes i'm serious!)
... could very well cause some kinds of noises with low-fi sound hardware.
Generally, if you need help on audio sounding wrong make sure that you provide a way to LISTEN to the files, not just a visual representation.
Also in your posted waveform graphics i can see that the latter signal is more compressed, which may point to some kind of automated levelling going on somewhere in the audio chain.
I have a midlet that upon discovering something displays some information, vibrates, flashes the screen, and makes a sound - all to get the user's attention. The problem is that the sound is not loud enough.
how do i make the phone produce the loudest sound it can ? I prefer not to add a sound file unless that's the key. I prefer to use standard j2me library, but can settle for Nokia's library if absolutely needed.
I am mainly targeting Nokia S60 or S40.
currently, the best i can come up with is this:
Manager.playTone(ToneControl.C4, duration, 100);
But you can hardly hear the sound this makes on some phones.
Is it possible to disable noise cancellation for the microphone in Android (specifically 1.5) via code?
I want to create a dumb MicrophoneApp that records all the background noises, but I believe that noise cancellation for the microphone is getting in the way. I know you can do it if you root your phone and edit settings (ie this article), but I want to make it without root the phone.
Noise filters in audio recording sources on Android vary greatly from device to device. It isn't until Ice Cream Sandwich that any sort of definition was put into the device compatibility document defining a method for not having filtering. That method id to use the MediaRecorder.AudioSource.VOICE_RECOGNITION audio source. Before that it's just choose a setting and hope for the best. I've found that some devices work better with MIC and some with VOICE_RECOGNITION prior to 4.0. HTC seems to have started the use fo VOICE_RECOGNITION as a no-filter zone pre-ICS.
Since there is no loop-back audio interface you can't even detect it but you can surface different audio paths to the user to choose from.
i dont think without rooting the phone you can change microphone behaviour. noise cancellation is more a function of second microphone than some software, and to alter some hardware you would require super user privileges.
Ok, noise detection and cancellation is done using two microphones and android simply differentiate both signals coming from each one of them and get the right signal of the speaker, Sony Ericsson Neo have the noise mic in the back of the phone, simply you can disable the second mic and you will get the full signal.