一个用于从声学数据生成特征的轻量级包
项目描述
B2AI Prep
一个简单的Python包,用于为Bridge2AI语音项目准备声学数据。
注意:此包处于积极开发中,接口可能会快速变化。
安装
需要Python >= 3.10, <3.12环境
pip install b2aiprep
用法
查看通过CLI可用的命令
b2aiprep-cli --help
-
将音频文件转换为特征
最简单形式接受音频文件、主题ID和任务名称。
b2aiprep-cli convert test_audio.wav s1 mpt
它将保存一个包含特征的pytorch
.pt
文件。这可以通过torch.load()
加载。文件命名遵循简单约定:sub-<subject_id>_task-<task_name>_md5-<checksum>_features.pt
要启用语音转文本转录,请指定
--speech2text
标志。 -
批量处理音频文件
这需要一个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
标志。 -
生成用于输入batchconvert的csv文件
b2aiprep-cli createbatchcsv input_dir outfile
输入目录应指向从Wasabi拉取的Production目录的位置,例如
/Users/b2ai/production
。此目录可以为每个机构创建子目录(例如
production/MIT
),并且每个子目录应包含每个机构的所有.wav
文件。输出文件是要生成的 csv 文件的路径和名称,例如
audiofiles.csv
csv 文件将包含一个名为
filename
的标题,其中列出所有文件名。 -
验证两个音频文件是否来自同一说话者
b2aiprep-cli test_audio1.wav test_audio2.wav --model 'speechbrain/spkrec-ecapa-voxceleb'
这将使用 speechbrain 说话者识别模型来验证两个音频文件是否来自同一说话者。
在 docs 目录中有一个笔记本,可以用来以编程方式与库交互。
-
将源音频文件(第 1 个参数)中的说话者转换为目标音频文件(第 2 个参数)的说话者,并将结果保存到输出文件(第 3 个参数)中
b2aiprep-cli convert-voice data/vc_source.wav data/vc_target.wav data/vc_output.wav
-
转录音频
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 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b723da1e7d3795a31ab1538cfee94cfdd9f58406b15d0f895e580d584ccf18d4 |
|
MD5 | 037fd6de0a48e2dac5d83d58fa163a43 |
|
BLAKE2b-256 | 59d57028e1f3449711a960a26014c084b4b0b5522c0658828b0f02b14f2e9301 |
b2aiprep-0.20.0-py3-none-any.whl的哈希值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8c0dae0a2eb1edadfa3604e2665885815bbef9d6ae874fa1650e3cc37367e735 |
|
MD5 | e319bab73b7be7134bac2b351cd776b4 |
|
BLAKE2b-256 | 93e6da25961339f25d0decb8c4ab64dd75093a837386dda29337b92641043176 |