使用任何格式注释发声的工具
crowsetta的Python项目详细描述
克罗塞塔
crowsetta
是一个工具,可以使用任何格式对声音进行注释:语音、鸟鸣,
鼠标超声波呼叫(在此处插入您最喜欢的动物发声)。
的目标是crowsetta
确保您能够使用数据集
的发音不取决于您使用任何给定格式的能力
注释该数据集。给您的crowsetta
是not另一种格式
注解(我保证!);相反,您会得到一些很好的数据类型,使
使用任何格式:即由Segment
s组成的Sequence
s。
>>>fromcrowsettaimportSegment,Sequence>>>a_segment=Segment.from_keyword(...label='a',...onset_Hz=16000,...offset_Hz=32000,...file='bird21.wav'...)>>>list_of_segments=[a_segment]*3>>>seq=Sequence(segments=list_of_segments)>>>print(seq)Sequence(segments=[Segment(label='a',onset_s=None,offset_s=None,onset_Hz=16000,offset_Hz=32000,file='bird21.wav'),Segment(label='a',onset_s=None,offset_s=None,onset_Hz=16000,offset_Hz=32000,file='bird21.wav'),Segment(label='a',onset_s=None,offset_s=None,onset_Hz=16000,offset_Hz=32000,file='bird21.wav')])
您可以将注释从您选择的格式加载到Sequence
s的Segment
s中
(使用Transcriber
最方便,如下所述),然后使用
Sequence
但是你需要在你的程序中。
例如,如果要循环每个Sequence
s的Segment
s到
把音节从频谱图中抽出,你可以做这样的事情,非常刻薄:
>>>syllables_from_sequences=[]>>>fora_seqinseq:...seq_dict=seq.to_dict()# convert to dict with ...spect=some_spectrogram_making_function(seq['file'])...syllables=[]...forseginseq.segments:...syllable=spect[:,seg.onset:seg.offset]## spectrogram is a 2d numpy array...syllables.append(syllable)...syllables_from_sequences.append(syllables)
如上所述,crowsetta
为您提供了一个配备
用方便的功能为您做转换的工作。
fromcrowsettaimportTranscriberscribe=Transcriber()seq=scribe.to_seq(file=notmat_files,format='notmat')
您甚至可以很容易地调整Transcriber
来使用您自己的内部格式,就像这样:
fromcrowsettaimportTranscriberscribe=Transciber(user_config=your_config)scribe.to_csv(file_'your_annotation_file.mat',csv_filename='your_annotation.csv')
功能
- 将注释格式转换为易于在python程序中使用的
Sequence
对象 - 将
Sequence
对象转换为可在任何系统上读取的逗号分隔值文本文件 - 将逗号分隔的值文件加载回python并转换为其他格式
- 使用您自己的注释格式很方便
你可能会发现它在任何情况下都很有用 要共享歌曲的音频文件和一些相关注释, 但您不想要求用户安装 应用程序,以便使用注释文件。
开始
可以使用pip安装:
$ pip install crowsetta
要了解如何使用crowsetta
,请参阅位于:
的文档
https://crowsetta.readthedocs.io/en/latest/index.html
项目信息
背景
crowsetta
是为两个库开发的:
hybrid-vocal-classifier
https://github.com/NickleDave/hybrid-vocal-classifiervak
https://github.com/NickleDave/vak
测试依赖于Vocalization Annotation Formats Dataset
,如果需要,您可能会发现它很有用
不同音频文件和相关注释格式的小样本
- 在figshare上:https://figshare.com/articles/Vocalization_Annotation_Formats_Dataset/8046920
- 从这个github存储库构建:https://github.com/NickleDave/vocal-annotation-formats
支持
如果你有问题,请告诉我们。
贡献
变更日志
您可以在CHANGELOG中查看项目历史和正在进行的工作
许可证
该项目是根据BSD license授权的。