使用任何格式注释发声的工具

crowsetta的Python项目详细描述


克罗塞塔

Build StatusDocumentation StatusDOIPyPI version

crowsetta是一个工具,可以使用任何格式对声音进行注释:语音、鸟鸣, 鼠标超声波呼叫(在此处插入您最喜欢的动物发声)。 的目标是crowsetta确保您能够使用数据集 的发音不取决于您使用任何给定格式的能力 注释该数据集。给您的crowsettanot另一种格式 注解(我保证!);相反,您会得到一些很好的数据类型,使 使用任何格式:即由Segments组成的Sequences。

>>>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')])

您可以将注释从您选择的格式加载到Sequences的Segments中 (使用Transcriber最方便,如下所述),然后使用 Sequence但是你需要在你的程序中。

例如,如果要循环每个Sequences的Segments到 把音节从频谱图中抽出,你可以做这样的事情,非常刻薄:

>>>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是为两个库开发的:

测试依赖于Vocalization Annotation Formats Dataset,如果需要,您可能会发现它很有用 不同音频文件和相关注释格式的小样本

支持

如果你有问题,请告诉我们。

贡献

变更日志

您可以在CHANGELOG中查看项目历史和正在进行的工作

许可证

该项目是根据BSD license授权的。

引文

如果您使用crowsetta,请引用doi: DOI

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将字符串转换为自定义对象   java如何从socket方法获取数据?   Java中的soap读取回车和新行   java在单击时替换图像   java推荐的使用RXJava执行异步任务的方法   java MySql连接器JDBC驱动程序不支持连接池吗?   java将活动堆栈清理到顶部   java计数用户输入的数量   java从webservice下载大文件导致应用程序性能问题   JavaLocalDate。EPOCH不可用   java如何在使用Selenium等待一定时间后,在页面无法加载(get(url))时自动刷新页面   java Calendar setLenient方法不允许检查年份字段的健全性   java Eclipse和intelliJ 安卓 SDK问题   java为什么我可以在没有super关键字的情况下调用父方法?   java iText的PDF格式不好