Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Распознать речь из аудиофайлов  (Прочитано 1290 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн principium

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Распознать речь из аудиофайлов
« : 07 Января 2015, 16:27:22 »
Люди, подскажите, есть ли реально работающий способ перевести аудио в текстовый файл? Интересует нубский способ, без долгого изучения мануалов и танцев с бубном. ???

Оффлайн qwerty12344321

  • Участник
  • *
  • Сообщений: 166
  • DIY or DIE
    • Просмотр профиля
    • мой GitHub
Re: Распознать речь из аудиофайлов
« Ответ #1 : 12 Января 2015, 21:02:36 »
Реализация

Создаём файл speech.sh следующего содержания (код с комментариями):
#!/bin/bash
echo "Начинается запись..."
arecord -d 3 -q -f cd -r 16000 speech.wav # Записываем звуковой файл speech.wav длиной в 3 секунды с рейтом 16 мГц
echo "Запись закончена"
sox speech.wav speech.flac gain -n -5 silence 1 5 2% # Конвертируем speech.wav в speech.flac
rm speech.wav # Удаляем speech.wav, т.к. он нам уже не требуется
echo "Анализ голоса..."
wget -q -U "Mozilla/5.0" --post-file speech.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=ru-RU&client=chromium" > all.ret # Отправляем Google speech.flac и полученный ответ сохраняем в файл all.ret
rm speech.flac # Удаляем speech.flac, т.к. он нам уже не требуется
cat all.ret | sed 's/.*utterance":"//' | sed 's/","confidence.*//' > text.txt # Вычленяем значение utterance в файл text.txt
cat all.ret | sed 's/.*confidence"://' | sed 's/}]}.*//' > confidence.txt # Вычленяем значение confidence в файл confidence.txt
rm all.ret # Удаляем all.ret, т.к. он нам уже не требуется
TEXT="$(cat text.txt)" # Переменной TEXT присваиваем содержимое файла text.txt
CONFIDENCE="$(cat confidence.txt)" # Переменной CONFIDENCE присваиваем содержимое файла confidence.txt
rm text.txt # Удаляем text.txt, т.к. он нам уже не требуется
rm confidence.txt # Удаляем confidence.txt, т.к. он нам уже не требуется
echo $TEXT # Выводим значение переменной TEXT
echo $CONFIDENCE # Выводим значение переменной CONFIDENCE
Закачиваем через консоль необходимые пакеты:
sudo apt-get install lame
sudo apt-get install sox
Устанавливаем через консоль файлу speech.sh права на запуск:
sudo chmod 755 speech.sh


Ну а теперь можно запустить наш скриптик и проверить его работоспособность консольной командой:
./speech.sh


взято с http://habrahabr.ru/post/157333/

Оффлайн principium

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: Распознать речь из аудиофайлов
« Ответ #2 : 24 Января 2015, 18:42:35 »


взято с http://habrahabr.ru/post/157333/
а как бы имеющийся файл гуглу скормить?

Оффлайн qwerty12344321

  • Участник
  • *
  • Сообщений: 166
  • DIY or DIE
    • Просмотр профиля
    • мой GitHub
Re: Распознать речь из аудиофайлов
« Ответ #3 : 24 Января 2015, 20:52:48 »
удаляем всё до wget -q -U "Mozilla/5.0" --post-file speech.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "http://www.google.com/speech-api/v1/recognize?lang=ru- (Эту строчку оставляем) вместо speech.flac свой фаил 16000 на ваши данные

 

Страница сгенерирована за 0.015 секунд. Запросов: 21.