PENN项目使用教程

PENN项目使用教程

penn Pitch Estimating Neural Networks (PENN) 项目地址: https://gitcode.com/gh_mirrors/pe/penn

1、项目介绍

PENN(Pitch Estimating Neural Networks)是一个用于音高估计的神经网络项目,由interactiveaudiolab开发。该项目基于PyTorch框架,旨在提供高效、准确的音高和周期性估计。PENN不仅支持预训练模型的推理,还提供了训练和评估自定义模型的功能。

2、项目快速启动

安装

要使用预训练的FCNF0++模型进行音高估计,请运行以下命令:

pip install penn

如果你想训练或使用自己的模型,请运行:

pip install penn[train]

推理示例

以下是一个使用预训练模型进行音高估计的示例代码:

import penn
import torchaudio

# 加载音频
audio, sample_rate = torchaudio.load('test/assets/gershwin.wav')

# 设置跳跃大小为10毫秒
hopsize = 0.01

# 设置频率范围
fmin = 30
fmax = 1000

# 选择GPU进行推理,设置为None则使用CPU
gpu = 0

# 设置批处理大小
batch_size = 2048

# 选择检查点,设置为None将下载并使用预训练的FCNF0++模型
checkpoint = None

# 设置帧中心
center = 'half-hop'

# 设置未发声区域的线性插值阈值
interp_unvoiced_at = 0.65

# 进行音高和周期性估计
pitch, periodicity = penn.from_audio(
    audio, sample_rate, hopsize=hopsize, fmin=fmin, fmax=fmax,
    checkpoint=checkpoint, batch_size=batch_size, center=center,
    interp_unvoiced_at=interp_unvoiced_at, gpu=gpu
)

3、应用案例和最佳实践

应用案例

PENN可以广泛应用于音乐信息检索、语音处理和音频分析等领域。例如,在音乐信息检索中,PENN可以用于自动标记音高,帮助识别和分类音乐片段。

最佳实践

  1. 选择合适的频率范围:根据应用场景选择合适的fminfmax,以确保音高估计的准确性。
  2. 优化批处理大小:根据GPU内存调整batch_size,以避免内存溢出。
  3. 使用GPU加速:尽可能使用GPU进行推理,以提高处理速度。

4、典型生态项目

PENN作为一个音高估计工具,可以与其他音频处理项目结合使用,形成更强大的音频分析生态系统。以下是一些典型的生态项目:

  1. Librosa:一个用于音频和音乐分析的Python库,可以与PENN结合使用,进行更复杂的音频特征提取。
  2. PyTorch:PENN基于PyTorch框架,可以与其他PyTorch模型结合,进行端到端的音频处理任务。
  3. Torchaudio:PyTorch的音频处理库,提供了丰富的音频加载和处理功能,与PENN无缝集成。

通过结合这些生态项目,PENN可以应用于更广泛的音频处理任务,如音乐生成、语音识别和音频分类等。

penn Pitch Estimating Neural Networks (PENN) 项目地址: https://gitcode.com/gh_mirrors/pe/penn

内容概要:本文档《x86汇编指令.pdf》是一份简明的x86汇编语言教程,涵盖了从基础到高级的主题。首先介绍了汇编语言及其重要性,接着详细讲解了处理器的基本寄存器、实模式与保护模式下的内存操作、子程序和中断的使用、编译优化技术以及Linux下的x86汇编编程。文档还深入探讨了x86汇编指令集,包括数据传输、算术运算、逻辑运算、串操作、程序转移、伪指令、位操作和处理器控制指令。最后,文档介绍了GCC内联汇编的基础,包括AT&T汇编语法、内联汇编的基本形式和扩展形式、约束条件(constra)的使用以及一些实用的例子。 适合人群:具备一定编程基础,尤其是熟悉结构化程序设计语言的读者,如C/C++程序员,以及对底层编程和计算机架构感兴趣的开发者。 使用场景及目标:①帮助读者深入了解计算机内部运行机制,提高调试能力和程序性能;②掌握x86汇编语言的核心概念和技术,以便在需要高性能代码或硬件交互的场景中应用;③学习如何利用GCC内联汇编技术优化关键代码段,增强程序的执行效率。 其他说明:本文档不仅适合自学,也适用于有一定编程经验的开发者深入研究汇编语言。学习汇编语言不仅能提升对计算机底层的理解,还能为编写高效、稳定的程序打下坚实基础。文档强调了汇编语言的复杂性和挑战性,鼓励读者在实践中不断探索和创新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳旖岭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值