di-space/yandex-stt

PHP Yandex SpeechKit

1.0.2 2020-02-27 13:26 UTC

This package is auto-updated.

Last update: 2024-09-27 23:32:17 UTC


README

该包通过 Yandex SpeechKit 服务实现从短音频文件中语音识别,用于 PHP。

Yandex 设置的限制

  • 最大文件大小 — 1 MB
  • 最大时长 — 30 秒
  • 最大音频通道数 — 1

注意!Yandex SpeechKit 服务是收费的!有关费用详情,请参阅 此页面

安装

Composer

通过 Composer 添加依赖

   composer require di-space/yandex-stt

使用

首先,您需要在 Yandex 云中创建一个账户并获取您的 IAM-TOKEN。

有关获取令牌的更多选项,请参阅 SpeechKit 文档

如果您将传递用户令牌而非服务令牌,您还需要提供您的目录标识符(folderID)。

简化版

导入 YandexSTT

   use DiSpace\YandexSTT\YandexSTT;

为了方便输入额外的参数,您可以导入 SpeechParamsInterface 接口。

   use DiSpace\YandexSTT\Request\SpeechParamsInterface;

从音频文件路径创建请求。结果将返回一个包含识别文本的字符串。注意,如果不设置额外的参数,则期望的文件格式为 OggOpus

   YandexSTT::getTextByAudioFilePath('<путь к файлу>', '<IAM-TOKEN>');

额外的参数以数组的形式传递

    YandexSTT::getTextByAudioFilePath('<путь к файлу>', '<IAM-TOKEN>', [
        'format' => SpeechRequestInterface::FORMAT_OGG,
        'lang' => SpeechRequestInterface::LANG_RU
    ]);
可用参数

format - 文件格式。选项 SpeechRequestInterface::FORMAT_OGGSpeechRequestInterface::FORMAT_LPCM

lang - 语言。选项 SpeechRequestInterface::LANG_RUSpeechRequestInterface::LANG_ENSpeechRequestInterface::LANG_TR

如果您获得的令牌是为用户账户而非服务账户,那么您需要将您的目录标识符(folderID)作为第四个参数传递。

   YandexSTT::getTextByAudioFilePath('<путь к файлу>', '<IAM-TOKEN>', [], '<folderId>');

还可以通过 getTextByAudioDirect 方法直接传递音频文件的内容。参数与 getTextByAudioFilePath 相同

   YandexSTT::getTextByAudioDirect('<бинарное содержимое аудио-файла>', '<IAM-TOKEN>', [<массив дополнительных параметров>], ['folderId']);

高级使用方式

Документация будет добавлена позже...