Skip to content

Commit

Permalink
SampleData转换音质大幅提升,增加g711格式支持;内置IIRFilter滤波函数,SampleData中增加了低通滤波,可有效抑…
Browse files Browse the repository at this point in the history
…制混叠产生的杂音,16k和8k采样率下的录音音质明显变好
  • Loading branch information
xiangyuecn committed Jun 17, 2023
1 parent b2ba029 commit 84167ba
Show file tree
Hide file tree
Showing 22 changed files with 650 additions and 63 deletions.
54 changes: 42 additions & 12 deletions README.md

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions app-support-sample/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,8 @@
<label><input type="radio" name="type" value="mp3" engine="mp3,mp3-engine" class="initType" checked>mp3</label>
<label><input type="radio" name="type" value="wav" engine="wav">wav</label>
<label><input type="radio" name="type" value="pcm" engine="pcm" addload="wav">pcm</label>
<label><input type="radio" name="type" value="g711a" engine="g711x" addload="wav">g711a</label>
<label><input type="radio" name="type" value="g711u" engine="g711x" addload="wav">g711u</label>
<label><input type="radio" name="type" value="ogg" engine="beta-ogg,beta-ogg-engine">ogg(beta)</label>
<label><input type="radio" name="type" value="webm" engine="beta-webm">webm(beta)</label>
<label><input type="radio" name="type" value="amr" engine="beta-amr,beta-amr-engine" addload="wav">amr(beta)</label>
Expand Down Expand Up @@ -986,8 +988,7 @@
var end=function(){
var enc=Recorder.prototype["enc_"+type];
var tips=[!enc?"这个编码器无提示信息":type+"编码器"+(enc.stable?"稳定版":"beta版")+",<span style='color:"
+(type=="wav"?"#0b1'>wav转码超快"
:type=="pcm"?"#0b1'>pcm转码超快"
+(enc.fast?"#0b1'>"+type+"转码超快"
:Recorder.prototype[type+"_start"]?"#0b1'>支持边录边转码(Worker)"
:"red'>仅支持标准UI线程转码")
+"</span>,"+enc.testmsg];
Expand Down
2 changes: 2 additions & 0 deletions assets/demo-vue/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# vue+webpack测试

支持`Vue2``Vue3`,自己编写代码可按照仓库首页的`README.md`正常`import Recorder from 'recorder-core'`使用就行,另外专门写了一篇文章《[vue3实现H5网页录音并上传(mp3、wav)兼容Android、iOS和PC端](https://www.cnblogs.com/xiangyuecn/p/17472952.html)》方便参考。

- [Recorder H5在线测试](https://xiangyuecn.gitee.io/recorder/assets/demo-vue),主要文件为 [component/recorder.vue](https://github.com/xiangyuecn/Recorder/blob/master/assets/demo-vue/component/recorder.vue),支持PC、Android、IOS 14.3+。
- [RecordApp 在线测试](https://jiebian.life/web/h5/github/recordapp.aspx?path=/assets/demo-vue/recordapp.html),主要文件为 [component/recordapp.vue](https://github.com/xiangyuecn/Recorder/blob/master/assets/demo-vue/component/recordapp.vue) [即将废弃] ,RecordApp除了Recorder支持的外,支持Hybrid App,低版本IOS上支持微信网页和小程序web-view。

Expand Down
1 change: 1 addition & 0 deletions assets/demo-vue/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
logMeta('UA',navigator.userAgent);
logMeta('URL',location.href.replace(/#.*/g,""));
logMeta('Vue',vue_vue.version);
mainRef.reclog('<span style="font-weight:bold">支持Vue2、Vue3,自己编写代码可按照仓库首页的README.md正常`import Recorder from \'recorder-core\'`使用就行,另外专门写了一篇文章《<a href="https://www.cnblogs.com/xiangyuecn/p/17472952.html" target="_blank">vue3实现H5网页录音并上传(mp3、wav)兼容Android、iOS和PC端</a>》方便参考</span>');
mainRef.reclog('当前浏览器<span style="color:'+(mainRef.Rec.Support()?'#0b1">支持录音':'red">不支持录音')+'</span>');
mainRef.reclog("点击打开录音,然后再点击录制开始录音",2);
</script>
Expand Down
8 changes: 4 additions & 4 deletions assets/npm-home/hash-history.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
[
{
"sha1": "6585fc5475148ebcf7cbb38be77191acb9bcac0e",
"time": "2023/6/17 21:06:29"
},
{
"sha1": "4fa1d9dd106f8d959a505168088d935f98fc620d",
"time": "2023/6/10 22:27:40"
Expand All @@ -14,9 +18,5 @@
{
"sha1": "820a2fe65d47fd2b2a88d7bfd5456266dbb39005",
"time": "2022-8-7 18:51:17"
},
{
"sha1": "40d86b5656875a4f856d652bc3d4839464d8fe2d",
"time": "2022-6-28 09:44:33"
}
]
4 changes: 4 additions & 0 deletions assets/runtime-codes/dsp.lib.filter.iir.js
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,14 @@ var test=function(fn,useFS){
}

Runtime.Log("开始转换"+fn+" "+fnName+(useFS?".FS":"")+":"+JSON.stringify({lowPass:lowPassHz,highPass:highPassHz,sampleRate:newSampleRate,srcSampleRate:srcSampleRate}),"#aaa");

if(!Recorder.__IIRFilterBak)Recorder.__IIRFilterBak=Recorder.IIRFilter;
Recorder.IIRFilter=function(){return function(v){return v}};//禁用默认的滤波
var rec=Recorder({
type:"wav",bitRate:16,sampleRate:newSampleRate||srcSampleRate
}).mock(pcm,srcSampleRate);
rec.stop(function(blob,duration){
Recorder.IIRFilter=Recorder.__IIRFilterBak;
Runtime.LogAudio(blob,duration,rec,"已转换"+fn);
});
};
Loading

0 comments on commit 84167ba

Please sign in to comment.