跳到主要內容

自製直播音源線

Bird Liang, Chief Engineer (梁子凌 / 技術長兼工程輔導長)
負責 AppWorks 技術策略與佈署,同時主導工程輔導。人生的第一份正職工作是創業,之後在外商圈電子業中闖蕩多年,經歷過 NXP、Sony、Newport Imagining、Crossmatch 等企業,從事無線通訊、影像系統、手機、面板、半導體、生物辨識等不同領域產品開發。熱愛學習新事物,協助團隊解決技術問題。放棄了幾近退休般的生活加入 AppWorks,為的是幫助更多在創業路上的人,並重新體驗創業的熱情。台大農機系、台科大電子所畢業,熱愛賞鳥、演奏管風琴,亦是不折不扣的熱血 Maker。
隨著 Facebook 開放一般帳號直播,現在我們只要拿起手機,隨時隨地都可以開始直播。回想幾年前 AppWorks 剛開始進行 Demo Day 直播時,還要將 HDMI 訊號接進 PC 中、再編碼打進 YouTube 的複雜度,實不可同日而語。
但用手機或平板直播最大的問題往往不是影像而是聲音。iPhone 或 iPad 上的攝影機,感度和解析度早已不輸數年前的專業攝影機,只要現場光不太差,大概都可以拍出令人滿意的畫面。但直播的聲音一直是個大問題,手機上的麥克風跟人耳所聽到的聲音其實有很大的差距,在比較大的場子裡,光是仰賴內建麥克風的收音多半無法有令人滿意的效果。
在大型的活動中,現場通常會有 PA 系統,最理想的方式還是想辦法將 PA 的訊號餵進 iPad 或 iPhone 中,保證聲音乾淨又清楚,絕對不會有其它有的沒的現場音。
iPhone 的耳機孔雖然可以插帶有麥克風的耳機 (如 Apple 原廠的 EarPods),但它的訊號位準是電容式麥克風的位準。PA 控台的輸出幾乎都是 line level 的,兩者的訊號電壓相差百倍以上,我們得做個小東西來解決這個差距。

Line 與 Mic

在 mixer 上,我們常會看到輸入可以在兩種規格中切換: line level 和 mic level。Mic level 顧名思義就是從麥克風來的訊號,這個訊號的規格是從不需供電的傳統動圈麥克風來的。因為不需供電,所有的訊號都來自於聲壓震動線圈、線圈再和磁鐵交互作用而來,因此它的訊號非常非常微小。有多小 ? 一般的動圈麥克風輸出的位準大概在 數個 mV 左右,也就是千分之幾伏特。
至於現在手機和其它攜帶裝置比較常用的電容式麥克風,它的工作原理是利用電容的極板震動時會改變電容量,進而改變輸出的端電壓。電容必須先充電,我們才能偵測它上面因為電容量改變所造成的電壓改變,因此電容麥克風一定要供電,沒有例外。除此之外,它裡面還會加一個前置放大器,以降低輸出阻抗,讓電容麥克風可以推動稍微重一點的負載。既然有放大器,電容麥克風其實可以把輸出位準做高一點,但為了保持和動圈麥克風的相容性,現在絕大多數的電容麥克風仍然做成 1mV 左右的 mic level 輸出。
至於 line level 則是一般聲音裝置之間傳送訊號的位準。其實業界對 line level 並沒有嚴謹的定義或一致的標準,有人做 0.7Vpp,有人做 1Vpp,偶爾也會看到 1.25Vpp 之類的。但對聲音訊號來說,一兩倍的差距並不算什麼,人耳對聲音的感受是對數特性的,也就是說如果音量第一格的訊號強度是 1,第二格的訊號強度就是 10,第三格的訊號強度則是 100。總之,一般的 line level 大概是在一伏特上下,多一點或少一點也行。

百倍的距離

PA mixer 的輸出是 line level,而 iPhone 的耳機孔只能接受 mic level 的輸入,這兩者之間有百倍以上的差距。怎麼辦 ?
衰減。
對,我們只要把 line level 的訊號衰減到它原來的百分之一以下,就可以餵給 iPhone。(還好我們是要把 line level 餵給 mic level,如果反過來的話,我們得做一個一百倍的放大器。)
衰減最簡單的方法就是用電阻分壓。只要兩顆電阻就可以搞定:
divider
來複習一下電子學:
Vout = R2/(R1+R2) * Vin
如果我要剛好衰減 100 倍的話,R2 用 1K ohm,R1 就要用 99K ohm。但實務上並沒有 99K ohm 這種阻值的電組 (就算是 E192 系列也沒有!) 而我們也不是真的那麼在意倍率的精確度,因此 R1 就放 100K ohm 也不會有什麼問題。
我們假設 iPhone 的麥克風輸入應該是高阻抗的電容性輸入,因此衰減電路的阻抗 (也就是 R1+R2) 對輸入端的訊號位準沒有影響。如果輸入端的阻抗比較低的話,R1+R2 就不能太大,不然會推不動輸入端。

實際動手做

看完訊號的格式後,我們來面對實際的問題。
AppWorks 常用的 mixer 是 Behringer 的 802 系列 8 軌 mixer,除了 main output 之外它還有一組 6.3mm 的 monitor output,如果要拉直播的訊號,從 monitor output 拉應該是最適合的。
因此,我們需要一個 6.3mm 的單聲道插頭,再加上兩顆電阻: 100K 跟 1K。
img_2338
6.3mm 的插頭內部空間夠大,我們可以把衰減電路藏在裡面。
img_2341
這是 1/16W 的 axial-lead 電阻,兩顆藏在裡面綽綽有餘。第一次做的時候,我用的是 0603 的 SMD 電阻,但我發現 SMD 電阻沒辦法承受待會兒隔離線焊上去之後的剪力,焊點很容易剝離,因此才去買了 axial-lead 的電阻來做。
衰減電阻焊好後,就可以把線焊上去了。
img_2343
電路很簡單:
circuit
我手上剛好有些雙隔離線,就拿來用。我們只需要用來傳送一個聲道,所以我把紅色和白色兩芯一起接在衰減電路的輸出。

iPhone 端

iPhone 這一端比較複雜一點。iPhone 的耳機插孔為了要容納麥克風以及遙控器的訊號,比一般的 3.5mm 立體聲耳機多了一個接點:
img_2395
一般的 3.5mm 立體聲耳機只有三個接點,稱之為 TRS (tip、ring、sleev),分別是左聲道訊號、右聲道訊號、以及接地。而 iPhone 的 3.5mm 插頭有四個接點,稱之為 TRRS (多了一個 ring),分別是左聲道訊號、右聲道訊號、接地、以及麥克風訊號兼控制訊號。
這種四極的耳機兼麥克風插頭稱之為 AHJ (American Headset Jack),是目前的主流。除了 Apple 之外,大部分的 Android 手機也是遵循這個標準。但在稍早的年代,還有一種叫作 OMTP (Open Mobile Terminal Platform) 的標準,使用一樣的接頭,但最後兩個 RS 的訊號倒過來: S 是 ground,R 是麥克風訊號。如果插入一般耳機的話,這兩種標準的 mic 和 ground 都會被普通耳機的 ground 給短路,因此完全不會影響耳機的使用。但如果要使用帶麥克風的耳機,這兩種標準之間是無法互換的。
OMTP 被用在一些比較舊的 Nokia、Motorola 和 Sony Ericsson 手機上,目前已經很少見。
這裡還有個冷知識: 中國在 2009 年採用了 OMTP 當做 YDT 1885:2009 國家標準 (“移动通信手持机有线耳机接口技术要求和测试方法”),因此 Apple 在中國銷售的 iPhone 被迫採用 OMTP 標準的耳機接頭,也就是說中國機種的 iPhone 跟 EarPods 無法跟世界其他地方的 iPhone 交換耳機使用。
感謝行動電話的普及,讓我可以輕易在光華商場買到四極的 3.5mm 插頭。照著上面的接線把訊號線焊上去:
img_2346
這個焊法和一般的認知不太一樣,因為 sleeve 一般是拿來接 ground,但由於 AHJ 的規範,sleeve 是麥克風訊號,因此訊號要焊在 sleeve 上,ground 反而接在第二個 ring 上。
線做好之後,我們就可以把它接到 mixer 上測試。6.3mm 那端插到 mixer 的 monitor output,3.5mm 那端則插到 iPhone 上:
img_2351
雖然我們沒有接 3.5mm 插頭上的耳機訊號,但 iPhone 偵測到耳機孔裡有插頭插入,仍然會認為你插了耳機,因此這條線插著的時候,手機的喇叭都不會出聲。
那要如何測試衰減過的訊號有沒有正確餵進 iPhone 裡呢 ? 可以用 iOS 內建的 “錄音程式“。
img_2349
錄音程式如果偵測到有外接麥克風的存在,就會自動用外接麥克風錄音。我們再從 mixer 餵一點訊號出來,如果在錄音程式裡有看到波形,就表示 mixer 的訊號有正確餵進去。畫面上這個振幅大概是 mixer 端輸出 0.5Vpp,衰減 100 倍後餵進 iPhone 裡看到的波形。
還有件很重要的事: 最好幫這條線貼個標籤。因為線裡面有 100:1 的衰減電路,但它的外觀跟一般的 6.3mm 轉 3.5mm 線非常像,如果被拿去誤用的話會發生很多鬼打牆的問題。
img_2352
最後,就可以上場直播了!
img_5346

留言

這個網誌中的熱門文章

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示

2017通訊大賽「聯發科技物聯網開發競賽」決賽團隊29強出爐!作品都在11月24日頒獎典禮進行展示 LIS   發表於 2017年11月16日 10:31   收藏此文 2017通訊大賽「聯發科技物聯網開發競賽」決賽於11月4日在台北文創大樓舉行,共有29個隊伍進入決賽,角逐最後的大獎,並於11月24日進行頒獎,現場會有全部進入決賽團隊的展示攤位,總計約為100個,各種創意作品琳琅滿目,非常值得一看,這次錯過就要等一年。 「聯發科技物聯網開發競賽」決賽持續一整天,每個團隊都有15分鐘面對評審團做簡報與展示,並接受評審們的詢問。在所有團隊完成簡報與展示後,主辦單位便統計所有評審的分數,並由評審們進行審慎的討論,決定冠亞季軍及其他各獎項得主,結果將於11月24日的「2017通訊大賽頒獎典禮暨成果展」現場公佈並頒獎。 在「2017通訊大賽頒獎典禮暨成果展」現場,所有入圍決賽的團隊會設置攤位,總計約為100個,展示他們辛苦研發並實作的作品,無論是想觀摩別人的成品、了解物聯網應用有那些新的創意、尋找投資標的、尋找人才、尋求合作機會或是單純有興趣,都很適合花點時間到現場看看。 頒獎典禮暨成果展資訊如下: 日期:2017年11月24日(星期五) 地點:中油大樓國光廳(台北市信義區松仁路3號) 我要報名參加「2017通訊大賽頒獎典禮暨成果展」>>> 在參加「2017通訊大賽頒獎典禮暨成果展」之前,可以先在本文觀看各團隊的作品介紹。 決賽29強團隊如下: 長者安全救星 可隨意描繪或書寫之電子筆記系統 微觀天下 體適能訓練管理裝置 肌少症之行走速率檢測系統 Sugar Robot 賽亞人的飛機維修輔助器 iTemp你的溫度個人化管家 語音行動冰箱 MR模擬飛行 智慧防盜自行車 跨平台X-Y視覺馬達控制 Ironmet 菸消雲散 無人小艇 (Mini-USV) 救OK-緊急救援小幫手 穿戴式長照輔助系統 應用於教育之模組機器人教具 這味兒很台味 Aquarium Hub 發展遲緩兒童之擴增實境學習系統 蚊房四寶 車輛相控陣列聲納環境偵測系統 戶外團隊運動管理裝置 懷舊治療數位桌曆 SeeM智能眼罩 觸...
你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵   2018-12-19 17:00 209801   人氣       現正熱映中 熱門文章 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 防堵非洲豬瘟的大功臣!超萌檢疫犬敬業值班「精彩故事多」,奇葩陸客最令人哭笑不得… 中央社 2018-12-17 11:41 機票錢根本花的冤枉⋯又貴、又擠、又騙!世界「六大最雷景點」,不要再輕信網路「照騙」了! 周佳萱 2018-12-14 13:58 活活燒死193人!列車駕駛叫大家「坐好別動」卻拔鑰匙逃跑…韓「大邱地鐵縱火案」離譜內幕 黃瑜敏 2018-12-18 12:34 火鍋的靈魂:湯底的秘密⋯國宴名廚:只要「這樣做」,清湯白水也能煮出好滋味! 食力foodNEXT 2018-12-16 10:00 駭人實驗!失散19年三胞胎感人重逢,意外揭穿「失散真相」是一樁慘無人道的心理實驗… 黃瑜敏 2018-12-17 15:04 誰理你們!從SARS爆發冷血嗆聲,到非洲豬瘟疫情不通報…看見「兩岸一家親」不過是場笑話 潘渝霈   蔡佳妘 2018-12-18 17:47 向老闆提升遷遭拒!3年後他當上主管才看透真相:太認真、太專業、太忠誠都是升遷阻礙... 洪雪珍 2018-12-19 14:34 醫院藥師月薪5萬起跳、只要包藥發藥很好賺?過來人痛揭醫院「領藥得來速」的黑暗真相 時報出版 2018-12-17 14:19 男孩與美洲豹玩耍照片竄紅網絡引發深思 BBC中文網 2018-12-17 12:24 更多文章   熱門分享 你掛65號,到醫院發現才看到7號怎麼辦?這家公司想出好方法,現值50億美金 創新拿鐵 2018-12-19 17:00 ...

HTTP headers設置,讓網站更安全避免淪為挖礦機

https://meet.bnext.com.tw/articles/view/42595?utm_campaign=5741400&utm_source=SendPulse&utm_medium=push HTTP headers設置,讓網站更安全避免淪為挖礦機 梅干 2018/04/17 最近一位工程師好友,突然丟一個檢測平台的分數,起初梅干以為是SSL檢測,就進入測試一下,卻發現到,怎分數相當的低,最後研究了一下,原來網站不是有加入SSL憑證就代表安全無誤,就在今年的六月KeyCDN在官方部落格,發表了一篇關於站點HTTP headers配置,分別為X-XSS-Protection、X-Frame-Options、X-Content-Type-Options Content-Security-Policy、Strict-Transport-Security、Public-Key-Pins這六項進行安全的設定,讓網站更加的安全,不會淪為挖礦主機。 而要修正這個HTTP headers的配置,一點也不難,只需將設定參數加入.htaccess文件後,立即就可讓網站更加的安全,並且也可遠離挖礦惡意程式入侵主機,因此身為網站管理員,這個絕不容輕乎,因此也趕快來檢測看看,你的網站是否安全,以及要如何將網站進行修正。 HTTP headers檢測網站 網站名稱: securityheaders.io  網站連結: https://securityheaders.io Step1 首先,開啟.htaccess檔案後,並加入下方的參數設定。 # HTTP security settings start Header set Strict-Transport-Security: max-age=2592000; Header set X-Frame-Options: SAMEORIGIN Header set Referrer-Policy: no-referrer Header set X-XSS-Protection: "1; mode=block" Header set X-Content-Type-Options: nosniff # HTTP security settings end ...