Я ищу библиотеку на питоне с довольно точным распознаванием речи. Предпочтительно, чтобы он возвращал строку, указывающую, что было сказано, чтобы я мог работать со строкой, чтобы делать другие вещи. Спасибо!!!
Я посмотрел на этот связанный вопрос, но я не думаю, что мы спрашиваем одно и то же.
Вы можете использовать CMU Sphinx :
Некоторое время назад, когда я искал программное обеспечение для распознавания речи для Linux, мне сказали, что точность CMU Sphinx значительно ниже, чем у Dragon (мне было бы любопытно, есть ли у кого-нибудь здесь эталонный тест Sphinx vs Dragon). Однако, если ваши голосовые записи находятся в строго ограниченной области, вы можете достаточно хорошо обучить CMU Sphinx.
Whisper от OpenAI (офлайн, лицензия MIT, Python 3.9, CLI) обеспечивает очень точную транскрипцию. Для использования (проверено на Ubuntu 20.04 x64 LTS):
conda create -y --name whisperpy39 python==3.9
conda activate whisperpy39
pip install git+https://github.com/openai/whisper.git
sudo apt update && sudo apt install ffmpeg
whisper recording.wav
whisper recording.wav --model large
При использовании графического процессора Nvidia 3090 добавьте следующее послеconda activate whisperpy39
pip install -f https://download.pytorch.org/whl/torch_stable.html
conda install pytorch==1.10.1 torchvision torchaudio cudatoolkit=11.0 -c pytorch
его можно использовать как библиотеку Python, например :
import whisper
model = whisper.load_model("base")
# load audio and pad/trim it to fit 30 seconds
audio = whisper.load_audio("audio.mp3")
audio = whisper.pad_or_trim(audio)
# make log-Mel spectrogram and move to the same device as the model
mel = whisper.log_mel_spectrogram(audio).to(model.device)
# detect the spoken language
_, probs = model.detect_language(mel)
print(f"Detected language: {max(probs, key=probs.get)}")
# decode the audio
options = whisper.DecodingOptions()
result = whisper.decode(model, mel, options)
# print the recognized text
print(result.text)
Информация о производительности ниже.
Время вывода модели:
Размер | Параметры | только англоязычная модель | Многоязычная модель | Требуемая видеопамять | Относительная скорость |
---|---|---|---|---|---|
крошечный | 39 м | tiny.en |
tiny |
~1 ГБ | ~32x |
база | 74 м | base.en |
base |
~1 ГБ | ~16x |
маленький | 244 М | small.en |
small |
~2 ГБ | ~6x |
средний | 769 М | medium.en |
medium |
~ 5 ГБ | ~2x |
большой | 1550 м | Н/Д | large |
~10 ГБ | 1x |
WER на нескольких корпусах из https://cdn.openai.com/papers/whisper.pdf :
WER на нескольких языках с https://github.com/openai/whisper/blob/main/language-breakdown.svg :
Сис Тиммерман
Николя Рауль
РыцарьНи