Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

用BELLE-2/Belle-whisper-large-v2-zh识别中文音频,效果还不如Systran/faster-whisper-large-v2? #574

Open
drilistbox opened this issue Feb 2, 2024 · 12 comments

Comments

@drilistbox
Copy link

drilistbox commented Feb 2, 2024

作者您好,我用BELLE-2/Belle-whisper-large-v2-zh跑实验 效果还不如Systran/faster-whisper-large-v2

按道理在中文数据上finetune的模型性能 应该比fasterwhisiper的好才对

8b13db23eb3623ca46e960604294ee4

我用的测试音频文件在这里 https://drive.google.com/file/d/1UTGOlnc3c_5FDHv_hH3IyNgNjxHNKQkD/view?usp=sharing

我是这么用的
76e519652388d62f9d030ec5ff0a196
692c67b61fa13fc8a246cefebfc31b6

怎么才能弄出好的效果么

@houmochenliu
Copy link

+1

@shuaijiang
Copy link
Collaborator

根据上面结果,大概原因可能是使用belle-whisper没有做vad切分,所以都是按照最长30秒做的识别,这样有一定的影响。
建议把belle-whisper转为fasterwhisper模型格式,基于faster-whisper框架去做推理,faster-whisper内置了vad 模块。速度和效果都有一定保证。

@chenquan
Copy link

chenquan commented Mar 5, 2024

根据上面结果,大概原因可能是使用belle-whisper没有做vad切分,所以都是按照最长30秒做的识别,这样有一定的影响。 建议把belle-whisper转为fasterwhisper模型格式,基于faster-whisper框架去做推理,faster-whisper内置了vad 模块。速度和效果都有一定保证。

belle-whisper转为fasterwhisper模型格式,请问这个怎么处理呢?有相关的技术资料吗?

@chenquan
Copy link

chenquan commented Mar 5, 2024

根据上面结果,大概原因可能是使用belle-whisper没有做vad切分,所以都是按照最长30秒做的识别,这样有一定的影响。 建议把belle-whisper转为fasterwhisper模型格式,基于faster-whisper框架去做推理,faster-whisper内置了vad 模块。速度和效果都有一定保证。

belle-whisper转为fasterwhisper模型格式,请问这个怎么处理呢?有相关的技术资料吗?

ct2-transformers-converter --model BELLE-2/Belle-whisper-large-v2-zh --output_dir Belle-whisper-large-v2-ct2 --copy_files  preprocessor_config.json --quantization int8_float32

https://opennmt.net/CTranslate2/quantization.html#quantize-on-model-conversion

@drilistbox
Copy link
Author

但是whisper里默认是有vad的呀,你是指belle-whisper里把vad去掉了?

@shuaijiang
Copy link
Collaborator

你说的应该是 timestamps, belle-whisper 微调时没有进一步优化timestamp。如果需要timestamps需要在推理时主动打开。faster-whisper框架有vad,切分效果更好一些。所以建议用faster-whisper框架调用belle-whisper

@drilistbox
Copy link
Author

多谢大佬 我试试

@dogvane
Copy link

dogvane commented Mar 15, 2024

我这边,使用 v2,v3转到 faster-whisper 的模型,好像也没有 vad 成功。

Name: whisperx
Version: 3.1.2

Name: faster-whisper
Version: 1.0.1

测试用视频:https://www.youtube.com/watch?v=we8vNy6DYMI

v2 偶尔还会出现乱码
v3 的话,就算设置了 vad 也一样是30s 一个切片片段。

model = WhisperModel(model_size, device="cuda", compute_type="float16")
model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters(model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128)
segments, info = model.transcribe(file, vad_filter=True, vad_parameters=dict(min_silence_duration_ms=500), language=language)

@bigcash
Copy link

bigcash commented Mar 28, 2024

我这边,使用 v2,v3转到 faster-whisper 的模型,好像也没有 vad 成功。

Name: whisperx Version: 3.1.2

Name: faster-whisper Version: 1.0.1

测试用视频:https://www.youtube.com/watch?v=we8vNy6DYMI

v2 偶尔还会出现乱码 v3 的话,就算设置了 vad 也一样是30s 一个切片片段。

model = WhisperModel(model_size, device="cuda", compute_type="float16") model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters(model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128) segments, info = model.transcribe(file, vad_filter=True, vad_parameters=dict(min_silence_duration_ms=500), language=language)

您好,我使用ct2-transformers-converter --model BELLE-2--Belle-whisper-large-v3-zh --output_dir BELLE-2--Belle-whisper-large-v3-zh-ct2 --copy_files preprocessor_config.json --quantization float16 这个命令将模型转换为faster-whisper格式,在加载模型时model = WhisperModel(model_size, device="cuda", compute_type="float16")提示错误:Max retries exceeded with url: /openai/whisper-tiny/resolve/main/tokenizer.json,请问为什么还要去huggingface.co下载这个tokenizer.json呀,正确的做法该怎么做呢,谢谢拉

@Xuyaoyan
Copy link

e: whispe

请问你是怎么转的,我自己用命令行转没成功

@Xuyaoyan
Copy link

Xuyaoyan commented May 5, 2024

我这边,使用 v2,v3转到 faster-whisper 的模型,好像也没有 vad 成功。

Name: whisperx Version: 3.1.2

Name: faster-whisper Version: 1.0.1

测试用视频:https://www.youtube.com/watch?v=we8vNy6DYMI

v2 偶尔还会出现乱码 v3 的话,就算设置了 vad 也一样是30s 一个切片片段。

model = WhisperModel(model_size, device="cuda", compute_type="float16") model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters(model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128) segments, info = model.transcribe(file, vad_filter=True, vad_parameters=dict(min_silence_duration_ms=500), language=language)

你好,我现在也遇到了这个问题,转成fasterwhisper之后,设置vad无效,还是30s,请问你有解决这个问题吗

@wwfcnu
Copy link

wwfcnu commented May 15, 2024

我这边,使用 v2,v3转到 faster-whisper 的模型,好像也没有 vad 成功。
Name: whisperx Version: 3.1.2
Name: faster-whisper Version: 1.0.1
测试用视频:https://www.youtube.com/watch?v=we8vNy6DYMI
v2 偶尔还会出现乱码 v3 的话,就算设置了 vad 也一样是30s 一个切片片段。
model = WhisperModel(model_size, device="cuda", compute_type="float16") model.feature_extractor.mel_filters = model.feature_extractor.get_mel_filters(model.feature_extractor.sampling_rate, model.feature_extractor.n_fft, n_mels=128) segments, info = model.transcribe(file, vad_filter=True, vad_parameters=dict(min_silence_duration_ms=500), language=language)

你好,我现在也遇到了这个问题,转成fasterwhisper之后,设置vad无效,还是30s,请问你有解决这个问题吗

用whisperx,设置chunk_size可以指定vad的最大切分时长

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants