跳转到主要内容

一个用于从声学数据生成特征的轻量级包

项目描述

B2AI Prep

一个简单的Python包,用于为Bridge2AI语音项目准备声学数据。

注意:此包处于积极开发中,接口可能会快速变化。

安装

需要Python >= 3.10, <3.12环境

pip install b2aiprep

用法

查看通过CLI可用的命令

b2aiprep-cli --help
  1. 将音频文件转换为特征

    最简单形式接受音频文件、主题ID和任务名称。

    b2aiprep-cli convert test_audio.wav s1 mpt
    

    它将保存一个包含特征的pytorch .pt文件。这可以通过torch.load()加载。文件命名遵循简单约定:sub-<subject_id>_task-<task_name>_md5-<checksum>_features.pt

    要启用语音转文本转录,请指定--speech2text标志。

  2. 批量处理音频文件

    这需要一个CSV文件,其中有一个名为filename的列头,然后每行都是以下形式:path/to/audio.wav

    这也支持每行都是以下形式的CSV文件:path/to/audio.wav,subject_id,task_name

    要使用从Wasabi拉取的Production目录生成此CSV文件,请使用命令3。

    b2aiprep-cli batchconvert filelist.csv --plugin cf n_procs=2 --outdir out --save_figures
    

    上述命令在幕后使用pydra并行处理音频文件。所有输出都存储在由--outdir标志指定的单个目录中。

    也可以通过指定--dataset标志在输出目录中生成hugging face数据集。

    要启用语音转文本转录,请指定--speech2text标志。

  3. 生成用于输入batchconvert的csv文件

    b2aiprep-cli createbatchcsv input_dir outfile
    

    输入目录应指向从Wasabi拉取的Production目录的位置,例如/Users/b2ai/production

    此目录可以为每个机构创建子目录(例如 production/MIT),并且每个子目录应包含每个机构的所有 .wav 文件。

    输出文件是要生成的 csv 文件的路径和名称,例如 audiofiles.csv

    csv 文件将包含一个名为 filename 的标题,其中列出所有文件名。

  4. 验证两个音频文件是否来自同一说话者

    b2aiprep-cli test_audio1.wav test_audio2.wav --model 'speechbrain/spkrec-ecapa-voxceleb'
    

    这将使用 speechbrain 说话者识别模型来验证两个音频文件是否来自同一说话者。

    在 docs 目录中有一个笔记本,可以用来以编程方式与库交互。

  5. 将源音频文件(第 1 个参数)中的说话者转换为目标音频文件(第 2 个参数)的说话者,并将结果保存到输出文件(第 3 个参数)中

    b2aiprep-cli convert-voice data/vc_source.wav data/vc_target.wav data/vc_output.wav
    
  6. 转录音频

    b2aiprep-cli transcribe data/vc_source.wav
    

    或使用不同的模型。请注意,大型模型可能需要一些时间来下载。

    b2aiprep-cli transcribe data/vc_source.wav --model_id 'openai/whisper-large-v3' --return_timestamps true
    

BIDS 类似的数据

此包提供从 RedCap/file-based 自定义结构到 BIDS 类似 结构的转换,以便进行下游分析。此外,还提供了用于处理 BIDS 类似结构化数据和支持语音和问卷调查数据分析的实用程序。

将 RedCap CSV 和音频文件文件夹转换为 BIDS 格式

b2aiprep-cli redcap2bids bridge2ai_voice_data.csv --outdir output --audiodir audio

可以省略上述的 audiodir 选项,在这种情况下,不会重新组织音频数据。

请参阅 tutorial.ipynb 了解 BIDS 类似格式数据的几个使用示例。

暑期学校数据准备

此命令使用 BIDS 类似转换工具组织数据,提取音频特征,并将整个内容保存为 .tar 文件,以便于在 Bridge2AI 暑期学校中进行分发。

b2aiprep-cli prepsummerdata \
   [path to RedCap CSV] \
   [path to Wasabi export directory] \
   [desired path to BIDS output] \
   [desired output path for .tar file]

Streamlit 仪表板

提供了一个仪表板,帮助导航 BIDS 格式中的数据。在仓库文件夹中启动仪表板

streamlit run src/b2aiprep/app/Dashboard.py [path to BIDS directory]

Streamlit 仪表板打开后,请在仪表板页面上等待 BIDS 数据加载,因为如果 BIDS 数据尚未完全加载,可能会弹出有关未初始化的 bids_dir 目录的错误。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

b2aiprep-0.20.0.tar.gz (324.3 kB 查看散列)

上传时间

构建分布

b2aiprep-0.20.0-py3-none-any.whl (341.3 kB 查看散列)

上传时间 Python 3

由以下提供支持