# this assumes that you have a proper version of PyTorch already installed
pip install -q torchaudio omegaconf soundfile
import torch
import zipfile
import torchaudio
from glob import glob
device = torch.device('cpu') # gpu also works, but our models are fast enough for CPU
model, decoder, utils = torch.hub.load(repo_or_dir='snakers4/silero-models',
model='silero_stt',
language='en', # also available 'de', 'es'
device=device)
(read_batch, split_into_batches,
read_audio, prepare_model_input) = utils # see function signature for details
# download a single file, any format compatible with TorchAudio (soundfile backend)
torch.hub.download_url_to_file('https://opus-codec.org/static/examples/samples/speech_orig.wav',
dst ='speech_orig.wav', progress=True)
test_files = glob('speech_orig.wav')
batches = split_into_batches(test_files, batch_size=10)
input = prepare_model_input(read_batch(batches[0]),
device=device)
output = model(input)
for example in output:
print(decoder(example.cpu()))
模型描述
Silero 语音转文本模型为几种常用语言提供了紧凑型企业级 STT 功能。与传统的 ASR 模型不同,我们的模型对各种方言、编解码器、领域、噪声和较低采样率(简单起见,音频应重采样到 16 kHz)具有鲁棒性。模型接收归一化音频样本(即除了归一化到 -1…1 外不进行任何预处理),并输出包含 token 概率的帧。我们提供了一个简单的解码器实用工具(我们可以将其包含在模型本身中,但在某些导出场景下,脚本模块在存储模型 artifact,例如标签时遇到问题)。
我们希望我们在 Open-STT 和 Silero Models 上的努力能让语音领域的 ImageNet 时刻早日到来。
支持的语言和格式
截至本页面更新,支持以下语言:
- 英语
- 德语
- 西班牙语
要查看始终最新的语言列表,请访问我们的 仓库 并查看 yml
文件 获取所有可用的检查点。
更多示例和性能指标
有关更多示例和其他模型格式,请访问此 链接。有关质量和性能指标,请参阅 Wiki。这些资源会不定期更新。
参考资料
- Silero 模型
- Alexander Veysov,《语音转文本的 ImageNet 时刻》,《The Gradient》,2020 年
- Alexander Veysov,《一位语音转文本从业者对工业界和学术界的批评》,《The Gradient》,2020 年