recognize_file

recognize_file(path, dict, jsgf, hmm, add_params="", timeout=60)

Данная команда позволяет распознать звуковой файл как речь, используя Open Source Speech Recognition Toolkit, CMU Sphinx.
Файл должен быть с разрешением 128 Kb/s (8 kHz) (Изменить формат файла можно через sound->convert_file).

Команда на вход принимает параметры:
  • path – путь к звуковому файлу, который нужно распознать (формат wav, дискретизация должна соответствовать дискретизации используемой модели)
  • dict – путь к словарю (путь должен быть относительно папки Audio Tools)
  • jsgf – путь к файлу грамматики (формат JSGF (путь должен быть относительно папки Audio Tools)
  • hmm – путь к каталогу hmm модели (путь должен быть относительно папки Audio Tools)
  • add_params – дополнительные параметры командной строки для запуска pocketsphinx_continuous.exe
  • timeout – максимальное время, которое будет отведено на эту операцию
После отработки команда возвращает результат своей работы в робот:
  • последовательность цифр – цифры, продиктованные в звуковом файле (через пробел) (type: bool)
  • false – операция не была успешно завершена (type: bool)



Примеры использования (php)

<?php $xhe_host = "127.0.0.1:5006";
 
// подключим функциональные объекты, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>sound->".basename (__FILE__)."</font><hr>";
 
// 1 
echo "1. Подготовим файл : ";
echo $sound->convert_file("test/mp3/4196092774.mp3","test/mp3/4196092774.wav","8000")."\n";
 
// 2 
echo "2. Распознаем файл с английскими цифрами (0-9) используя CMU Sphinx : ";
echo $sound->recognize_file("test/mp3/4196092774.wav","digits\\digits.dict","digits\\digits.gram","cmusphinx-en-us-8khz-5.2","-samprate 8000 -remove_dc yes -remove_noise no -vad_threshold 3.4 -vad_prespeech 19 -vad_postspeech 37 -silprob 2.5")."\n";
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>

Примеры использования (cs)

#region using
 
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading;
 
using XHE;
using XHE.XHE_DOM;
using XHE.XHE_System;
using XHE.XHE_Window;
using XHE.XHE_Web;
 
#endregion
 
 class Program:XHEScript
 {
	  static void Main(string[] args)
	  {
			// init XHE
			server="127.0.0.1:7021";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>sound.recognize_file</font><hr>");
 
			// 1 
			echo("1. Подготовим файл : ");
			echo(sound.convert_file("test/mp3/4196092774.mp3","test/mp3/4196092774.wav","8000")+"\n");
 
			// 2
			echo("2. Распознаем файл с английскими цифрами (0-9) используя CMU Sphinx : ");
			echo(sound.recognize_file("test/mp3/4196092774.wav","digits\\digits.dict","digits\\digits.gram","cmusphinx-en-us-8khz-5.2","-samprate 8000 -remove_dc yes -remove_noise no -vad_threshold 3.4 -vad_prespeech 19 -vad_postspeech 37 -silprob 2.5")+"\n");
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

Примеры использования (js)

// подключим функциональные объекты, если еще не подключен
xhe_host="127.0.0.1:7022";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>sound.play_sound</font><hr>");
 
// 1 
echo("1. Подготовим файл : ");
echo(sound.convert_file("test/mp3/4196092774.mp3","test/mp3/4196092774.wav","8000")+"\n");
 
// 2
echo("2. Распознаем файл с английскими цифрами (0-9) используя CMU Sphinx : ");
echo(sound.recognize_file("test/mp3/4196092774.wav","digits\\digits.dict","digits\\digits.gram","cmusphinx-en-us-8khz-5.2","-samprate 8000 -remove_dc yes -remove_noise no -vad_threshold 3.4 -vad_prespeech 19 -vad_postspeech 37 -silprob 2.5")+"\n");
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();

Примеры использования (py)

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7010"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>sound.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Подготовим файл : ")
echo(sound.convert_file("test/mp3/4196092774.mp3","test/mp3/4196092774.wav","8000"),"\n")
 
# 2 
echo("2. Распознаем файл с английскими цифрами (0-9) используя CMU Sphinx : ")
echo(sound.recognize_file("test/mp3/4196092774.wav","digits\\digits.dict","digits\\digits.gram","cmusphinx-en-us-8khz-5.2","-samprate 8000 -remove_dc yes -remove_noise no -vad_threshold 3.4 -vad_prespeech 19 -vad_postspeech 37 -silprob 2.5"),"\n")
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()