2009-09-18 39 views
0

是否有任何良好的C++源代碼或api來處理電話線,如理解音調信號。例如,我想知道該人是否輸入了3(這很可能是使用它的音調來完成的)。用於理解電話線上的音調信號的C++ api

爲此我需要一個特殊的調制解調器,還是隻能使用標準調制解調器來完成。

回答

1

DTMF是您正在尋找的術語: http://en.wikipedia.org/wiki/Dual-tone_multi-frequency

是否能夠處理傳入的DTMF音頻與特定的調制解調器取決於調制解調器是否支持它。如果有,則會有一個AT命令來管理它,既用於發出輸出的DTMF音頻,又用於收到輸入的DTMF音調。

有一些例子在這裏:http://www.tek-tips.com/viewthread.cfm?qid=24275&page=1

具體的AT命令可能取決於特定的調制解調器。

如果您的調制解調器無法處理DTMF本身,並且您有興趣能夠將DTMF音調注入輸出音頻流/從輸入音頻中識別並提取DTMF音調,那麼您需要一些DSP支持;這不會是你可以在C++中完成的事情。

+2

即使在C++中,生成DTMF音調也相當平凡。從原始音頻中識別它們肯定可以用C++完成(通常藉助於FFT或Goertzel算法)。 – Managu 2009-09-18 12:01:27

0

在網上似乎有很多TAPI DTMF解碼器和示例代碼,這將使您從硬件中脫穎而出。