Compare commits
39 Commits
d678ba05f2
...
0e49363d8c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0e49363d8c | ||
|
|
c90b5a3c47 | ||
| 7439e48a1c | |||
|
|
43d0ed6123 | ||
|
|
6b8162be64 | ||
|
|
8e1e675579 | ||
|
|
3318d07470 | ||
|
|
1c67e4b613 | ||
|
|
2e8dfd6330 | ||
|
|
d95a1db9af | ||
|
|
09641b5188 | ||
|
|
7e5b244dbe | ||
|
|
21d3cf9f23 | ||
|
|
a1ffeaf0b7 | ||
|
|
6709c4c168 | ||
|
|
06cbc09f01 | ||
|
|
d6e8fc4bab | ||
|
|
b091109fb3 | ||
|
|
c597aa1b01 | ||
|
|
2db91a0891 | ||
|
|
1094eae056 | ||
|
|
062c3544ad | ||
|
|
3acd997762 | ||
|
|
6c075ce3ca | ||
|
|
f4e5bb3ac7 | ||
|
|
a38aa58d22 | ||
|
|
8c50e5acbb | ||
|
|
381b26b06b | ||
|
|
d98aa50085 | ||
|
|
a29026cee4 | ||
|
|
fbe5bf1d21 | ||
|
|
0652ca1af5 | ||
|
|
da332f71f8 | ||
|
|
99e6465df9 | ||
|
|
325fee3b55 | ||
|
|
70514a3da5 | ||
|
|
36bdd5eef5 | ||
|
|
1a0bb53f41 | ||
|
|
84fb3e8d47 |
54
.gitattributes
vendored
54
.gitattributes
vendored
@ -1,22 +1,69 @@
|
|||||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||||
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
=======
|
||||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
>>>>>>> 7439e48a1cb8c090785b780f01487a6910309e98
|
||||||
|
=======
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
>>>>>>> d678ba05f2672a81c92afd8221b0c074211b6c5d
|
||||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
|
=======
|
||||||
|
=======
|
||||||
|
>>>>>>> d678ba05f2672a81c92afd8221b0c074211b6c5d
|
||||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||||
*.model filter=lfs diff=lfs merge=lfs -text
|
*.model filter=lfs diff=lfs merge=lfs -text
|
||||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
<<<<<<< HEAD
|
||||||
|
>>>>>>> 7439e48a1cb8c090785b780f01487a6910309e98
|
||||||
|
=======
|
||||||
|
>>>>>>> d678ba05f2672a81c92afd8221b0c074211b6c5d
|
||||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||||
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zstandard filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.db* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ark* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
|
||||||
|
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gguf* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ggml filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.llamafile* filter=lfs diff=lfs merge=lfs -text
|
||||||
|
=======
|
||||||
|
=======
|
||||||
|
>>>>>>> d678ba05f2672a81c92afd8221b0c074211b6c5d
|
||||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||||
@ -33,4 +80,9 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|||||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||||
*.EncryptBy4pd filter=lfs diff=lfs merge=lfs -text
|
<<<<<<< HEAD
|
||||||
|
*.EncryptBy4pd filter=lfs diff=lfs merge=lfs -text
|
||||||
|
>>>>>>> 7439e48a1cb8c090785b780f01487a6910309e98
|
||||||
|
=======
|
||||||
|
*.EncryptBy4pd filter=lfs diff=lfs merge=lfs -text
|
||||||
|
>>>>>>> d678ba05f2672a81c92afd8221b0c074211b6c5d
|
||||||
|
|||||||
219
README.md
Normal file
219
README.md
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
---
|
||||||
|
frameworks:
|
||||||
|
- Pytorch
|
||||||
|
license: Apache License 2.0
|
||||||
|
tasks:
|
||||||
|
- auto-speech-recognition
|
||||||
|
|
||||||
|
#model-type:
|
||||||
|
##如 gpt、phi、llama、chatglm、baichuan 等
|
||||||
|
#- gpt
|
||||||
|
|
||||||
|
#domain:
|
||||||
|
##如 nlp、cv、audio、multi-modal
|
||||||
|
#- nlp
|
||||||
|
|
||||||
|
#language:
|
||||||
|
##语言代码列表 https://help.aliyun.com/document_detail/215387.html?spm=a2c4g.11186623.0.0.9f8d7467kni6Aa
|
||||||
|
#- cn
|
||||||
|
|
||||||
|
#metrics:
|
||||||
|
##如 CIDEr、Blue、ROUGE 等
|
||||||
|
#- CIDEr
|
||||||
|
|
||||||
|
#tags:
|
||||||
|
##各种自定义,包括 pretrained、fine-tuned、instruction-tuned、RL-tuned 等训练方法和其他
|
||||||
|
#- pretrained
|
||||||
|
|
||||||
|
#tools:
|
||||||
|
##如 vllm、fastchat、llamacpp、AdaSeq 等
|
||||||
|
#- vllm
|
||||||
|
---
|
||||||
|
|
||||||
|
# Highlights
|
||||||
|
**SenseVoice**专注于高精度多语言语音识别、情感辨识和音频事件检测
|
||||||
|
- **多语言识别:** 采用超过40万小时数据训练,支持超过50种语言,识别效果上优于Whisper模型。
|
||||||
|
- **富文本识别:**
|
||||||
|
- 具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。
|
||||||
|
- 支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。
|
||||||
|
- **高效推理:** SenseVoice-Small模型采用非自回归端到端框架,推理延迟极低,10s音频推理仅耗时70ms,15倍优于Whisper-Large。
|
||||||
|
- **微调定制:** 具备便捷的微调脚本与策略,方便用户根据业务场景修复长尾样本问题。
|
||||||
|
- **服务部署:** 具有完整的服务部署链路,支持多并发请求,支持客户端语言有,python、c++、html、java与c#等。
|
||||||
|
|
||||||
|
|
||||||
|
## <strong>[SenseVoice开源项目介绍](https://github.com/FunAudioLLM/SenseVoice)</strong>
|
||||||
|
<strong>[SenseVoice](https://github.com/FunAudioLLM/SenseVoice)</strong>开源模型是多语言音频理解模型,具有包括语音识别、语种识别、语音情感识别,声学事件检测能力。
|
||||||
|
|
||||||
|
[**github仓库**](https://github.com/FunAudioLLM/SenseVoice)
|
||||||
|
| [**最新动态**](https://github.com/FunAudioLLM/SenseVoice/blob/main/README_zh.md#%E6%9C%80%E6%96%B0%E5%8A%A8%E6%80%81)
|
||||||
|
| [**环境安装**](https://github.com/FunAudioLLM/SenseVoice/blob/main/README_zh.md#%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85)
|
||||||
|
|
||||||
|
# 模型结构图
|
||||||
|
SenseVoice多语言音频理解模型,支持语音识别、语种识别、语音情感识别、声学事件检测、逆文本正则化等能力,采用工业级数十万小时的标注音频进行模型训练,保证了模型的通用识别效果。模型可以被应用于中文、粤语、英语、日语、韩语音频识别,并输出带有情感和事件的富文本转写结果。
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/sensevoice.png" alt="SenseVoice模型结构" width="1500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
SenseVoice-Small是基于非自回归端到端框架模型,为了指定任务,我们在语音特征前添加四个嵌入作为输入传递给编码器:
|
||||||
|
- LID:用于预测音频语种标签。
|
||||||
|
- SER:用于预测音频情感标签。
|
||||||
|
- AED:用于预测音频包含的事件标签。
|
||||||
|
- ITN:用于指定识别输出文本是否进行逆文本正则化。
|
||||||
|
|
||||||
|
|
||||||
|
# 依赖环境
|
||||||
|
|
||||||
|
推理之前,请务必更新funasr与modelscope版本
|
||||||
|
|
||||||
|
```shell
|
||||||
|
pip install -U funasr modelscope
|
||||||
|
```
|
||||||
|
|
||||||
|
# 用法
|
||||||
|
|
||||||
|
|
||||||
|
## 推理
|
||||||
|
|
||||||
|
### modelscope pipeline推理
|
||||||
|
```python
|
||||||
|
from modelscope.pipelines import pipeline
|
||||||
|
from modelscope.utils.constant import Tasks
|
||||||
|
|
||||||
|
inference_pipeline = pipeline(
|
||||||
|
task=Tasks.auto_speech_recognition,
|
||||||
|
model='iic/SenseVoiceSmall',
|
||||||
|
model_revision="master",
|
||||||
|
device="cuda:0",)
|
||||||
|
|
||||||
|
rec_result = inference_pipeline('https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav')
|
||||||
|
print(rec_result)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 使用funasr推理
|
||||||
|
|
||||||
|
支持任意格式音频输入,支持任意时长输入
|
||||||
|
|
||||||
|
```python
|
||||||
|
from funasr import AutoModel
|
||||||
|
from funasr.utils.postprocess_utils import rich_transcription_postprocess
|
||||||
|
|
||||||
|
model_dir = "iic/SenseVoiceSmall"
|
||||||
|
|
||||||
|
|
||||||
|
model = AutoModel(
|
||||||
|
model=model_dir,
|
||||||
|
trust_remote_code=True,
|
||||||
|
remote_code="./model.py",
|
||||||
|
vad_model="fsmn-vad",
|
||||||
|
vad_kwargs={"max_single_segment_time": 30000},
|
||||||
|
device="cuda:0",
|
||||||
|
)
|
||||||
|
|
||||||
|
# en
|
||||||
|
res = model.generate(
|
||||||
|
input=f"{model.model_path}/example/en.mp3",
|
||||||
|
cache={},
|
||||||
|
language="auto", # "zn", "en", "yue", "ja", "ko", "nospeech"
|
||||||
|
use_itn=True,
|
||||||
|
batch_size_s=60,
|
||||||
|
merge_vad=True, #
|
||||||
|
merge_length_s=15,
|
||||||
|
)
|
||||||
|
text = rich_transcription_postprocess(res[0]["text"])
|
||||||
|
print(text)
|
||||||
|
```
|
||||||
|
参数说明:
|
||||||
|
- `model_dir`:模型名称,或本地磁盘中的模型路径。
|
||||||
|
- `trust_remote_code`:
|
||||||
|
- `True`表示model代码实现从`remote_code`处加载,`remote_code`指定`model`具体代码的位置(例如,当前目录下的`model.py`),支持绝对路径与相对路径,以及网络url。
|
||||||
|
- `False`表示,model代码实现为 [FunASR](https://github.com/modelscope/FunASR) 内部集成版本,此时修改当前目录下的`model.py`不会生效,因为加载的是funasr内部版本,模型代码[点击查看](https://github.com/modelscope/FunASR/tree/main/funasr/models/sense_voice)。
|
||||||
|
- `vad_model`:表示开启VAD,VAD的作用是将长音频切割成短音频,此时推理耗时包括了VAD与SenseVoice总耗时,为链路耗时,如果需要单独测试SenseVoice模型耗时,可以关闭VAD模型。
|
||||||
|
- `vad_kwargs`:表示VAD模型配置,`max_single_segment_time`: 表示`vad_model`最大切割音频时长, 单位是毫秒ms。
|
||||||
|
- `use_itn`:输出结果中是否包含标点与逆文本正则化。
|
||||||
|
- `batch_size_s` 表示采用动态batch,batch中总音频时长,单位为秒s。
|
||||||
|
- `merge_vad`:是否将 vad 模型切割的短音频碎片合成,合并后长度为`merge_length_s`,单位为秒s。
|
||||||
|
- `ban_emo_unk`:禁用emo_unk标签,禁用后所有的句子都会被赋与情感标签。默认`False`
|
||||||
|
|
||||||
|
```python
|
||||||
|
model = AutoModel(model=model_dir, trust_remote_code=True, device="cuda:0")
|
||||||
|
|
||||||
|
res = model.generate(
|
||||||
|
input=f"{model.model_path}/example/en.mp3",
|
||||||
|
cache={},
|
||||||
|
language="auto", # "zn", "en", "yue", "ja", "ko", "nospeech"
|
||||||
|
use_itn=True,
|
||||||
|
batch_size=64,
|
||||||
|
)
|
||||||
|
```
|
||||||
|
|
||||||
|
更多详细用法,请参考 [文档](https://github.com/modelscope/FunASR/blob/main/docs/tutorial/README.md)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 模型下载
|
||||||
|
上面代码会自动下载模型,如果您需要离线下载好模型,可以通过下面代码,手动下载,之后指定模型本地路径即可。
|
||||||
|
|
||||||
|
SDK下载
|
||||||
|
```bash
|
||||||
|
#安装ModelScope
|
||||||
|
pip install modelscope
|
||||||
|
```
|
||||||
|
```python
|
||||||
|
#SDK模型下载
|
||||||
|
from modelscope import snapshot_download
|
||||||
|
model_dir = snapshot_download('iic/SenseVoiceSmall')
|
||||||
|
```
|
||||||
|
Git下载
|
||||||
|
```
|
||||||
|
#Git模型下载
|
||||||
|
git clone https://www.modelscope.cn/iic/SenseVoiceSmall.git
|
||||||
|
```
|
||||||
|
|
||||||
|
## 服务部署
|
||||||
|
|
||||||
|
Undo
|
||||||
|
|
||||||
|
# Performance
|
||||||
|
|
||||||
|
## 语音识别效果
|
||||||
|
我们在开源基准数据集(包括 AISHELL-1、AISHELL-2、Wenetspeech、Librispeech和Common Voice)上比较了SenseVoice与Whisper的多语言语音识别性能和推理效率。在中文和粤语识别效果上,SenseVoice-Small模型具有明显的效果优势。
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/asr_results.png" alt="SenseVoice模型在开源测试集上的表现" width="2500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 情感识别效果
|
||||||
|
由于目前缺乏被广泛使用的情感识别测试指标和方法,我们在多个测试集的多种指标进行测试,并与近年来Benchmark上的多个结果进行了全面的对比。所选取的测试集同时包含中文/英文两种语言以及表演、影视剧、自然对话等多种风格的数据,在不进行目标数据微调的前提下,SenseVoice能够在测试数据上达到和超过目前最佳情感识别模型的效果。
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/ser_table.png" alt="SenseVoice模型SER效果1" width="1500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
同时,我们还在测试集上对多个开源情感识别模型进行对比,结果表明,SenseVoice-Large模型可以在几乎所有数据上都达到了最佳效果,而SenseVoice-Small模型同样可以在多数数据集上取得超越其他开源模型的效果。
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/ser_figure.png" alt="SenseVoice模型SER效果2" width="500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## 事件检测效果
|
||||||
|
|
||||||
|
尽管SenseVoice只在语音数据上进行训练,它仍然可以作为事件检测模型进行单独使用。我们在环境音分类ESC-50数据集上与目前业内广泛使用的BEATS与PANN模型的效果进行了对比。SenseVoice模型能够在这些任务上取得较好的效果,但受限于训练数据与训练方式,其事件分类效果专业的事件检测模型相比仍然有一定的差距。
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/aed_figure.png" alt="SenseVoice模型AED效果" width="500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 推理效率
|
||||||
|
SenseVoice-Small模型采用非自回归端到端架构,推理延迟极低。在参数量与Whisper-Small模型相当的情况下,比Whisper-Small模型推理速度快7倍,比Whisper-Large模型快17倍。同时SenseVoice-small模型在音频时长增加的情况下,推理耗时也无明显增加。
|
||||||
|
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="fig/inference.png" alt="SenseVoice模型的推理效率" width="1500" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p style="color: lightgrey;">如果您是本模型的贡献者,我们邀请您根据<a href="https://modelscope.cn/docs/ModelScope%E6%A8%A1%E5%9E%8B%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B%E6%A6%82%E8%A7%88" style="color: lightgrey; text-decoration: underline;">模型贡献文档</a>,及时完善模型卡片内容。</p>
|
||||||
BIN
chn_jpn_yue_eng_ko_spectok.bpe.model
(Stored with Git LFS)
Normal file
BIN
chn_jpn_yue_eng_ko_spectok.bpe.model
(Stored with Git LFS)
Normal file
Binary file not shown.
97
config.yaml
Normal file
97
config.yaml
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
encoder: SenseVoiceEncoderSmall
|
||||||
|
encoder_conf:
|
||||||
|
output_size: 512
|
||||||
|
attention_heads: 4
|
||||||
|
linear_units: 2048
|
||||||
|
num_blocks: 50
|
||||||
|
tp_blocks: 20
|
||||||
|
dropout_rate: 0.1
|
||||||
|
positional_dropout_rate: 0.1
|
||||||
|
attention_dropout_rate: 0.1
|
||||||
|
input_layer: pe
|
||||||
|
pos_enc_class: SinusoidalPositionEncoder
|
||||||
|
normalize_before: true
|
||||||
|
kernel_size: 11
|
||||||
|
sanm_shfit: 0
|
||||||
|
selfattention_layer_type: sanm
|
||||||
|
|
||||||
|
|
||||||
|
model: SenseVoiceSmall
|
||||||
|
model_conf:
|
||||||
|
length_normalized_loss: true
|
||||||
|
sos: 1
|
||||||
|
eos: 2
|
||||||
|
ignore_id: -1
|
||||||
|
|
||||||
|
tokenizer: SentencepiecesTokenizer
|
||||||
|
tokenizer_conf:
|
||||||
|
bpemodel: null
|
||||||
|
unk_symbol: <unk>
|
||||||
|
split_with_space: true
|
||||||
|
|
||||||
|
frontend: WavFrontend
|
||||||
|
frontend_conf:
|
||||||
|
fs: 16000
|
||||||
|
window: hamming
|
||||||
|
n_mels: 80
|
||||||
|
frame_length: 25
|
||||||
|
frame_shift: 10
|
||||||
|
lfr_m: 7
|
||||||
|
lfr_n: 6
|
||||||
|
cmvn_file: null
|
||||||
|
|
||||||
|
|
||||||
|
dataset: SenseVoiceCTCDataset
|
||||||
|
dataset_conf:
|
||||||
|
index_ds: IndexDSJsonl
|
||||||
|
batch_sampler: EspnetStyleBatchSampler
|
||||||
|
data_split_num: 32
|
||||||
|
batch_type: token
|
||||||
|
batch_size: 14000
|
||||||
|
max_token_length: 2000
|
||||||
|
min_token_length: 60
|
||||||
|
max_source_length: 2000
|
||||||
|
min_source_length: 60
|
||||||
|
max_target_length: 200
|
||||||
|
min_target_length: 0
|
||||||
|
shuffle: true
|
||||||
|
num_workers: 4
|
||||||
|
sos: ${model_conf.sos}
|
||||||
|
eos: ${model_conf.eos}
|
||||||
|
IndexDSJsonl: IndexDSJsonl
|
||||||
|
retry: 20
|
||||||
|
|
||||||
|
train_conf:
|
||||||
|
accum_grad: 1
|
||||||
|
grad_clip: 5
|
||||||
|
max_epoch: 20
|
||||||
|
keep_nbest_models: 10
|
||||||
|
avg_nbest_model: 10
|
||||||
|
log_interval: 100
|
||||||
|
resume: true
|
||||||
|
validate_interval: 10000
|
||||||
|
save_checkpoint_interval: 10000
|
||||||
|
|
||||||
|
optim: adamw
|
||||||
|
optim_conf:
|
||||||
|
lr: 0.00002
|
||||||
|
scheduler: warmuplr
|
||||||
|
scheduler_conf:
|
||||||
|
warmup_steps: 25000
|
||||||
|
|
||||||
|
specaug: SpecAugLFR
|
||||||
|
specaug_conf:
|
||||||
|
apply_time_warp: false
|
||||||
|
time_warp_window: 5
|
||||||
|
time_warp_mode: bicubic
|
||||||
|
apply_freq_mask: true
|
||||||
|
freq_mask_width_range:
|
||||||
|
- 0
|
||||||
|
- 30
|
||||||
|
lfr_rate: 6
|
||||||
|
num_freq_mask: 1
|
||||||
|
apply_time_mask: true
|
||||||
|
time_mask_width_range:
|
||||||
|
- 0
|
||||||
|
- 12
|
||||||
|
num_time_mask: 1
|
||||||
14
configuration.json
Normal file
14
configuration.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"framework": "pytorch",
|
||||||
|
"task" : "auto-speech-recognition",
|
||||||
|
"model": {"type" : "funasr"},
|
||||||
|
"pipeline": {"type":"funasr-pipeline"},
|
||||||
|
"model_name_in_hub": {
|
||||||
|
"ms":"",
|
||||||
|
"hf":""},
|
||||||
|
"file_path_metas": {
|
||||||
|
"init_param":"model.pt",
|
||||||
|
"config":"config.yaml",
|
||||||
|
"tokenizer_conf": {"bpemodel": "chn_jpn_yue_eng_ko_spectok.bpe.model"},
|
||||||
|
"frontend_conf":{"cmvn_file": "am.mvn"}}
|
||||||
|
}
|
||||||
BIN
example/.DS_Store
vendored
Normal file
BIN
example/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
example/en.mp3
Normal file
BIN
example/en.mp3
Normal file
Binary file not shown.
BIN
example/ja.mp3
Normal file
BIN
example/ja.mp3
Normal file
Binary file not shown.
BIN
example/ko.mp3
Normal file
BIN
example/ko.mp3
Normal file
Binary file not shown.
BIN
example/yue.mp3
Normal file
BIN
example/yue.mp3
Normal file
Binary file not shown.
BIN
example/zh.mp3
Normal file
BIN
example/zh.mp3
Normal file
Binary file not shown.
BIN
fig/aed_figure.png
Normal file
BIN
fig/aed_figure.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 116 KiB |
BIN
fig/asr_results.png
Normal file
BIN
fig/asr_results.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 238 KiB |
BIN
fig/inference.png
Normal file
BIN
fig/inference.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 935 KiB |
BIN
fig/sensevoice.png
Normal file
BIN
fig/sensevoice.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 880 KiB |
BIN
fig/ser_figure.png
Normal file
BIN
fig/ser_figure.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 194 KiB |
BIN
fig/ser_table.png
Normal file
BIN
fig/ser_table.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 318 KiB |
25057
tokens.json
Normal file
25057
tokens.json
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user