Yandex SpeechKit HTTP API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Asterisk рдореЗрдВ рд╡рд╛рдХреН рдкрд╣рдЪрд╛рди





рдпрд╣ рд▓реЗрдЦ Google рджреНрд╡рд╛рд░рд╛ рддрд╛рд░рд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реНрд▓реЗрд╖рдг рдФрд░ рднрд╛рд╖рдг рдорд╛рдиреНрдпрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдмрдбрд╝рд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд╡рд╛рдХреН рдкрд╣рдЪрд╛рди рдХреЗ рд▓рд┐рдП, Yandex SpeechKit HTTP API рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдбрд╛рдпрд▓рдкреНрд▓рд╛рди рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИ (рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдгред рдореЗрд░реЗ рдПрдИрдПрд▓ рдореЗрдВ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдПрдлрд╝рдПрд▓:



s => { Answer(); Wait(1); Record(/tmp/${UNIQUEID}.wav,3,20); AGI(yandex_voice.php,/tmp/${UNIQUEID}); NoOp(${TEXT}); Hangup(); };
      
      







рдЙрджрд╛рд╣рд░рдг рдмрд╣реБрдд рдЖрджрд┐рдо рд╣реИ: рд╣рдо рдХреЙрд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ, 1s рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред рднрд╛рд╖рдг рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░реЗрдВ, рдЬреЛ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдЙрд╕реЗ рдкрд╣рдЪрд╛рдиреЗрдВ, рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рдкрд╛рда рдХреЛ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред



рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд╣реАред



рдкрд╣рд▓реЗ, рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛:



$ рдХреБрдВрдЬреА = 'my_secret_key' - рдпрд╣ рдЖрдкрдХреА API рдХреБрдВрдЬреА рд╣реИ; рдЖрдк рдЗрд╕реЗ speechkit@yandex-team.ru рдХреЛ рдкрддреНрд░ рд▓рд┐рдЦрдХрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;



$ рд╡рд┐рд╖рдп = 'рдорд╛рдирдЪрд┐рддреНрд░' - рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВ:



тАв рдлрд╝реНрд░реАрдлрд╝реЙрд░реНрдо - рдореБрдлреНрдд рдЯреЗрдХреНрд╕реНрдЯ, рдиреЛрдЯреНрд╕ рдЗрддреНрдпрд╛рджрд┐ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╡реЗрд░рд┐рдПрдВрдЯ: рд╣рдо рд╡реЙрдЗрд╕ рдореЗрд▓ рд╕рдВрджреЗрд╢ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдИрдореЗрд▓ рдпрд╛ рдПрд╕рдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрддреЗ рд╣реИрдВред

тАв рд╕рд╛рдорд╛рдиреНрдп - рд╡реЗрдм рдЦреЛрдЬ рдХреНрд╡реЗрд░реА, рдореИрдВ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛;

тАв рдирдХреНрд╢реЗ - рдкрддреЗ, GEO рдЕрдВрдХ (рдмрд╛рд░, рдЧреИрд╕ рд╕реНрдЯреЗрд╢рди, рд╣реЛрдЯрд▓, рдЖрджрд┐ рдХрд╛ рдирд╛рдо), рдЖрджрд┐;

тАв рд╕рдВрдЧреАрдд - рдЧреАрддреЛрдВ, рд╕рдВрдЧреАрдд рд╕рдореВрд╣реЛрдВ рдЖрджрд┐ рдХреЗ рдирд╛рдоред



$ рд▓реИрдВрдЧ = 'рдЖрд░рдпреВ-рдЖрд░рдпреВ' - рд╡рд╣ рднрд╛рд╖рд╛ рдЬрд┐рд╕рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреА, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд░реВрд╕реА 'рдЖрд░рдпреВ-рдЖрд░рдпреВ' рдФрд░ рддреБрд░реНрдХреА 'рдЯреНрд░-рдЯреАрдЖрд░' рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рддреБрд░реНрдХреА рдХреЗрд╡рд▓ "рд╕рд╛рдорд╛рдиреНрдп" рдФрд░ "рдорд╛рдирдЪрд┐рддреНрд░" рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерд┐рдд рд╣реИ;



$ uuid = '12345678123456781234567812345678' - 32-рдЕрдВрдХреАрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред



API рдХреЛ Yandex_SpeechKit_HTTP_API_May [5] .pdf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдЫреЛрдЯрд╛ рдПрдкреАрдЖрдИ рдореИрдиреБрдЕрд▓ рдирд╣реАрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП рд╣реИред



рддрд╛рд░рд╛рдВрдХрди рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ: / usr / share / рддрд╛рд░рд╛рдВрдХрди / agi-bin /



рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрдж yandex_voice.php рдХреЛрдб:



 #!/usr/bin/php -q <? $agivars = array(); while (!feof(STDIN)) { $agivar = trim(fgets(STDIN)); if ($agivar === '') break; $agivar = explode(':', $agivar); $agivars[$agivar[0]] = trim($agivar[1]); } extract($agivars); $filename = $_SERVER["argv"][1]; $key = 'my_secret_key'; $topic = "maps"; $lang = "ru-RU"; $uuid = "12345678123456781234567812345678"; system('sox '.$filename.'.wav -r 16000 -b 16 -c 1 '.$filename.'-pcm.wav'); $cmd = exec('curl --silent -F "Content-Type=audio/x-pcm;bit=16;rate=16000" -F "audio=@'.$filename.'-pcm.wav" asr.yandex.net/asr_xml\?key='.$key.'\&uuid='.$uuid .'\&topic='.$topic.'\&lang='.$lang, $xml); $res_xml = implode($xml); if (preg_match('!<variant .*?>(.*)</variant>!si', $res_xml, $arr)) $voice_text = $arr[1]; else $voice_text=''; echo 'SET VARIABLE TEXT "'.$voice_text.'"'."\n"; fgets(STDIN); echo 'VERBOSE ("'.$voice_text.'")'."\n"; fgets(STDIN); exit(0); ?>
      
      







рд╣рд╛рдВ, рдХреЛрдб рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░ рдХреЛ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╛рд░рд┐рдд рдХрд░рдХреЗ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдмрдирд╛рдПрдВ рдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдЬреАрдЖрдИ рдпрд╛ рдПрдЖрд░рдЖрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЕрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕ рд╢рд╣рд░ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рд╕реНрдерд┐рдд рд╣реИред



All Articles