Does anyone know of a few good tools, including audacity, that one can shift 44.1khz dtmf audio into the ultrasonic range?
I believe the range for ultrasonic sound is anything over 20 kHz. You are already there.
darn that’s still audible… of course by 44.1 I’m meaning sample rate (CD Audio).
The idea here is to take something like this sample file (9208169.wav.zip (66.1 KB)) and shift the frequency outside the human range either infra- or ultra- sonic ranges.
Is there any tool that can do that?
DTMF uses 8 tones in the range of 697Hz to 1633Hz. If you just want to do a tone+20kHz to get these into the ultrasonic range, I think audacity will do this but you might not get the result you expect. What are you trying to do?
What are you trying to do?
Steganography challenge; Hidden text file in audio on channel 2 of a stereo mp4 file while channel 1 has voice over.
Oh, yeah audacity will probably do what you want. It might not be called a frequency shift, just a speed increase, which is the same thing.
Sorry, I am an old school analog guy. The human ear can barely hear above 15 kHz. Years ago as a TV repairman I could hear the horizontal frequency of a TV at 15.75 kHz. I could walk into a room and “hear” a TV operating. Not anymore, my hearing has degraded and the newer TV’s don’t operate like that anymore. You are trying to re-sample a digitized signal. I am not the person you should be talking to.
Sounds like you are trying to abstract a subcarrier. Can anybody else out there help?
cool, what’s the best way to go about it and also not lose the data because of lossless compression?
What you want is called a mixer in the RF world. Use a 20 or 30 KHz local oscillator. You get as output a waveform that is the original signal + and - the LO. You then filter for the one you want. An NE602/612 might work at audio frequencies if a hardware solution would work. Otherwise, look for a software simulation of an RF mixer. The math should work at audio frequencies.
You’re correct, but a mixer has a transfer function that’s just addition or subtraction in frequency domain. That’s the same as the frequency shift or time compression functions in audio editing software.
Errr… Lossless compression is lossless, so you won’t loose data? Make sure the sample rate is quite high, 96ksps would be the minimum to me.
In a theoretical scenario, you only need a sample rate of 2x the maximum frequency in a signal, but in practice you need to sample faster than that.
Also keep Nyquist in mind. You’re talking about 44.1kHz digital audio, so 22050Hz is the highest frequency you can output.
Yup.
I didn’t know the audio terminology for that function, but did know the RF side.
Problem with audio software is that the top end probably won’t be more than 96KHz max. If you want to go higher, you get to write your own.
A brute force way to do this would be to crank up the sample rate (SR).
2x SR and the dtmf doubles. Also play time is half.
This is linear. Figure what multiplier you for the dtmf freqs and multiply the SR accordingly.
Problems: Very short resulting play times and a SR that is probably not compatible w/ mp3/4
Audio editors have pitch shift tools. It’s been a long while since I’ve used them.
Quality is very dependent on how much / what kind of data you have up front.
Generally for any kind of digital processing, it’s way better to have to much data on the front end (ie input side) and down sample the results on the back end. Giving the pgm algorithms more data to work on generally yields better results. Thinking of this in post production processes.
So I had to go down the google rabbit hoe w/ “audio steganography”. Interesting
Also last time I checked mp3/4 are lossy compression methods.
Unless I’m crazy, I think you have this backwards? Double the sample rate means twice as much data and playing it at the normal speed would take twice as long (and be slower).
As a general question, if you’re specifying the DTMF data, why wouldn’t you just write a small program to generate the wave forms?
No. Doubling the SR for playback of an existing file. Think of it as playing 33rpm record at 66rpm. All frequencies in the playback will be doubled and the play time cut in half.
Go back read the original question. Generating the DTMF signal is not the goal. Burying it in an audio file so it’s undetectable is.
I read sampling rate as “the rate you’re sampling”.
I read the original. Is he taking some existing DTMF or is it something he could just generate to begin with and make life easier?
If you record something w/ SR of 22kHz and play it back 44k, the freq of the content played back will be doubled. The SR applies to both recording and playback. This is analogous to mechanical playback speed for tape, vinyl, etc.
A more specific example:
I record a 440 Hz concert note/tone A at 44 kHz for 2 sec.
If I change the playback SR to 22 kHz, the playback tone is now 220 Hz and playback time is 4 sec.
If I change the playback SR to 88 kHz, the playback tone is now 880 Hz and playback time is 1 sec.
I completely get it. Please feel free to ignore my comment.
You’re talking about doubling the playback rate. Cool. I thought you were talking about doubling the original sampling rate. Originally you just said double the sampling rate with no mention of playback.
Yeah - guilty as charged. Went back reread my post to see what was unclear.
Will strive to do better…