omerkamcili/waveform-genarator

此包最新版本(1.1.0)没有提供许可信息。

检测ffmpeg静音并转换为有用格式

1.1.0 2022-02-23 06:23 UTC

This package is not auto-updated.

Last update: 2024-09-19 04:04:36 UTC


README

此包解决了一个与将音频文件转换为有用的波形结构相关的现实世界问题。

安装

composer require omerkamcili/waveform-genarator

使用示例

从音频ffmpeg静音检测提供原始输出txt文件到通道。

例如,如果您有一个检测到的文件如customer_channel.txt,它看起来像:

customer_channel.txt
[silencedetect @ 0x7fbfbbc076a0] silence_start: 3.504
[silencedetect @ 0x7fbfbbc076a0] silence_end: 6.656 | silence_duration: 3.152
[silencedetect @ 0x7fbfbbc076a0] silence_start: 14
[silencedetect @ 0x7fbfbbc076a0] silence_end: 19.712 | silence_duration: 5.712
[silencedetect @ 0x7fbfbbc076a0] silence_start: 20.144
[silencedetect @ 0x7fbfbbc076a0] silence_end: 27.264 | silence_duration: 7.12
[silencedetect @ 0x7fbfbbc076a0] silence_start: 36.528
[silencedetect @ 0x7fbfbbc076a0] silence_end: 41.728 | silence_duration: 5.2
[silencedetect @ 0x7fbfbbc076a0] silence_start: 47.28
[silencedetect @ 0x7fbfbbc076a0] silence_end: 49.792 | silence_duration: 2.512

创建一个通道并提供参数(通道名称,静音检测的原始输出)

$channel = new WaveformGenerator\Channels\FileChannel('customer_channel', 'customer_channel.txt');

创建FFMpeg解析器(如果有的话,您可以实现其他静音检测器)

$parser = new WaveformGenerator\Parsers\FFMpegParser();

创建Converter实例并管理您需要的内容

$totalSessionTime = 73.42; // Total session time from meeting
$converter = new Converter($parser, $totalSessionTime);

获取带有谈话百分比和最长独白的美观谈话集合

$converter->getTalkCollections();

从通道中仅获取最长独白

$converter->getLongestMonologueFromChannel('customer_channel');

从通道中仅获取谈话百分比

$converter->getChannelTalkPercentage('customer_channel');

示例

您可以在以下位置找到实现示例 https://github.com/omerkamcili/waveform-example

维护者

  • Bilyan Asenov