Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
voice2 [2018/08/21 10:26] kirill |
voice2 [2018/08/21 16:24] (текущий) |
||
|---|---|---|---|
| Строка 17: | Строка 17: | ||
| $agivars = array(); | $agivars = array(); | ||
| while (!feof(STDIN)) { | while (!feof(STDIN)) { | ||
| - | | + | $agivar = trim(fgets(STDIN)); |
| - | if ($agivar === '' | + | if ($agivar === '' |
| - | break; | + | break; |
| + | $agivar = explode(':', | ||
| + | $agivars[$agivar[0]] = trim($agivar[1]); | ||
| + | } | ||
| + | extract($agivars); | ||
| - | | + | $filename |
| - | $agivars[$agivar[0]] = trim($agivar[1]); | + | #ключ от yandex speech kit можно получить на: |
| - | } | + | # |
| - | | + | # |
| + | $key = ' | ||
| - | $filename = $_SERVER[" | ||
| - | | + | #$topic = ' |
| - | #https:// | + | #• freeform — произвольный |
| - | #требуется учётка яндекса | + | #• general — web поисковые запросы, |
| - | $key = ' | + | #• maps — адреса, |
| + | #• music — названия песен, музыкальных групп и т.д. | ||
| + | $topic = " | ||
| + | #$lang = ' | ||
| + | $lang = "ru-RU"; | ||
| + | # | ||
| + | $randtoken=rand(1000); | ||
| + | $uuid=md5($randtoken); | ||
| - | | + | # |
| - | #• freeform — произвольный текст, заметки и т.д. Вариант применения: | + | system('sox '.$filename.'.wav -r 16000 -b 16 -c 1 '.$filename.' |
| - | #• general — web поисковые запросы, не могу придумать к чему это можно применить в данном контексте; | + | |
| - | #• maps — адреса, | + | |
| - | #• music — названия песен, музыкальных групп и т.д. | + | |
| - | | + | |
| - | | + | #отсылаем файл |
| - | | + | $cmd = exec('curl -F " |
| - | | + | #дербаним регекспом ответ сервера, выдёргиваем первое значение как наиболее релевантное |
| - | $randtoken=rand(1000); | + | $asr_res |
| - | | + | if (preg_match(' |
| + | else $voice_text='' | ||
| - | # | + | if (intval(substr_count($asr_res, |
| - | system(' | + | $ress = 1; #если в результатах есть слово " |
| - | + | } elseif (intval(substr_count($asr_res, | |
| - | # | + | $ress = 2; #если в результатах есть слово " |
| - | $cmd = exec(' | + | } elseif (intval(substr_count($asr_res, |
| - | + | ||
| - | # | + | |
| - | $asr_res = implode($xml); | + | |
| - | if (preg_match(' | + | |
| - | else $voice_text=''; | + | |
| - | + | ||
| - | | + | |
| - | $ress = 1; #если в результатах есть слово " | + | |
| - | } elseif (intval(substr_count($asr_res, | + | |
| - | $ress = 2; #если в результатах есть слово " | + | |
| - | } elseif (intval(substr_count($asr_res, | + | |
| $ress = 3; #если в результатах есть слово " | $ress = 3; #если в результатах есть слово " | ||
| } else { | } else { | ||