LINUX.ORG.RU

Speech to text

 


3

2

Кто имеет опыт работы с новыми средствами для распознавания речи? Что порекомендуете на десктопную машину без CUDA/OpenCL? Свободное или бесплатное. Английский, русский, французский, украинский, испанский. Скорость распознавания хотя бы 1:1.

P.S. Превращать в текст звуковые файлы.

★★★★★

Последнее исправление: question4 (всего исправлений: 1)

Звуковые файлы https://docs.kdenlive.org/en/effects_and_filters/speech_to_text.html (смотрю, pip3 install vosk перетащили в venv)
Диктовка https://wiki.mageia.org/en/Voice_recognition (Elograf)
Диктовка + управление PC https://www.mageialinux-online.org/forum/topic-31752-nocomprendo.php (чел пилит тоже на базе vosk)

netrium
()
Ответ на: комментарий от netrium

https://docs.kdenlive.org/en/effects_and_filters/speech_to_text.html

Спасибо, годится. 81-секундное видео Vosk обработал за 71 секунду.

(смотрю, pip3 install vosk перетащили в venv)

Можно и без venv. Не стал пробовать.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

81-секундное видео Vosk обработал за 71 секунду

Это с большой моделью или маленькой? В принцице, и small неплохо распознаёт.

Кстати, если кто захочет завести Elograf на других дистрах (тоже полезная вещь), вам может пригодиться это обсуждение:
https://github.com/papoteur-mga/elograf/issues/17
setxkbmap для русского использовать не надо, зато надо в ~/.local/lib/python3.10/site-packages/eloGraf/elograf.py удалить строчку с --continuous, чтобы после перерыва добавлялись пробелы, а не лепился текст.
nerd-dictation клонируется отсюда https://github.com/ideasman42/nerd-dictation
Одноимённый скрипт вроде надо закинуть в PATH. Я тоже ставил в virtualenv. Там пришлось немного поколдовать с ярлыком запуска.

netrium
()
pip3 install gtts &&

from gtts import gTTS

text = "Добро пожаловать в мир Python!"
language = "ru"
filename = "welcome.mp3"

tts = gTTS(text=text, lang=language)
tts.save(filename)

  • Просто как запустить, впн из браузёра. Справится любой школьник.
anonymous
()
Ответ на: комментарий от question4

Остановился на уже упомянутом мной nerd-dictation.

Работает корявенько, быстро большой объем текста не наговорить, рус и анг подружить непросто, но мне после перехода на qmk-клавиатуру, как раз.

Вот кусок связанного дотфайла

bind = SUPER, z, exec, cd ~/Apps/nerd-dictation && ./nerd-dictation begin --vosk-model-dir=./model/vosk-small-ru --simulate-input-tool=WTYPE
bind = SUPER SHIFT, z, exec, cd ~/Apps/nerd-dictation && ./nerd-dictation begin --vosk-model-dir=./model/vosk-small-en --simulate-input-tool=WTYPE
bind = SUPER, x, exec, ~/Apps/nerd-dictation/nerd-dictation end

hargard ★★
()
Ответ на: комментарий от einhander

whisper.cpp https://github.com/ggerganov/whisper.cpp

Тянет Tensorflow? Я когда-то пробовал TTS на Tensorflow, и скорость без GPU меня не устроила (звуковой файл генерировался в полтора-два раза дольше, чем проигрывался).

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Cpp же, какое тензорфлоу? Тянет компилятор для cpp. На современном цпу 1:1 где-то будет, но различные варианты ускорения доступны, в том числе и на цпу. Пробуй, места практически не занимает. Нейронки на cpp хорошая штука, жаль их мало.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от einhander

Cpp же, какое тензорфлоу?

Как будто есть какая-то сложность в использовании тензорфлоу из с++. Другое дело, что у автора whisper.cpp есть своя библиотека ggml, которую он вместо tensorflow использует.

annulen ★★★★★
()
Ответ на: комментарий от einhander

Cpp же, какое тензорфлоу?

Числодробильная часть тензорфлоу тоже на C++.

Из описания, я понял, что whisper.cpp — порт whisper на C++, про зависимости ничего не говорилось, поэтому я предположил, что те же. Tensorflow и из программ на C++ дёргать можно.

Тогда попробую как-нибудь.

question4 ★★★★★
() автор топика