錄音處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及音頻數(shù)據(jù)處理領(lǐng)域,特別是涉及一種錄音處理方法和裝置。
【背景技術(shù)】
[0002]隨著語(yǔ)音技術(shù)的發(fā)展,以及人們?cè)谏钪行枰ㄟ^錄音記錄他人所說的,如培訓(xùn)所講的課程、教學(xué)所講的內(nèi)容等等,錄音設(shè)備應(yīng)運(yùn)而生。錄音設(shè)備的種類很多,如錄音筆、錄音機(jī)、帶錄音功能的移動(dòng)終端、帶錄音功能的計(jì)算機(jī)等。以帶錄音功能的移動(dòng)終端為例,傳統(tǒng)的移動(dòng)終端開啟錄音功能進(jìn)行錄音時(shí),移動(dòng)終端并不會(huì)區(qū)分所需錄制的聲音與周圍的雜聲,將所需錄制的聲音及雜聲一起記錄下來,其錄音因受到周圍環(huán)境噪聲的干擾,其錄制的聲音質(zhì)量較差。
【發(fā)明內(nèi)容】
[0003]基于此,有必要針對(duì)傳統(tǒng)錄音設(shè)備錄音的質(zhì)量較差的問題,提供一種能提高錄音質(zhì)量的錄音處理方法。
[0004]此外,還有必要提供一種能提高錄音質(zhì)量的錄音處理裝置。
[0005]一種錄音處理方法,包括以下步驟:
[0006]獲取錄音得到的模擬音頻數(shù)據(jù),并將所述模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù);
[0007]將所述數(shù)字音頻數(shù)據(jù)緩存到預(yù)設(shè)緩沖區(qū)中;
[0008]從所述緩沖區(qū)中回調(diào)所述數(shù)字音頻數(shù)據(jù);
[0009]根據(jù)預(yù)設(shè)的峰值功率閾值和平均功率斜率閾值對(duì)回調(diào)的所述數(shù)字音頻數(shù)據(jù)進(jìn)行篩選,得到所需的音頻數(shù)據(jù)。
[0010]一種錄音處理裝置,包括:
[0011]獲取模塊,用于獲取錄音得到的模擬音頻數(shù)據(jù),并將所述模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù);
[0012]緩存模塊,用于將所述數(shù)字音頻數(shù)據(jù)緩存到預(yù)設(shè)緩沖區(qū)中;
[0013]回調(diào)模塊,用于從所述緩沖區(qū)中回調(diào)所述數(shù)字音頻數(shù)據(jù);
[0014]篩選模塊,用于根據(jù)預(yù)設(shè)的峰值功率閾值和平均功率斜率閾值對(duì)回調(diào)的所述數(shù)字音頻數(shù)據(jù)進(jìn)行篩選,得到所需的音頻數(shù)據(jù)。
[0015]上述錄音處理方法和裝置,將錄音得到的模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù)后,緩存在緩沖區(qū)中,通過從緩沖區(qū)中回調(diào)數(shù)字音頻數(shù)據(jù),并根據(jù)峰值功率閾值和平均功率斜率閾值進(jìn)行篩選,去掉了環(huán)境噪聲的影響,得到所需的音頻數(shù)據(jù)的質(zhì)量較高。
【附圖說明】
[0016]圖1為一個(gè)實(shí)施例中錄音處理方法的流程圖;
[0017]圖2為根據(jù)預(yù)設(shè)的峰值功率閾值和平均功率斜率閾值對(duì)回調(diào)的該數(shù)字音頻數(shù)據(jù)進(jìn)行篩選,得到所需的音頻數(shù)據(jù)的步驟的流程圖;
[0018]圖3為一個(gè)實(shí)施例中錄音處理裝置的結(jié)構(gòu)框圖;
[0019]圖4為另一個(gè)實(shí)施例中錄音處理裝置的結(jié)構(gòu)框圖;
[0020]圖5為終端的模塊圖。
【具體實(shí)施方式】
[0021]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0022]除非上下文另有特定清楚的描述,本發(fā)明中的元件和組件,數(shù)量既可以單個(gè)的形式存在,也可以多個(gè)的形式存在,本發(fā)明并不對(duì)此進(jìn)行限定。本發(fā)明中的步驟雖然用標(biāo)號(hào)進(jìn)行了排列,但并不用于限定步驟的先后次序,除非明確說明了步驟的次序或者某步驟的執(zhí)行需要其他步驟作為基礎(chǔ),否則步驟的相對(duì)次序是可以調(diào)整的??梢岳斫猓疚闹兴褂玫男g(shù)語(yǔ)“和/或”涉及且涵蓋相關(guān)聯(lián)的所列項(xiàng)目中的一者或一者以上的任何和所有可能的組口 ο
[0023]如圖1所示,為一個(gè)實(shí)施例中錄音處理方法的流程圖。該錄音處理方法可應(yīng)用于具備錄音功能的錄音設(shè)備上,該錄音設(shè)備可為計(jì)算機(jī)、移動(dòng)終端等。該移動(dòng)終端可為智能手機(jī)、平板電腦、個(gè)人數(shù)字助理等。該錄音處理方法,包括以下步驟:
[0024]步驟102,獲取錄音得到的模擬音頻數(shù)據(jù),并將該模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù)。
[0025]在一個(gè)實(shí)施例中,該獲取錄音得到的模擬音頻數(shù)據(jù),并將該模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù)的步驟包括:
[0026]通過Aud1Queue (音頻隊(duì)列)接口進(jìn)行錄音得到模擬的音頻數(shù)據(jù),并通過該Aud1Queue接口將該模擬音頻數(shù)據(jù)轉(zhuǎn)換為脈沖編碼調(diào)制(PCM,Pulse Code Modulat1n)的音頻數(shù)據(jù)。
[0027]具體的,該Aud1Queue接口是1S操作系統(tǒng)提供的錄音及播放功能的框架接口。通過設(shè)置Aud1Queue接口,可以通過Aud1Queue接口將原始的模擬音頻數(shù)據(jù)轉(zhuǎn)換為脈沖編碼調(diào)制的音頻數(shù)據(jù)。脈沖編碼調(diào)制是對(duì)模擬信號(hào)先抽樣,再對(duì)樣值幅度量化,編碼的過程,如此可將一個(gè)時(shí)間連續(xù)、取值連續(xù)的模擬信號(hào)變換成時(shí)間離散、取值離散的數(shù)字信號(hào)后在信道中傳輸。利用1S操作系統(tǒng)自帶的Aud1Queue接口進(jìn)行錄音,操作方便。
[0028]步驟104,將該數(shù)字音頻數(shù)據(jù)緩存到預(yù)設(shè)緩沖區(qū)中。
[0029]采用Aud1Queue接口進(jìn)行錄音,可預(yù)先設(shè)置Aud1Queue接口的Buffer (緩沖區(qū))的容量大小。
[0030]在一個(gè)實(shí)施例中,在該獲取錄音得到的模擬音頻數(shù)據(jù),并將該模擬音頻數(shù)據(jù)轉(zhuǎn)換為數(shù)字音頻數(shù)據(jù)的步驟之前,還包括:根據(jù)所需錄音的質(zhì)量預(yù)先設(shè)置該緩沖區(qū)的容量大小。
[0031]具體的,所需錄音的質(zhì)量的錄音效果可通過采樣率表示,采樣率越高錄音質(zhì)量越高,音頻失真越少。緩沖區(qū)的容量大小根據(jù)需要設(shè)定,本實(shí)施例中,緩沖區(qū)的容量大小設(shè)為1024字節(jié)。采樣率為16000,但不限于此。此外,緩沖區(qū)的容量大小受到音頻處理的精確度和CPU (Central Processing Unit,中央處理器)的處理能力的限制。音頻處理的精確度越高,緩沖區(qū)的容量大小越小;緩沖區(qū)的容量大小越小,則CPU處理能力要求越高。
[0032]步驟106,從該緩沖區(qū)中回調(diào)該數(shù)字音頻數(shù)據(jù)。
[0033]具體的,通過回調(diào)接口實(shí)時(shí)從該緩沖區(qū)中回調(diào)該數(shù)字音頻數(shù)據(jù)。該回調(diào)接口需預(yù)先在操作系統(tǒng)(如1S系統(tǒng))中進(jìn)行注冊(cè)。例如回調(diào)接口 MyInputBufferHandler注冊(cè)代碼如下:
[0034]Aud1QueueNewInput(&mRecordFormat, MyInputBufferHandler, this/*userData*/, NULL/*run loop氺/,NULL/氺run loop mode氺/,0/氺flags氺/,&mQueue)。
[0035]回調(diào)接口 MyInputBufferHandler 實(shí)現(xiàn)從 Aud1Queue 接口的 Buffer 回調(diào)數(shù)字音頻數(shù)據(jù)的代碼為:
[0036]void AQRecorder::MyInputBufferHandler(void*inUserData, Aud1QueueRefinAQ, Aud1QueueBufferRef inBuffer, const Aud1TimeStamp*inStartTime, UInt32inNumPackets, const Aud1StreamPacketDescript1n*inPacketDesc)。
[0037]在一個(gè)實(shí)施例中,從該緩沖區(qū)中回調(diào)該數(shù)字音頻數(shù)據(jù)的步驟包括:當(dāng)數(shù)字音頻數(shù)據(jù)將緩沖區(qū)填充完畢后,通過回調(diào)接口從該緩沖區(qū)中回調(diào)該數(shù)字音頻數(shù)據(jù)。當(dāng)填充完畢后,從緩沖區(qū)中回調(diào)數(shù)據(jù),可有效控制回調(diào)處理的時(shí)機(jī),減少回調(diào)的次數(shù),降低系統(tǒng)的運(yùn)行負(fù)擔(dān)。
[0038]在一個(gè)實(shí)施例中,上述錄音處理方法還包括:通過調(diào)整該緩沖區(qū)的容量大小來調(diào)節(jié)回調(diào)該數(shù)字音頻數(shù)據(jù)的頻率。
[0039]具體的,緩沖區(qū)的容量大小越小,回調(diào)該數(shù)字音頻數(shù)據(jù)的頻率越高,緩沖區(qū)的容量大小越大,回調(diào)該數(shù)字音頻數(shù)據(jù)的頻率越低。緩沖區(qū)的容量大小越小,回調(diào)頻率越高,實(shí)時(shí)性越好,運(yùn)算強(qiáng)度隨之增加。
[0040]步驟108,根據(jù)預(yù)設(shè)的峰值功率閾值和平均功率斜率閾值對(duì)回調(diào)的該數(shù)字音頻數(shù)據(jù)進(jìn)行篩選,得到所需