onramplab/laravel-transcription

一个提供音频文件转录功能的 Laravel 扩展包

v0.1.0 2023-09-07 11:41 UTC

This package is auto-updated.

Last update: 2024-09-28 12:02:24 UTC


README

Software License CircleCI Total Downloads

一个提供音频文件转录功能的 Laravel 扩展包

要求

  • PHP >= 8.1;
  • composer.

特性

  • 支持多种第三方转录服务
    • AWS Transcribe

安装

composer require onramplab/laravel-transcription

发布迁移文件并运行命令以构建扩展包所需的表格

php artisan vendor:publish --tag="transcription-migrations"
php artisan migrate

此外,您还可以选择发布配置文件

php artisan vendor:publish --tag="transcription-config"

用法

转录

  1. 在您的 config/transcription.php 配置文件中设置音频转录者凭据。
  2. 使用 Transcription 门面来启动转录。
Transcription::make('https://www.example.com/audio/test.wav', 'en-US');

Transcription 门面的 make 方法用于启动异步转录过程。第一个参数是可定位您要转录的音频文件的 URL,第二个参数是音频的语言,作为 BCP-47 语言标签。

说话人识别

有时您可能希望识别音频文件中的说话人,您可以将说话人计数最大值作为 Transcription 门面 make 方法的第三个参数。

Transcription::make('https://www.example.com/audio/test.wav', 'en-US', 3);

音频文件转录完成后,您可以在与 Transcript 模型相关的每个 TranscriptSegment 模型的 speaker_label 属性中查看。对于每个转录段,都会有可识别的说话人信息。例如,您可能会看到该列中的 speaker_1 来表示第一个说话人。

编辑

出于安全考虑,您可能需要在转录中隐藏 PII(个人信息)数据。然后您应该在 config/transcription.php 配置文件中设置用于 PII 实体检测的检测器凭据。

设置配置文件后,您可以使用 Transcription 门面 make 方法的第四个参数来决定音频文件的转录是否应该被编辑。

Transcription::make('https://www.example.com/audio/test.wav', 'en-US', shouldRedact: true);

有用工具

运行测试

php vendor/bin/phpunit

composer test

代码嗅探工具

php vendor/bin/phpcs --standard=PSR2 src/

composer psr2check

代码自动修复工具

composer psr2autofix
composer insights:fix
rector:fix

构建文档

php vendor/bin/phpdoc -d "src" -t "docs"

composer docs

变更日志

请参考 CHANGELOG.md 以保持跟踪。

贡献

  1. 分叉它。
  2. 创建您的功能分支(git checkout -b my-new-feature)。
  3. 进行更改。
  4. 运行测试,如果需要的话为您的代码添加新的测试(phpunit)。
  5. 提交更改(git commit -am '添加了一些功能')。
  6. 将更改推送到分支(git push origin my-new-feature)。
  7. 创建新的拉取请求。

请参阅 CONTRIBUTION.md

许可证

请参阅 LICENSE