Есть вопрос! — Парсинг потокового вывода
Добрый день!
Захотелось мне на днях прикрутить к своему домашнему серверу голосовое управление. Я человек не требовательный, нужно буквально только две функции запуск плеера и его остановка. (хотя от NEXT и прочего я тоже не отказался бы)
Так вот поиски в интернете вывели меня на неплохую статейку о системе распознавания речи Julius. Вот она
Движок мне очень подходит т.к. он работает с консоли.
Все вроде настроил, распознавание речи проходит нормально, но я застопорился на моменте собственно выполнения команд после распознавания. Автором статьи приводится простой скрипт на python, который якобы решает все проблемы, но, для тех кто хоть немного писал на python, с первого взгляда понятно что скрипт тот не сработает, или же автор привел его в неполном виде.
В двух словах.
Julius постоянно сканирует состояние микрофона, в случаи распознавания слова выдает его на стандартный поток вывода, остается только "заметить" что появилось слово (к примеру PLAY) и выполнить соответствующую комманду.
автор решает это посредством юниксового канала.
$ julius -quiet -input mic -C julian.jconf 2>/dev/null | ./command.py
где command.py - его скрипт на python.
У меня есть небольшой опыт программирования на этом языке и собственно я пытался реализовать эту обработку самостоятельно, но проблема в том что пока не завершится приложение julius обработка входящего потока не начнется и собственно ничего не запустится.
Может кто-нить имел дело с подобной обработкой событий в python. Помогите плз.
Захотелось мне на днях прикрутить к своему домашнему серверу голосовое управление. Я человек не требовательный, нужно буквально только две функции запуск плеера и его остановка. (хотя от NEXT и прочего я тоже не отказался бы)
Так вот поиски в интернете вывели меня на неплохую статейку о системе распознавания речи Julius. Вот она
Движок мне очень подходит т.к. он работает с консоли.
Все вроде настроил, распознавание речи проходит нормально, но я застопорился на моменте собственно выполнения команд после распознавания. Автором статьи приводится простой скрипт на python, который якобы решает все проблемы, но, для тех кто хоть немного писал на python, с первого взгляда понятно что скрипт тот не сработает, или же автор привел его в неполном виде.
В двух словах.
Julius постоянно сканирует состояние микрофона, в случаи распознавания слова выдает его на стандартный поток вывода, остается только "заметить" что появилось слово (к примеру PLAY) и выполнить соответствующую комманду.
автор решает это посредством юниксового канала.
$ julius -quiet -input mic -C julian.jconf 2>/dev/null | ./command.py
где command.py - его скрипт на python.
У меня есть небольшой опыт программирования на этом языке и собственно я пытался реализовать эту обработку самостоятельно, но проблема в том что пока не завершится приложение julius обработка входящего потока не начнется и собственно ничего не запустится.
Может кто-нить имел дело с подобной обработкой событий в python. Помогите плз.