原创 語音識別傳統方法(GMM+HMM+NGRAM)概述

春節後到現在近兩個月了,沒有更新博客,主要是因爲工作的關注點正從傳統語音(語音通信)轉向智能語音(語音識別)。部門起了個新項目,要用到語音識別(準備基於Kaldi來做)。我們之前做的傳統音頻已基本成熟,就開始關注在語音識別上了。對於我們來

原创 又被“過運營商語音認證”虐了一回

又被“過運營商語音認證”虐了一回!虐的傷痕累累、疲憊不堪!過程是痛苦的,但結果是美好的,收穫也是挺多的!既然用了“又”,那以前肯定被虐過。是的,沒錯。那是7年多前(2011年底),同樣是在秋冬,不過一個是2011年底,一個是2018年底。

原创 在通信設備商工作那幾年技術上的得與失

本人碩士畢業後的頭幾年是主要在通信設備商(他們研發生產通信設備(如基站)賣給電信運營商(如中國移動))工作,那時是通信業的黃金十年,單是通信設備商就有很多家,國內有華爲、中興、大唐、烽火等,國外有愛立信、諾基亞、西門子、摩托羅拉、朗訊、北

原创 webRTC中音頻相關的netEQ(五):DSP處理

上篇(webRTC中音頻相關的netEQ(四):控制命令決策)講了MCU模塊是怎麼根據網絡延時、抖動緩衝延時和反饋報告等來決定給DSP模塊發什麼控制命令的。DSP模塊根據收到的命令進行相關處理,處理簡要流程圖如下。   從上圖看出如果有語

原创 webRTC中音頻相關的netEQ(四):控制命令決策

上篇(webRTC中音頻相關的netEQ(三):存取包和延時計算)講了語音包的存取以及網絡延時和抖動緩衝延時的計算,MCU也收到了DSP模塊發來的反饋報告。本文講MCU模塊如何根據網絡延時、抖動緩衝延時和反饋報告等決定發給DSP模塊的控制

原创 談談我開發過的幾套語音通信解決方案

本人從事音頻軟件開發10+年,既開發過voice相關的,又開發過music相關的,但大多數還是開發voice相關的。掐指一算到現在在通信終端上開發過的語音解決方案共有五套,它們既有有線通信的,又有無線通信的;既有在上層開發的,又有在底層開

原创 移動通信最先進的音頻編解碼器EVS及用好要做的工作

語音通信從最初的只有有線通信變成後來的有線通信與無線通信(移動通信)的競爭,當移動語音通信價格下來後有線語音通信明顯處於逆勢。如今移動語音通信的競爭對手是OTT(On The Top)語音,OTT語音是互聯網廠商提供的服務,一般免費,如微

原创 webRTC中音頻相關的netEQ(三):存取包和延時計算

上篇(webRTC中音頻相關的netEQ(二):數據結構)講了netEQ裏主要的數據結構,爲理解netEQ的機制打好了基礎。本篇主要講MCU中從網絡上收到的RTP包是怎麼放進packet buffer和從packet  buffer裏取出

原创 聊聊音頻類開源代碼這點事

我工作的頭幾年是在通信設備商做通信設備上的語音軟件開發,主要是follow ITU-T/3GPP/RFC等SPEC寫代碼,相對封閉,沒怎麼接觸開源代碼。後來到芯片公司做終端上的voice engine,開始接觸音頻類的開源代碼,先是ITU

原创 webRTC中音頻相關的netEQ(一):概述

上篇文章(語音通信中終端上的時延(latency)及減小方法)說從本篇開始會切入webRTC中的netEQ主題,netEQ是webRTC中音頻技術方面的兩大核心技術之一(另一核心技術是音頻的前後處理,包括AEC、ANS、AGC等,俗稱3A

原创 Android手機上Audio DSP頻率低 memory小的應對措施

我在前面的文章(Android智能手機上的音頻淺析)中說過Android手機上有一塊專門用於音頻處理的DSP,它的特點是頻率低(一般幾百MHZ)、內部memory小(通常不超過100k word)。要想讓Audio DSP上放下更多的內容

原创 語音通信中提高音質的方法

語音通信是實時通信,影響語音質量的因素很多,大致可把這些因素分成兩大類:一類是回聲噪聲等周圍環境因素導致語音質量差,另一類是丟包延時等網絡環境因素導致語音質量差。這兩類因素由於成因不一樣,解決方法也不一樣。下面就講講用哪些方法來提高語音質

原创 語音通信中終端上的時延(latency)及減小方法

時延是語音通信中的一個重要指標,當端到端(end2end)的時延(即one-way-delay,單向時延)低於150Ms時人感覺不到,當端到端的時延超過150Ms且小於450Ms時人能感受到但能忍受不影響通話交流,當端到端的時延大於100

原创 淺談傳統語音通信和APP語音通信音頻軟件開發之不同點

本人在傳統的語音通信公司做過手機和IP電話上的語音軟件開發,也在移動互聯網公司做過APP上的語音軟件開發。現在帶實時語音通信功能的APP有好多,主流的有微信語音、QQ電話、釘釘等,當然也包括我開發過的那款APP(那款APP在實時通信APP

原创 音頻開源代碼中重採樣算法的評估與選擇

在音頻軟件實現中經常會遇到兩個模塊採樣率不一致的情況,比如語音通話時採集到的PCM信號是16k Hz的,但編碼時codec是AMR-NB(AMR-NB是8k Hz採樣),這時就需要把16k Hz採樣的PCM值轉換成8k Hz採樣的PCM值