日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于能量或过零率的实时语音分割--学习笔记

發(fā)布時(shí)間:2025/4/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于能量或过零率的实时语音分割--学习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

重要假設(shè)/基礎(chǔ):采集到的音頻在起始處有一小段靜音,長(zhǎng)度為幾百毫秒,這是我們估計(jì)靜音閾值E0的基礎(chǔ),也是語音降噪的基礎(chǔ)。

1. 能量energy

  選區(qū)一定數(shù)量的音頻幀,計(jì)算其平均能量值,然后加上一個(gè)經(jīng)驗(yàn)值或乘以一個(gè)大于1的系數(shù),由此得到E0。

  javascript在瀏覽器源碼頁面--console模塊下--輸出console.log();

      取絕對(duì)值:Math.abs()

      x的y次冪:Math.pow(x,y)

      取對(duì)數(shù): Math.log(Math, data);

  基于普天信息語音轉(zhuǎn)寫平臺(tái),web錄音和實(shí)時(shí)語音分割

  • question1: chrome瀏覽器html5網(wǎng)頁中的<script>標(biāo)簽代碼找不到j(luò)s文件及文件內(nèi)定義的函數(shù)function。

  resolve: html-<script>? 和 js中定義的方法/添加的語句有錯(cuò)誤;

  • question2: chrome能找到j(luò)s文件,但html5無法調(diào)用js方法,報(bào)錯(cuò),而firefox瀏覽器可以。

  resolve: 清空瀏覽器歷史緩存和清空js緩存(f12---network---disable cache)

  • question3: html5<script>模塊程序觸發(fā)運(yùn)行時(shí)間可能有差距。

  window.clearInterval(clock_detection);
  clock_detection = self.setInterval("audio_detection()", 100); //100ms觸發(fā)一次
  window.clearInterval(clock); //每個(gè)4s調(diào)用setInterval中定義的函數(shù)showData
  clock = self.setInterval("showData()",4000);

  resolve: console.log()輸出觸發(fā)時(shí)間;輸出web stream input觸發(fā)時(shí)間

  • question4: HZRecorder.js里buffer數(shù)據(jù)Float32Array每一位表示二進(jìn)制還是十進(jìn)制的語音采樣數(shù)據(jù)?

  resolve: float32array里面是十進(jìn)制float小數(shù),可以轉(zhuǎn)化為2個(gè)Int16Array整數(shù)。

     convert: do it directly from the arraybuffer.

     (1) var data_int16array = new Int16Array(data.buffer); //buffer里面是float32array類型數(shù)據(jù)

   或:(2) var float32 = new Float32Array(data);

        var int16 = new Int16Array(float32.buffer);

        float32: [0.12005, 0.25046, 0.101102, 0.030112]  int16: [-13107, 15823, -42142, 15588]

  javascript.Float32Array類型數(shù)組表示的是平臺(tái)字節(jié)順序?yàn)?2為的浮點(diǎn)型數(shù)組,內(nèi)容初始化為0:

    float32array.prototype.reduce()傳入一個(gè)函數(shù)作為累加器,從左到右遍歷,最終得到一個(gè)值

    float32array.prototype.slice()提取數(shù)組的一部分并且返回一個(gè)新數(shù)組

    float32array.prototype.some()如果數(shù)組中至少有一個(gè)元素滿足測(cè)試函數(shù)的要求,則返回true

    float32array.prototype.subarray()從給定的起始位置返回一個(gè)新的float32array

    float32array.get()獲取指定索引處的元素

  • question5:單個(gè)buffer元素Float32Array長(zhǎng)度為4096,跟錄音數(shù)據(jù)長(zhǎng)度對(duì)不上。

    web api包括:input sample_rate=44100; input sample_bit=16; output sample_rate=8000; output sample_bit=32

    參見:https://developer.mozilla.org/zh-CN/docs/Web/API/AudioContext/createScriptProcessor

    web api AudioContext.createScriptProcessor()創(chuàng)建一個(gè)ScriptProcessorNode用于通過javascript直接處理音頻

      參數(shù):buffersize:緩存大小必須為其中一個(gè)--256, 512, 1024, 2048, 4096, 8192, 16384

  • question6: 較差的錄音設(shè)備噪音較大,對(duì)錄音數(shù)據(jù)有較大影響,尤其是開頭靜音部分。(手機(jī)錄音效果不錯(cuò),有麥克風(fēng)陣列)

  resolve: 更換設(shè)備;外接聲卡;麥克風(fēng)整列;取音頻數(shù)據(jù)最大值進(jìn)行比較(在較大噪音環(huán)境下,效果比能量均值要好)

  • question7:一段靜音內(nèi)判斷出多個(gè)結(jié)束端點(diǎn)

  resolve: 加入triggered_value,加入起始端點(diǎn)觸發(fā)機(jī)制

  • question8: 出現(xiàn)40-60ms長(zhǎng)音頻

  resolve: 因?yàn)閘ist[length] = null,導(dǎo)致buffer.slice(0)截取全部音頻

  • question9: triggered激活后,更新audiobuffer.length,否則靜音段會(huì)被截取出來。
  • question10: firefox火狐瀏覽器不能設(shè)置默認(rèn)麥克風(fēng), can't set default microphone.

  resolve: 添加一個(gè)觸發(fā)函數(shù)。在recorder.start()開始之后,激活觸發(fā)函數(shù)。

2. 過零率zero

  優(yōu)化:

    (1)高通濾波器,它以高于某一截止頻率的頻率傳遞信號(hào),并衰減低于截止頻率的信號(hào)。(我認(rèn)為不可行,因?yàn)閣eb錄音實(shí)在html和js上,沒有現(xiàn)成的python包調(diào)用傅里葉變換fft去獲得語音頻率,如果自己在js中實(shí)現(xiàn),程序運(yùn)行成本太高,而且也不能保證效果)

    (2)設(shè)置一個(gè)門限T,將過零率的含義修改為跨過正負(fù)門限。(減去門限)

3. 高斯高階累積量

  《現(xiàn)代語音信號(hào)處理》清音、噪音符合高斯分布,高斯四階及更高階的累積量會(huì)將噪音值清零,只留下有效語音數(shù)據(jù),我個(gè)人認(rèn)為其計(jì)算很麻煩,我能力不夠,沒法有效將其實(shí)現(xiàn)出來,用到j(luò)s中。

  -----以后如果哪位大腿實(shí)現(xiàn)出來,讓我抱抱阿,比心

總結(jié)

以上是生活随笔為你收集整理的基于能量或过零率的实时语音分割--学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久艹在线观看视频 | 综合激情网 | 亚洲免费在线观看av | 性xxxx18| 日韩国产综合 | 久草免费福利 | 国产调教视频在线观看 | 亚洲黄色免费观看 | 精品国偷自产国产一区 | 欧美伦理片 | 蜜臀尤物一区二区三区直播 | 97精品人妻一区二区三区香蕉 | mm131在线| 天天干天天添 | 五月综合激情 | 欧美做受高潮6 | 女人毛片视频 | av在线免播放器 | 精品人妻一区二区三 | 九九九色 | 裸体女人a级一片 | аⅴ资源中文在线天堂 | 最新在线黄色网址 | 欧美手机在线 | 成人免费看片视频 | 午夜精品久久久久久久四虎美女版 | 欧美日韩三级视频 | 亚洲视频在线观看一区二区三区 | 久久久久99精品成人片毛片 | 中文在线观看免费 | www欧美在线 | 综合激情久久 | 午夜一区在线 | 欧美成人福利 | 日本肉体xxxx裸体xxx免费 | 亚洲欧美色图片 | 人人搞人人爱 | 日本熟妇毛茸茸丰满 | 亚洲成人福利在线 | 中国国产毛片 | 中国人妖和人妖做爰 | 久久精品中文 | 亚洲成熟丰满熟妇高潮xxxxx | 性猛交ⅹxxx富婆video | 国产夫妻久久 | 国产黄大片在线观看画质优化 | 黄瓜视频色 | 韩日视频在线观看 | 超碰导航| 久久久天堂国产精品女人 | 在线播放成人av | 日本人妻不卡一区二区三区中文字幕 | av资源在线看| 综合热久久 | 91成人免费在线观看视频 | 手机在线小视频 | 国产毛片a级| 欧美少妇诱惑 | 精品日韩av| av手机网| 欧美交 | 在线播放黄色网址 | 欧美性生活网 | 国产女主播一区二区 | 精品麻豆 | 沟厕沟厕近拍高清视频 | 耳光调教vk | 日本在线不卡一区二区三区 | 黄色一级片av | 国产成人a人亚洲精品无码 在线aa | 伊人久久视频 | 男女操操视频 | 亚洲天堂伊人 | 午夜一级免费 | 亚洲激情欧美激情 | 精品国产av色一区二区深夜久久 | 欧美aa在线 | 国产污视频在线播放 | 樱花影院电视剧免费 | 91一区在线 | 国产中文字幕二区 | 日韩欧美在线免费观看 | 99热免费观看 | 男生舔女生的屁股 | 国产超碰自拍 | 国产成人精品一区二区三区免费 | 久久久久久亚洲 | 男人的天堂狠狠干 | 91麻豆精品国产91久久久无需广告 | 国产精品一区二区在线免费观看 | 日本三级小视频 | 久久免费视频网 | 日日碰狠狠添天天爽无码av | 搡老熟女国产 | youjizzcom日本 | 成人免费视频网站在线看 | 风间ゆみ大战黑人 | 欧美浮力影院 | 久久人人做 |