本發明涉及對講機技術領域,更具體地說,涉及一種語音數據處理方法及裝置。
背景技術:
對講系統主要應用于公安、運輸、建筑和服務等行業,用于團體成員間的聯絡與指揮調度。
目前,對講系統中的各個對講端采用PTT(push-to-talk,一鍵通)的方式進行通話,為半雙工方式的單向語音,即對講系統中最多只能存在一個可以生成語音信息的對講發端,而其他對講端則作為對講收端來接收對講發端的語音信息以實現對講系統的通信。
采用半雙工單向語音進行通信的對講系統通常是不會有自激與嘯叫的,但是,當對講發端與對講收端的距離過近時,對講收端播放的語音就有可能反饋至對講發端,從而形成語音回路,引起自激,進而導致產生嘯叫。
技術實現要素:
有鑒于此,本發明提供一種語音數據處理方法及裝置,以解決現有的對講系統中可能出現的嘯叫問題。技術方案如下:
一種語音數據處理方法,應用于對講系統中各個對講收端,包括:
當接收到對講發端發送的語音數據時,調取預先監聽采集的當前環境語音數據,所述當前環境語音數據的時長不小于預設網絡延時;
計算所述語音數據與所述當前環境語音數據的互相關性,并判斷所述互相關性是否小于閾值;
當所述互相關性小于所述閾值時,播放所述語音數據;
當所述互相關性不小于所述閾值時,丟棄所述語音數據。
優選的,所述預先監聽采集當前環境語音數據,包括:
分配用于存儲設定時長語音數據的存儲區域,所述設定時長不小于所述預設網絡延時;
啟動麥克風并實時采集環境語音數據,所述環境語音數據的時長小于所述設定時長;
將所述環境語音數據依次存儲于所述存儲區域;
根據所述設定時長實時更新所述存儲區域內的語音數據,并將所述存儲區域內當前全部的環境語音數據確定為當前環境語音數據。
優選的,所述計算所述語音數據與所述當前環境語音數據的互相關性,包括:
從所述當前環境語音數據中選取至少一個目標環境語音數據,所述目標環境語音數據的時長等于所述語音數據的時長;
分別計算各個所述目標環境語音數據與所述語音數據的互相關性;
選取各個所述互相關性中的最大值作為所述語音數據與所述當前環境語音數據的互相關性。
一種語音數據處理裝置,包括:調取模塊、計算判斷模塊、語音播放模塊和語音丟棄模塊,所述調取模塊包括監聽采集單元;
所述監聽采集單元,用于預先監聽采集當前環境語音數據;
所述調取模塊,用于當接收到對講發端發送的語音數據時,調取預先監聽采集的當前環境語音數據,所述當前環境語音數據的時長不小于預設網絡延時;
所述計算判斷模塊,用于計算所述語音數據與所述當前環境語音數據的互相關性,并判斷所述互相關性是否小于閾值;
所述語音播放模塊,用于當所述互相關性小于所述閾值時,播放所述語音數據;
所述語音丟棄模塊,用于當所述互相關性不小于所述閾值時,丟棄所述語音數據。
優選的,所述監聽采集單元,具體用于:
分配用于存儲設定時長語音數據的存儲區域,所述設定時長不小于所述預設網絡延時;啟動麥克風并實時采集環境語音數據,所述環境語音數據的時長小于所述設定時長;將所述環境語音數據依次存儲于所述存儲區域;根據所述設定時長實時更新所述存儲區域內的語音數據,并將所述存儲區域內當前全部的環境語音數據確定為當前環境語音數據。
優選的,所述計算所述語音數據與所述當前環境語音數據的互相關性的計算判斷模塊,具體用于:
從所述當前環境語音數據中選取至少一個目標環境語音數據,所述目標環境語音數據的時長等于所述語音數據的時長;分別計算各個所述目標環境語音數據與所述語音數據的互相關性;選取各個所述互相關性中的最大值作為所述語音數據與所述當前環境語音數據的互相關性。
相較于現有技術,本發明實現的有益效果為:
以上本發明提供的一種語音數據處理方法及裝置,該方法應用于對講系統中各個對講收端,通過計算接收到的對講發端發送的語音數據與預先監聽采集的當前環境語音數據的互相關性;通過判斷互相關性是否小于閾值來確定與對講發端的距離是否超過距離閾值;當互相關性小于閾值也就是與對講發端的距離超過距離閾值時,播放語音數據;當互相關性不小于閾值也就是與對講發端的距離不超過距離閾值時,丟棄語音數據。這就避免了由于對講發端與對講收端距離過近,形成語音回路而產生自激,達到去除嘯叫的目的。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明實施例一公開的一種語音數據處理方法流程圖;
圖2為本發明實施例二公開的一種語音數據處理方法部分流程圖;
圖3為本發明實施例二公開的另一種語音數據處理方法部分流程圖;
圖4為本發明實施例三公開的一種語音數據處理裝置結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例一
本發明實施例一公開了一種語音數據處理方法,應用于對講系統中各個對講收端,流程圖如圖1所示,包括如下步驟:
S101,當接收到對講發端發送的語音數據時,調取預先監聽采集的當前環境語音數據,當前環境語音數據的時長不小于預設網絡延時;
在執行步驟S101的過程中,對講收端同時開啟語音接收線程與麥克風采集線程,其中麥克風采集線程用于采集對講收端周圍環境的語音數據,由于從對講發端生成語音數據到對講收端接收到語音數據存在一定的網絡延時,因此,對講收端需調取預先監聽采集的當前環境語音數據,并且當前環境語音數據的時長不小于預設網絡延時。
S102,計算語音數據與當前環境語音數據的互相關性,并判斷互相關性是否小于閾值;
在執行步驟S102的過程中,可根據互相關函數計算語音數據與當前環境語音數據的互相關性,所述互相關性用于表征語音數據與當前環境語音數據的相關程度,并且,與對講發端的距離越遠,互相關性也就越小,因此,可通過計算互相關性判定與對講發端的距離是否超過距離閾值。
S103,當互相關性小于閾值時,播放語音數據;
S104,當互相關性不小于閾值時,丟棄語音數據。
需要說明的是,當互相關性小于閾值時,為保證用戶的對講體驗度,還可根據預先設置的互相關性與音量等級的映射關系,以相應的音量播放語音數據,但是,互相關性與音量等級的映射關系應保證播放的語音不會反饋至對講發端,從而不會形成語音回路,也就不會產生嘯叫。
本發明實施例公開的一種語音數據處理方法,通過計算接收到的對講發端發送的語音數據與預先監聽采集的當前環境語音數據的互相關性;通過判斷互相關性是否小于閾值來確定與對講發端的距離是否超過距離閾值;當互相關性小于閾值也就是與對講發端的距離超過距離閾值時,播放語音數據;當互相關性不小于閾值也就是與對講發端的距離不超過距離閾值時,丟棄語音數據。這就避免了由于對講發端與對講收端距離過近,形成語音回路而產生自激,達到去除嘯叫的目的。
實施例二
結合上述本發明實施例一公開的語音數據處理方法,如圖1所示出的步驟S101中,預先監聽采集當前環境語音數據的具體執行過程,如圖2所示,包括如下步驟:
S201,分配用于存儲設定時長語音數據的存儲區域,設定時長不小于所述預設網絡延時;
S202,啟動麥克風并實時采集環境語音數據,環境語音數據的時長小于設定時長;
在執行步驟S202的過程中,實時采集當前所處位置的環境語音數據,例如,每一次采集20ms的環境語音數據。
S203,將環境語音數據依次存儲于存儲區域;
在執行步驟S203的過程中,例如,將每一次采集的20ms的環境語音數據按照采集時間點的先后順序依次存儲于存儲區域。
S204,根據設定時長實時更新存儲區域內的語音數據,并將存儲區域內當前全部的環境語音數據確定為當前環境語音數據;
在執行步驟S204的過程中,由于存儲區域可存儲的語音數據的時長是設定的,當每一次采集的環境語音數據存儲于至存儲區域時,對講收端判斷存儲區域內全部的環境語音數據時長與設定時長的差值是否大于0,若是,將存儲時間最早的時長為差值的環境語音數據進行刪除,并將存儲區域內當前全部的環境語音數據確定為當前環境語音數據;
例如,設定時長為500ms,對講收端每一次采集20ms的環境語音數據,并且,當將最近一次采集的20ms的環境語音數據存儲到存儲區域時,存儲區域內全部環境語音數據的時長與500ms的差值為20ms,則刪除存儲區域內存儲時間最早的時長為20ms的環境語音數據,以此更新存儲區域內的語音數據。
本發明實施例公開的一種語音數據處理方法,通過計算接收到的對講發端發送的語音數據與預先監聽采集的當前環境語音數據的互相關性;通過判斷互相關性是否小于閾值來確定與對講發端的距離是否超過距離閾值;當互相關性小于閾值時,播放語音數據;當互相關性不小于閾值時,丟棄語音數據。這就避免了由于對講發端與對講收端距離過近,形成語音回路而產生自激,達到去除嘯叫的目的。
結合上述本發明實施例一公開的語音數據處理方法,如圖1所示出的步驟S102中計算所述語音數據與所述當前環境語音數據的互相關性的具體執行過程,如圖3所示,包括如下步驟:
S301,從當前環境語音數據中選取至少一個目標環境語音數據,目標環境語音數據的時長等于語音數據的時長;
S302,分別計算各個目標環境語音數據與語音數據的互相關性;
S303,選取各個互相關性中的最大值作為語音數據與當前環境語音數據的互相關性。
本發明實施例公開的一種語音數據處理方法,通過計算接收到的對講發端發送的語音數據與預先監聽采集的當前環境語音數據的互相關性;通過判斷互相關性是否小于閾值來確定與對講發端的距離是否超過距離閾值;當互相關性小于閾值時,播放語音數據;當互相關性不小于閾值時,丟棄語音數據。這就避免了由于對講發端與對講收端距離過近,形成語音回路而產生自激,達到去除嘯叫的目的。
實施例三
基于上述各實施例公開的語音數據處理方法,本發明實施例三則對應公開執行上述語音數據處理方法的裝置,如圖4所示,語音數據處理裝置100包括:調取模塊101、計算判斷模塊102、語音播放模塊103和語音丟棄模塊104,調取模塊101包括監聽采集單元1011;
監聽采集單元1011,用于預先監聽采集當前環境語音數據;
調取模塊101,用于當接收到對講發端發送的語音數據時,調取預先監聽采集的當前環境語音數據,當前環境語音數據的時長不小于預設網絡延時;
計算判斷模塊102,用于計算語音數據與當前環境語音數據的互相關性,并判斷互相關性是否小于閾值;
語音播放模塊103,用于當互相關性小于閾值時,播放語音數據;
語音丟棄模塊104,用于當互相關性不小于閾值時,丟棄語音數據。
需要說明的是,監聽采集單元1011,具體用于:
分配用于存儲設定時長語音數據的存儲區域,設定時長不小于預設網絡延時;啟動麥克風并實時采集環境語音數據,環境語音數據的時長小于設定時長;將環境語音數據依次存儲于存儲區域;根據設定時長實時更新存儲區域內的語音數據,并將存儲區域內當前全部的環境語音數據確定為當前環境語音數據。
還需要說明的是,計算語音數據與當前環境語音數據的互相關性的計算判斷模塊,具體用于:
從當前環境語音數據中選取至少一個目標環境語音數據,目標環境語音數據的時長等于語音數據的時長;分別計算各個目標環境語音數據與語音數據的互相關性;選取各個互相關性中的最大值作為語音數據與當前環境語音數據的互相關性。
本發明實施例公開的一種語音數據處理裝置,通過計算接收到的對講發端發送的語音數據與預先監聽采集的當前環境語音數據的互相關性;通過判斷互相關性是否小于閾值來確定與對講發端的距離是否超過距離閾值;當互相關性小于閾值時,播放語音數據;當互相關性不小于閾值時,丟棄語音數據。這就避免了由于對講發端與對講收端距離過近,形成語音回路而產生自激,達到去除嘯叫的目的。
以上對本發明所提供的一種語音數據處理方法及裝置進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應,所以描述的比較簡單,相關之處參見方法部分說明即可。
還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備所固有的要素,或者是還包括為這些過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。