I am trying to train a machine learning algorithm on telephony speech audio. However, there isn't really enough data for this anywhere that I can find. My solution is to just use speech audio from Youtube videos. How can I convert audio from a Youtube video to audio that simulates telephony audio?
2 Answers
Band-pass filtering with cut-off frequencies of 300 Hz and 3400 Hz should result in a good approximation. Try with a Chebychev filter or order not more than 6.
Then you may need to downsample your audio to 8000 samples per second, which is the standard for telephony.
P.S. The actual cut-off frequencies (especially the 3400 Hz) may be different according to different sources. I'll edit this answer when I find the official ITU recommendation.
I did this once using two phones and by making and actual call. The calling phone had a good quality headset pushed against its microphone, and the audio was played through the headset. The audio was recorded from the headphone output connector of the receiving phone. The drawback is that the following things may be hard to replicate if someone wants to repeat the experiment later:
- Placement of the headphones with respect to the calling phone
- Adjustment of the headphone volume control
- Choice of the phones (affects microphone acoustics, microphone choice and internal filtering and gain control etc.)
- Condition of the calling phone (dust/dirt may affect the microphone)
- Phone network
You can hear the result in the male voice starting 4:38 here. It was a basic GSM network and random phones we used in 2011.
Or, you could try exporting the audio file as GSM 6.10 WAV in Audacity.