鸟类夜间迁徙的生物声学监测

birdvoxdetect的Python项目详细描述


BirdVoxDetect:航班呼叫的检测与分类

PyPIMIT license

BirdVoxDetect是一个预先训练过的深度学习系统,它可以从录音中检测鸣禽的飞行叫声,并检索出相应的物种。 它依靠单通道能量归一化(PCEN)和上下文自适应卷积神经网络(CA-CNN)来提高对背景噪声的鲁棒性。 它既可以作为Python库使用,也可以作为Windows、OS X和GNU/Linux的命令行工具使用。在

安装

安装BirdVoxDetect的最简单方法是使用pip包管理系统,该系统还将安装附加的所需依赖项 如果需要的话。在

pip install birdvoxdetect

请注意,birdvoxdetect需要:

  • Python(3.6、3.7或3.8)
  • librosa(=0.7.0)
  • tensorflow(>;=2)
  • scikit学习(=0.21.2)
  • 鸟粪分类(0.2)
  • h5py型
  • 熊猫

使用

从命令行

要分析一个文件:

^{pr2}$

要分析多个文件:

birdvoxdetect path/to/file1.wav path/to/file2.wav

要分析一个文件夹:

birdvoxdetect path/to/folder

在Windows上:

birdxodetect path\to\folder

可选参数:

--clip-duration CLIP_DURATION, -d CLIP_DURATION
                      Duration of the exported clips, expressed in seconds
                      (fps). The default value is 1.0, that is, one second.
                      We recommend values of 0.5 or above.
--export-clips, -c    Export detected events as audio clips in WAV format.
--export-confidence, -C
                      Export the time series of model confidence values of
                      events in HDF5 format.
--export-faults, -f   Export list of sensor faults in CSV format.
--export-logger, -l   Export output of Python logger in TXT format.
--output-dir OUTPUT_DIR, -o OUTPUT_DIR
                      Directory to save the output file(s); The default
                      value is the same directory as the input file(s).
--predict-proba, -p   Export output probabilities in JSON format.
--quiet, -q           Print less messages on screen.
--suffix SUFFIX, -s SUFFIX
                      String to append to the output filenames.The default
                      value is the empty string.
--threshold THRESHOLD, -t THRESHOLD
                      Detection threshold, between 10 and 90. The default
                      value is 50. Greater values lead to higher precision
                      at the expense of a lower recall.
--verbose, -v         Print timestamps of detected events.
--version, -V         Print version number.

来自Python

调用语法:

import birdvoxdetect as bvd    
df = bvd.process_file('path/to/file.wav')

df是一个Pandas数据帧,有三列:时间、检测置信度和物种。在

下面是测试套件的典型输出(文件路径tests/data/audio/fd79e55d-d3a3-4083-aba1-4f00b545c3d6.wav):

Time (hh:mm:ss) Species (4-letter code) Family    Order         Confidence (%)
00:00:08.78     SWTH                    Turdidae  Passeriforme  70.14839

联系人

官方网站

有关BirdVox项目的更多信息,请访问我们的网站:https://wp.nyu.edu/birdvox

BirdVoxDetect的主要开发者是法国国家科学研究中心CNRS的科学家文森特洛斯坦伦。在

讨论组

有关BirdVoxDetect的任何问题或公告,请参阅我们的讨论组: https://groups.google.com/g/birdvox

参考文献

在工作中使用BirdVoxDetect时,请引用以下论文:

Robust Sound Event Detection in Bioacoustic Sensor Networks
文森特·洛斯坦伦、贾斯汀·萨拉蒙、安德鲁·法恩斯沃思、史蒂夫·凯林和胡安·帕布罗·贝洛
公共科学图书馆一号14(10):e0214168,2019年。DOI:https://doi.org/10.1371/journal.pone.0214168

从v0.4开始,BirdVoxDetect中的物种分类依赖于分类神经网络(TaxoNet),它作为birdvoxclassification包的一部分分发。有关TaxoNet的详细信息,请参阅:

Chirping up the Right Tree: Incorporating Biological Taxonomies into Deep Bioacoustic Classifiers
Jason Cramer、Vincent Lostanlen、Andrew Farnsworth、Justin Salamon和Juan Pablo Bello
IEEE声学、语音和信号处理国际会议(ICASSP),西班牙巴塞罗那,2020年5月。在

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

推荐PyPI第三方库


热门话题
java ProcessBuilder在使用多个参数时运行不正常   java如何使用Spring数据ORM/JPA创建EntityManagerFactory?   将Velocity宏转换为Java指令   internet上的Java TCP/IP服务器客户端通信   java为什么JDK 8允许一个局部内部类(在方法内部)访问封闭方法的非最终局部变量?   基于Java的比率算法   java应用程序在选择列表首选项时出错   java保存对象以供以后使用   java如何使用MySQL JDBC驱动程序连接Android和MySQL   java Zipkin可以用于控制台应用程序   java单击刷新Servlet页面显示重复内容   java如何递归地反转字符串数组?   java如何使用inputStream作为outputStream的文本?   java扩展令牌选择操作符   java在映射中使用通用枚举类   arraylist如何使用JAVA流从对象列表中查找平均值   windows将FileInputStream和FileOutputStream传递给ffmpeg进行转码(使用JAVEJava音频视频编码)   java Ant脚本在执行CVS签出后找不到目标   重复值情况下的java插入排序,双链表ADT   java如何在Accumulo中获取数据库查询计数