onramplab / laravel-transcription
一个提供音频文件转录功能的 Laravel 扩展包
v0.1.0
2023-09-07 11:41 UTC
Requires
- php: >=8.1
- aws/aws-sdk-php: ^3.269
- guzzlehttp/guzzle: ^6.5
- illuminate/database: ^8.0|^9.0
- php-ffmpeg/php-ffmpeg: ^1.1
Requires (Dev)
- doctrine/dbal: ^3.6
- mockery/mockery: ^1.5
- nunomaduro/larastan: ^1.0
- nunomaduro/phpinsights: ^2.6
- onramplab/onr-phpcs-laravel: ^1.2
- orchestra/testbench: ^6.25
- phpmd/phpmd: ^2.13
- phpunit/phpunit: ^9.5
- rector/rector: ^0.15.3
- sempro/phpunit-pretty-print: ^1.4
- spatie/phpunit-watcher: ^1.23
- squizlabs/php_codesniffer: *
README
一个提供音频文件转录功能的 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"
用法
转录
- 在您的
config/transcription.php
配置文件中设置音频转录者凭据。 - 使用
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 以保持跟踪。
贡献
- 分叉它。
- 创建您的功能分支(git checkout -b my-new-feature)。
- 进行更改。
- 运行测试,如果需要的话为您的代码添加新的测试(phpunit)。
- 提交更改(git commit -am '添加了一些功能')。
- 将更改推送到分支(git push origin my-new-feature)。
- 创建新的拉取请求。
请参阅 CONTRIBUTION.md。
许可证
请参阅 LICENSE。