System / sound



recognize_file

recognize_file($path,$dict,$jsgf,$hmm,$add_params="",$timeout=60); - распознать звуковой файл как речь, используя Open Source Speech Recognition Toolkit CMU Sphinx (Доступна с версии 4.10.7)
- фвйл должен быть с разрешением 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 – максимальное время, которое будет отведено на эту операцию

    После отработки функция возвращает результат своей работы в скрипт :
  • true – последовательность цифр , продиктованных в звуковом файле (через пробел)
  • false – операция не была успешно завершена

    Пример использования (PHP):
    ===============================================================

    <?php
     
    // подключим объект для управления эмулятором, если еще не подключен
    if (!isset($path))
      $path="../../../Templates/xweb_human_emulator.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();
    ?>

    Пример использования (Python):
    ===============================================================

    ?# Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
     
    xhe_host = "127.0.0.1:7011"
    from xweb_human_emulator import *
     
    # начало
    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>")
     
    # Quit
    app.quit()

    Пример использования (C#):
    ===============================================================

    #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):
    ===============================================================

     

    =============================================
    Sound     Объекты    DOM  System  Web  Window        
    =============================================
    если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум по автоматизации браузера
    .