Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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 { |