humanemulator.net — справка. Продукт, демо и покупка — на хуманэмулятор.рф | Демо | Купить | API | лог изменений

speech_to_text

speech_to_text($audio_path,$method="api",$language="",$timeout=60,$model="ggml-base.bin",$api_key=""); - Распознать речь из аудиофайла через OpenAI Whisper API или локальные инструменты (whisper.cpp)

Функция на вход принимает параметры:

  • $audio_path – путь к аудиофайлу для распознавания
  • $method – метод распознавания ("api" по умолчанию или "local")
  • $language – код языка (2 символа, например "ru", "en"; для api опциональный, для local по умолчанию "ru")
  • $timeout – таймаут выполнения в секундах (по умолчанию 60)
  • $model – модель для local (по умолчанию "ggml-base.bin")
  • $api_key – ключ OpenAI API (если не указан, берется из настроек)

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

    Пример использования
    <?php
    // Scenario: Convert speech from audio files to text using various methods
    
    $xhe_host = getenv("RPABOT_HOST_URL");
    // Connect functional objects if not already connected
    if (!isset($path)){
      $path = "../../../Templates/init.php";
      require($path);
    }
    // info
    echo "\n<span >sound->" . basename (__FILE__) . "</span>\n";
    
    // Example 1: Recognize speech from audio file using API (default method)
    // Input data
    $audioFile1 = "test/audio8.wav";
    
    echo("\n\nExample 1. Recognize speech from audio file using API (default method): ");
    $result1 = SYSTEM::$sound->speech_to_text($audioFile1);
    
    if ($result1) {
        echo("true: " . $result1 . "\n");
    } else {
        echo("false\n");
    }
    
    // Example 2: Recognize speech from audio file using API with specified language
    // Input data
    $audioFile2 = "test/audio8.wav";
    $method2 = "api";
    $language2 = "ru";
    
    echo("\n\nExample 2. Recognize speech from audio file using API with specified language: ");
    $result2 = SYSTEM::$sound->speech_to_text($audioFile2, $method2, $language2);
    
    if ($result2) {
        echo("true: " . $result2 . "\n");
    } else {
        echo("false\n");
    }
    
    // Example 3: Recognize speech from audio file using local method (whisper.cpp)
    // Input data
    $audioFile3 = "test/audio8.wav";
    $method3 = "local";
    
    echo("\n\nExample 3. Recognize speech from audio file using local method (whisper.cpp): ");
    $result3 = SYSTEM::$sound->speech_to_text($audioFile3, $method3);
    
    if ($result3) {
        echo("true: " . $result3 . "\n");
    } else {
        echo("false\n");
    }
    
    // Example 4: Recognize speech from audio file using local method with specified language and model
    // Input data
    $audioFile4 = "test/audio8.wav";
    $method4 = "local";
    $language4 = "ru";
    $timeout4 = 60;
    $model4 = "ggml-base.bin";
    
    echo("\n\nExample 4. Recognize speech from audio file using local method with specified language and model: ");
    $result4 = SYSTEM::$sound->speech_to_text($audioFile4, $method4, $language4, $timeout4, $model4);
    
    if ($result4) {
        echo("true: " . $result4 . "\n");
    } else {
        echo("false\n");
    }
    
    // Example 5: Recognize speech from MP3 file using API
    // Input data
    $audioFile5 = "test/mp3/68323.mp3";
    
    echo("\n\nExample 5. Recognize speech from MP3 file using API: ");
    $result5 = SYSTEM::$sound->speech_to_text($audioFile5);
    
    if ($result5) {
        echo("true: " . $result5 . "\n");
    } else {
        echo("false\n");
    }
    
    // Quit the application
    WINDOW::$app->quit();
    ?>
    # Additional paths
    import sys
    sys.path.insert(0, '../../../Templates PY/')
    
    xhe_host = "127.0.0.1:5006"
    from xweb_human_emulator import *
    
    # начало
    echo("<hr><font color=blue>sound.speech_to_text</font><hr>")
    
    # 1 
    echo("1. Распознаем речь из аудиофайла через API (метод по умолчанию) : ")
    result = sound.speech_to_text("test/audio8.wav")
    echo(result)
    echo("\n")
    
    # 2 
    echo("2. Распознаем речь из аудиофайла через API с указанием языка : ")
    result = sound.speech_to_text("test/audio8.wav", "api", "ru")
    echo(result)
    echo("\n")
    
    # 3 
    echo("3. Распознаем речь из аудиофайла через локальный метод (whisper.cpp) : ")
    result = sound.speech_to_text("test/audio8.wav", "local")
    echo(result)
    echo("\n")
    
    # 4 
    echo("4. Распознаем речь из аудиофайла через локальный метод с указанием языка и модели : ")
    result = sound.speech_to_text("test/audio8.wav", "local", "ru", 60, "ggml-base.bin")
    echo(result)
    echo("\n")
    
    # 5 
    echo("5. Распознаем речь из MP3 файла через API : ")
    result = sound.speech_to_text("test/mp3/68323.mp3")
    echo(result)
    echo("\n")
    
    # конец
    echo("<hr><br>")
    
    # Quit
    app.quit()
    #region using
    
    using System;
    using System.Diagnostics;
    using System.Collections.Generic;
    using System.Linq;
    using System.IO;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    
    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 = Environment.GetEnvironmentVariable("RPABOT_HOST_URL");
    			InitXHE();
    
    			// начало
    			echo("<hr><font color=blue>sound.speech_to_text</font><hr>");
    				
    			// 1 
    			echo("1. Распознаем речь из аудиофайла через API (метод по умолчанию) : ");
    			var result = sound.speech_to_text("test/audio_8.wav").Result;
    			echo(result);
    			echo("\n");
    
    			// 2 
    			echo("2. Распознаем речь из аудиофайла через API с указанием языка : ");
    			result = sound.speech_to_text("test/audio_8.wav", "api", "ru").Result;
    			echo(result);
    			echo("\n");
    
    			// 3 
    			echo("3. Распознаем речь из аудиофайла через локальный метод (whisper.cpp) : ");
    			result = sound.speech_to_text("test/audio_8.wav", "local").Result;
    			echo(result);
    			echo("\n");
    
    			// 4 
    			echo("4. Распознаем речь из аудиофайла через локальный метод с указанием языка и модели : ");
    			result = sound.speech_to_text("test/audio_8.wav", "local", "ru", 60, "ggml-base.bin").Result;
    			echo(result);
    			echo("\n");
    
    			// 5 
    			echo("5. Распознаем речь из MP3 файла через API : ");
    			result = sound.speech_to_text("test/mp3/68323.mp3").Result;
    			echo(result);
    			echo("\n");
    
    			// конец
    			echo("\n\n");
    
    			app.quit();            
    	  }
    }
    // подключим функциональные объекты, если еще не подключен
    xhe_host="127.0.0.1:5006";
    echo=require("../../../Templates JS/init.js");
    
    // начало
    echo("<hr><font color=blue>sound.speech_to_text</font><hr>");
    
    // 1 
    echo("1. Распознаем речь из аудиофайла через API (метод по умолчанию) : ");
    var result = sound.speech_to_text("test/audio8.wav");
    echo(result);
    echo("\n");
    
    // 2 
    echo("2. Распознаем речь из аудиофайла через API с указанием языка : ");
    var result = sound.speech_to_text("test/audio8.wav", "api", "ru");
    echo(result);
    echo("\n");
    
    // 3 
    echo("3. Распознаем речь из аудиофайла через локальный метод (whisper.cpp) : ");
    var result = sound.speech_to_text("test/audio8.wav", "local");
    echo(result);
    echo("\n");
    
    // 4 
    echo("4. Распознаем речь из аудиофайла через локальный метод с указанием языка и модели : ");
    var result = sound.speech_to_text("test/audio8.wav", "local", "ru", 60, "ggml-base.bin");
    echo(result);
    echo("\n");
    
    // 5 
    echo("5. Распознаем речь из MP3 файла через API : ");
    var result = sound.speech_to_text("test/mp3/68323.mp3");
    echo(result);
    echo("\n");
    
    // конец
    echo("\n");
    
    // Quit
    app.quit();

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