使用pyannote-audio进行语音分类和识别,个人记录

(一)Prearation

假设数据集的名字为 “flow”
(1)准备数据
定义环境变量:(我的数据库名flow)

$ export DATABASE=flow.SpeakerDiarization.flow

(2)需要创建一个目录来存放数据

$ DOWNLOAD_TO=~/pyannote_test/pyannote-audio/tests/data

(3)DOWNLOAD_TO中存在一个配置文件database.yml
输入 查看配置文件信息是否正确
$ cat ${DOWNLOAD_TO}/database.yml
输入 进行数据库环境变量配置

$ export PYANNOTE_DATABASE_CONFIG=${DOWNLOAD_TO}/database.yml

(一)定义
(1)在pyannote.database中对于音频、视频——将其建模为pyannote.database.ProtocolFile实例,并用 uri 标识每个实体
metadata: 可以在ProtocolFile上添加标签将其联系到一个资源
database:具有相同属性的数据集合(例如音频文件):他被建模为:pyannote.database.Database实例
实验性协议通常定义三个子集:
train subset 用于训练神经网络
development subset 用于调整超参数
test subset 用于评估

(2)实验性协议通过YAML配置文件定义:
(3)pyannote.database将在以下位置按优先级查找配置文件:
1、当前目录下的database.yml文件
2、pyannote_Database_config环境变量
3、~/.pyannote/database.yml

(二)数据加载Data loaders
可以使用以下语法将元数据添加到每个资源:

Protocols:
  MyDatabase:
    Protocol:
      MyProtocol:
        train:
            uri: lists/train.lst
            speaker: rttms/train.rttm
            transcription: ctms/{uri}.ctm

资源有‘speaker’和‘transcription’
根据元数据文件后缀自动选择数据加载器:
pyannote.database.loader.RTTMLoader用于带.rttm后缀的‘speaker’输入
pyannote.database.loader.CTMLoader用于带ctm后缀的‘transcription’输入。
并用于填充speaker和transcription 键

(三)Preprocessors预处理器
(四)任务
1) collections
可以使用“收集”任务 定义文件的原始收集
2)speaker diarizaiton

可以使用SpeakerDiarization任务专门为说话者区分定义协议:
配置文件:

Protocols:
  MyDatabase:
    SpeakerDiarization:
      MyProtocol:
        train:
            uri: /path/to/train.lst
            annotation: /path/to/train.rttm
            annotated: /path/to/train.uem

运行python文件查看训练 uri 文件集

from pyannote.database import get_protocol
protocol = get_protocol('flow.SpeakerDiarization.flow')
for file in protocol.train():
   print(file["uri"])
   assert "annotation" in file
   assert "annotated" in file

(3)说话确认Speaker verification

(五)meta-protocols
可以将几种协议联系在一起

(六)plugins
(七)API
Custom data loaders

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值