標籤:

電話機真的可以用嘴巴模擬撥號音來撥號?

也就是說:柯南劇場版里的情景是真的嗎?聲音可以撥號,不用按鍵?


謝邀
首先,理論上說,這是完全可行噠。
我去試了下,還是蠻好玩的,哈哈。
另外,這樣撥通的電話,還是會產生話費的哦。

小時候看柯南的時候,就覺得非常好奇,這特么都行…

先是老遠用足球踹下一個電話,然後和女高音模擬撥號聲,進行報警求救。

小時候就直接驚呆了,這都行!
一直好奇到工作之後,有空的時候特地去試了一下。
平時聽電話的撥號音,確實覺得每個按鍵發出的聲音是不同的,但讓我這種五音不全的人學柯南準確模仿撥號音那是不可能的。
關鍵是,找不到妹子跟我一起啊~啊。

算了,只能作弊了。
我先把電話上的12個按鍵音給錄下來,
然後把音頻用軟體分開,從1到#,單獨的存12個按鍵音。

把電話機放在電腦音箱邊上,然後把要撥打的號碼依次拖進播放器的別放列表。

先打個10086試試,打開電話的免提,然後點播放。
(記得把隨機播放點掉哈,不然打到哪兒去都不知道就傻逼了)
……
……
……
歡迎致電中國移動
普通話服務請按1
For English Service Please press 2

哈哈哈
通了通了
我順手,又丟了個2的音頻進播放列表……

音箱傳出的撥號聲,真的可以把電話撥通。
之後,我用同樣的方法,試了下用手機撥打。
直接在桌面待機界面播放音頻就能撥號……
測試視頻:慎用免提,小心小偷破解撥號音

通過聲音來撥通電話確實可行,原理其實挺簡單的,每個按鍵音頻段不同。
簡單的說,無論是座機還是手機的撥號系統,每個數字都對應了特定頻段的音頻,只要達到這個頻段,撥號系統就能夠識別,來播出相應的號碼。

現在電話的撥號方式,一般都採用雙音多頻的撥號方式,雙音多頻分為高頻群和低頻群,如果你能同時發出高頻群和低頻群兩個頻段的聲音,就等於在電話機上按下撥號鍵。

比方說低頻群的697Hz和高頻群的1209Hz對應的是數字1
當你在電話上按下1時,就會發出697Hz和1209Hz雙音多頻的撥號信號。

系統就能識別,撥出號碼1.
所以在免提狀態下,只要模擬出相應頻段的音頻,系統就能識別並撥號。
但純用人聲去模擬,還是比較困難的,首先你要跟柯南小盆友一樣,開著萬能無敵主角光環,還需要一個妹子跟你一起啊~啊~啊~

同樣,反過來說,如果把撥號聲給錄下來,由它就可以推算出對應的數字。

我隨便按了三組數字
分別是:1234、5678、0926

然後去坑我們的音效師,看他能不能通過波形匹配,倒推出相應的數字。

結果,他給我的三組數字是:1874、5677、0926.

隨隨便便就蒙對了70%左右的正確率,除了有幾個撥號音頻率本身就比較接近外,我還被他噴,說是我一邊錄一邊嗶嗶,影響收聲。

總結:
電話機真的可以用嘴巴(音響)模擬撥號音。
DTMF(Dual Tone Multi Frequency)雙音多頻信號,是電話中常用的信令,無論是家用電話、行動電話還是程式控制交換機,多採用DTMF信號發送接收號碼。
DTMF信號的本質是一個高頻信號和一個低頻信號疊加所形成的一個組合信號,這使DTMF信號的編碼變得非常簡單。除了前文中,我提到過按鍵1所對應的音頻外,其他按鍵對應的音頻是這樣的:

DTMF信號檢測識別,其實有很多方法。我略微研究了一下,用合適的演算法是能夠非常準確的將DTMF識別的。
通過對DTMF信號音的識別來竊取電話號碼及銀行卡密碼的事情也屢見不鮮,所以就不多做展開。

最後,祝大家早日找到能夠和你一起啊啊啊的另一半……

成功,撥號……


來源:http://www.cnblogs.com/SkyD/archive/2008/11/17/1335329.html
在柯南的劇場版《戰慄的樂譜》之中,柯南通過唱出特定頻率的聲音來模擬電話的按鍵音,從而由遠處撥通了報警電話。我看字幕上寫著「切實可行」,便對此產生了興趣。

我想我們完全可以用編程來實現一個電腦撥號鍵盤,通過按鍵從音箱中發出對應的電話按鍵音,傳入電話聽筒實現撥號。
也許這樣只會對電話鍵盤進水的人有用吧(比如我-_-#),但是進一步,我們還可以實現通過電腦管理一個常用電話薄,然後通過便捷的關鍵字過濾查找電話(比如輸入「王」、「微軟」、「136」等字元串,快速過濾掉不含關鍵字的聯繫人),並呼出,相信沒有哪個電話機會比電腦的管理功能更強大吧。
還可以為OutLook寫一個插件,來實現對聯繫人的撥叫。
網上搜了搜,原來有人同樣對此感興趣,並已經做了實驗:http://www.xycad.com/html/93/t-32793.html
他是根據片中的這個表格來生成的按鍵音:

而我發現Adobe的Audition 3.0中就內置了這樣的功能,只需打開菜單「生成 &> 脈衝信號..」:

可以看到,這裡已經有那個表格了,而默認的脈衝信號設置也就是使用的這個表格。
輸入「13800138000」,調整一下其他選項,按「確定」生成:

局部放大看看:

只需按此方法將每個按鍵音生成,並獨立保存為.wav文件,就可以嵌入在.Net程序中,通過SoundPlayer播放了。
我為此編寫了WaveCallSound.dll,專門實現發音功能,其中已內嵌了這些獨立的按鍵音資源:

這裡面只有一個WaveCallSound靜態類,包含兩個擴展方法,分別對應string和char類型,作用就是播放對應的電話號碼按鍵音:

使用WaveCallSound.dll時只需將其引入項目,然後引用WaveCall命名空間,之後只要這樣使用就可以了:
WaveCallSound.播放("9",true);
WaveCallSound.播放("8",true);
WaveCallSound.播放("7",true);
WaveCallSound.播放("*",true);
WaveCallSound.播放("#",true);
WaveCallSound.播放("3",true);
WaveCallSound.播放("5",true);
"6".播放(true);
"3".播放(true);
"4".播放(true);
WaveCallSound.播放("13988991029");
"10060".播放();
然後我還製作了一個WPF程序WaveCallKey(中文名暫定為「我靠」?),用以提供撥號界面:

使用方法如下:
1.拿起電話聽筒,使話筒貼近音箱:

2.使用WaveCallKey程序進行撥號。
3.正常通話即可。

雖然固話逐漸會被手機替代,但現在也還是有很大份額的,所以這樣的應用也還是有些意義的(手機話費全報銷的同志就不要喊話了~)。
感興趣的朋友可以在此基礎上做出電話薄管理或者OutLook插件,相信那會在業務員中大賣的哈^^

WaveCallKey撥號程序及WaveCallSound.dll下載:http://files.cnblogs.com/SkyD/WaveCallKey.rar
獨立的撥號音wav文件:http://files.cnblogs.com/SkyD/PhoneWave.rar

本文的PDF版本下載:http://www.box.net/shared/e43j0xmsc4
http://www.uushare.com/user/icesee/file/1018323

PS:話說柯南都演了10年了,電視上播出有500多集了吧,他們居然還在上一年級!!萬年留級生啊,太缺了~

電話機真的可以用嘴巴模擬撥號音來撥號?
http://www.guokr.com/question/1109/
理論上是可能的。「用嘴巴模擬撥號音」這種操作方式甚至在上世紀70年代成了一種獨特的文化——飛客文化的一部分。而飛客,被認為是黑客文化的開端。他們是一群用特別的吹口哨技術和自製的小設備欺騙電話公司、盜打免費電話的人。他們中極少數的佼佼者,能夠對著電話的話筒吹出特定頻率的口哨聲,遠程遙控電話局的系統停止計費,從而不花錢打長途電話。其他人口技沒這麼好,就用玩具哨子、金絲雀或者特製的小儀器來發出這個聲音信號。

至於用聲音來代替按鍵撥電話號碼,也是同樣原理,只不過更困難一些。這就是《名偵探柯南》的劇場版里描述的場景:柯南他們對著十米開外的一個電話機唱了幾個音,就成功撥出了110這個號碼。

電話撥號,本質上就是把一串電話號碼發到電信局,電信局再根據這串號碼給你轉接別人。聽起來很簡單,我們每天上網都在把各種數據傳來傳去的。但是別忘了,電話發明在1876年,當時的技術剛剛解決了通過電線來傳送聲音,和現在互聯網用的技術完全不同。那時候打電話不用撥號,只要拿起話筒就接通了一位話務員妹子,直接告訴她你要打給誰,她就會幫你轉接。

現在的電話線同樣只能傳送聲音,只不過對面的妹子換成了機器(多麼傷感的改變那)。我們不能對著機器念電話號碼,機器聽不懂,所以電話機必須用一個統一的格式,把數字轉變為聲音來傳送。每次當你按下數字鍵,電話機就會發出一個聲音。這個聲音的頻率是事先約定的,不同數字各不相同(其實就是你按鍵時聽到的那種高低不同的「滴滴」聲)。機器收到這個頻率的聲音,就知道你要撥什麼號碼了。

正因為如此,我們在撥號的這段時間,用嘴或者用任何音響設備發出的聲音,都有可能傳到電信局,成為一次撥號——但是這種情況太難發生了。每一個數字鍵發出的聲音,其實是兩個頻率聲音的組合(頻率的組合表見圖)。而且機器對頻率的認定非常嚴格,差一點點都不行,這樣做就能有效地避免雜音被誤當成了撥號。

回到動畫片里的情況。理論上,找兩個音感非常準的音樂家,同時唱出表中數字對應的兩個頻率(唱什麼歌詞倒無所謂),機器就會認為這是一次撥號。這和飛客們當年做的事情相似,只不過更難成功。就算是王菲、麥當娜,恐怕也要反覆試個幾百次,才能偶然成功一次吧。


電話撥號技術主要分為脈衝撥號和音頻(雙音頻)撥號兩種。
相對而言脈衝撥號的技術比較老,其利用脈衝個數表示撥號數字。但目前這個技術基本上已經老了被取代了。
音頻撥號技術利用不用頻率的聲音來表達撥號數字,屬於比較新的技術。

從技術原理上來說,兩種撥號模式都有可能依賴嘴巴模擬撥號來實現撥號,但事實上從可操作性上來說,脈衝撥號上更可行一些。因為控制節奏比控制頻率對人的嘴巴要跟容易一些。
真正最有效實用的模擬撥號,其實是在脈衝撥號年代,採用手拍電話叉簧來產生脈衝,成功率是非常的高的。當年我個人嘗試拍一個7位號碼的時候,至少也能對3個,我見過拍叉簧的牛人,那基本上能夠做到非常高的準確率,至少在95%以上,以前這種手段經常用來破解呼叫限制什麼的,用來免費打長途很好使,也就是樓上文中所談到的所謂70年代的飛客文化。
至於用嘴巴模擬脈衝信號,要比拍叉簧難,畢竟一般來說人的臉部和舌頭的肌肉不如手部肌肉靈敏。

至於在音頻電話,是不可能使用拍叉簧的方式進行模擬,因此音頻電話的普及直接導致了飛客文化的衰落。但是音頻電話理論上也可以用嘴巴模擬信號,但是難度實在太大了,現在的雙音頻撥號依賴兩個不同的頻率的聲音來表達一個數字,要用嘴巴一一精確模擬,至少我還沒有見過這樣的真人。但是當年脈衝電話時代所造就的傳說依然在延續,這可能就是為啥這些傳說依然流傳的原因。

最後,需要說明的是,雖然現在很多的電話機都還能夠支持音頻和脈衝的雙撥號,但是撥號方式是由局端的交換機在決定的。而在中國,90年代中期的時候可能還能在一些極偏遠的地方找到幾台在用的脈衝撥號交換機,到現在的話,應該幾乎已經不能夠找到脈衝撥號的交換機了。全部是音頻撥號了,因此,傳奇已然是過去時了。


理論是對的,實際用人聲是絕對做不到的,必須是波形發生器。


這個功能早就有了啊。以前用Windows Mobile系統里就有一個軟體,你可以在裡面選擇一個聯繫人,然後把手機放到電話話筒旁邊,然後他就發出一些聲音,然後電話就撥出了這個號碼。

另外我記得可以選擇脈衝和音頻兩種模式。脈衝模式就是以前老式電話,播一個號碼就發出幾個脈衝,比如按5就嘟嘟嘟連響5下。音頻就是現在的電話,按照頻率高低來確定播出的哪個數字,所以拿起電話按號碼時,聽到的那個響聲就是播給電話局設備聽的。

不知道現在的iOS和Android上有沒有這種軟體~


可行。
這個從最早的轉盤電話說起比較容易理解。以前的電話是用轉盤進行撥號,撥數字1的時候會撞擊觸發一次脈衝,撥數字2時角度更大,觸發兩次脈衝,撥數字0時幾乎是繞一整圈觸發10次脈衝(因為無法只撞擊0次)。
曾經世界頭號黑客米特尼克在老師將實驗室里的電話機的轉盤用鎖鎖住的情況下,米特尼克就通過手動敲擊頂針觸發脈衝的方式成功撥打電話。

現在的電話將以前的脈衝信號換成了DTMF信號,即每個數字由一個低頻信號和一個高頻信號疊加而成,每個音頻信號有一個唯一的數字與之對應(電話線傳遞的是聲音信號)。
而解碼起來也非常方便,這裡有一個online版本的工具:
Detect DTMF Tones
將電話撥號音文件上傳以後就可以得到解碼後的數字信號。

這是一張dtmf與數字的對應表。

以上是理論上的可行性。而實踐上也是有很多人嘗試過的。其實黑客技術最早就起源於電話飛客技術,而這種撥號方式對於當年的飛客可能就只算做一種基本功,不夠熟練的人可以藉助哨子一類的器具輔助完成。

當年有一則新聞講的是一個年輕人通過訪談節目中的撥號音找到了李開復(?忘了是不是他)的電話號碼,然後被大力賞識。其實這種題目在現在ctf比賽里中能算作100分的題目的一小部分。


直接點掛機鍵(圖中橢圓中的鍵)也可以,比如188就可以摁一下,停頓,連續快速摁八下,停頓,連續快速摁八下,這就是188了,如果是零就摁十下。
這就是脈衝撥號。


我記得Jobs和Woz就干過這事兒...搞了個藍盒子還是啥的...


告訴我看到這個題腦子裡開始迴響:「糾正,糾正!」的不是我一個人。


現在電話選擇dtmf方式發送號碼,1對應一個聲音,2對應另一個聲音,依此類推。理論上是可以嘴巴發出聲音來完成撥號。但當今,話機在撥號時是關閉麥克風的,所以嘴巴再厲害也沒有用。
為什麼要關閉麥克風?你想想,很多公司特別電話銷售公司大家都一起撥號,如果不關閉麥克風,那就有干擾。可能打出的號碼不是自己撥的號碼,那不是很麻煩嗎。

dtmf有個手機app,大家可以下載玩玩,可以監聽到免提下的撥號號碼,


可以,自己嘗試過,先用電話撥一個手機號,並同時用手機錄音。掛斷,手機對著電話播放錄音,電話也撥通了。但不是每個號碼都成功了,我爸的通了,我媽的沒打通。


突然想起來這種電話的「重播」按鍵按下去之後就是快速地播放了一串之前的號碼的音效,應該可以。


我覺得不行吧,雙音多頻,,,也就是一次有兩個頻率的音調,用示波器看的很清楚,真的是兩組峰,錄音是沒問題的,但是(一個人)人應該不能同時發出兩個頻率的聲音吧,,,


電話通信識別按鍵的方式是雙音多頻,就是DTMF,每一個鍵都用兩種頻率的脈衝聲音信號組成的和弦表示。我認為靠一個人的人聲是基本不可能的。我們的嗓子發不出和弦的聲音來。除非像高票答案說的那樣,你找個妹子跟你一起喊,一人一個頻率。但是首先你得。。。


我有另外一種固話撥號方法
快速按下掛機那個按鈕可以代替按鍵撥號,快速按1下彈起就是撥號數字1,數字0就是快速按10下,輸不同的號碼時在中間稍微停頓。
多年沒使用固話,不知道還能不能用


jojo第四部,康一在受長發女的愛與折磨,而我在這裡發現了柯南。。。


按道理應該是不能,實際上不知道。電話沒有接通,沒有必要把話筒聲音送往電話線。如果送入環境噪音還影響交換機解析號碼。設計得好,整個話筒側音頻輸入部分應該斷電節能。


難道看不懂題目和回答的就只有我一個人嗎Σ(っ °Д °;)っ


推薦閱讀:

怎麼放屁聲音最小?
怎麼能練成像電台主持人的聲音,溫暖磁性?
女孩子聲音很粗是一種什麼體驗?
和聲音很嗲的人說話是怎樣一種體驗?

TAG:聲音 | 電話 |