MATLAB - FFT 缺少基础[关闭]

2023-11-21

我目前正在从事我的第四年项目(计算机科学),其中涉及音乐 -> 乐谱的自动转录。我目前正在 Matlab 中进行,但在某个阶段必须转换为 java。

我的问题: 我的程序返回纯正弦音的正确音符,现在在从自然乐器演奏的音符中检索基频时遇到了问题。对于某些音符,代表音符基音的峰值似乎完全缺失。例如,当我从车库乐队演奏 G3 音符时,它显示为 G4,因为我的图中仅出现第 1、第 3、第 5 和第 7 和声。我尝试添加图像,但由于这是我的第一篇文章,所以不允许我添加。任何正确方向的指示将不胜感激。


这并不罕见。对于男声、大型弦乐器和许多其他音调声源来说,基音缺失或几乎缺失是很常见的。

与正弦波函数发生器相比,这使得仅使用 FFT 峰值结果在确定实际乐器的音符方面效果极差。这是因为音调与峰值频谱频率不同。音高是一种心理声学感知现象。这就是您需要阅读的内容。关于这个主题有大量的研究论文。

所以你需要看看一套完全不同的算法。尝试倒谱(倒谱分析)、谐波乘积谱、自相关和类似的(AMDF、ASDF 等滞后)、RAPT(稳健的音调跟踪算法)、YAAPT 等。

补充:我写了更详细的博客文章中对缺少基础知识的音高的解释.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB - FFT 缺少基础[关闭] 的相关文章

  • 动态调整自定义刻度数

    Taking SO 的一个例子 https stackoverflow com a 7139485 97160 我想根据当前视图调整轴刻度 这是默认行为 除非设置自定义的刻度数 下图展示了由此产生的行为 左侧是默认行为 右侧是带有自定义刻度
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab
  • 从图像坐标获取对象的世界坐标

    I have been following this http docs opencv org modules calib3d doc camera calibration and 3d reconstruction html docume
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 如何在向量中的所有点之间绘制线?

    我有一个包含二维空间中一些点的向量 我希望 MATLAB 用从每个点到每个其他点绘制的线来绘制这些点 基本上 我想要一个所有顶点都连接的图 你能用情节来做到这一点吗 如果可以 怎么做 一种解决方案是使用该函数为每个点组合创建一组索引MESH
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • MATLAB 除法...29/128 应该返回 0 吗?

    我真的不认为这是一个精度问题 答案应该是0 226左右 这是确切的代码 val I i j bucketSize pos val bucketSize I只是我从中获取值的矩阵 以下是 MATLAB 的输出 val 29 bucketSiz
  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • Deploytool for MATLAB R2013b 不起作用,发生了什么变化?

    多年来我一直在使用集成deploytool为我的同事创建易于分发的 exe 文件 我几天前安装了R2013b 但无法使用deploytool不再了 尝试打包时的日志文件给出了以下内容 ant
  • matlab 中的动画绘图

    我正在尝试创建一个三角形的动画图 最终结果应该是十个三角形 后面跟着两个更大的三角形 后面跟着一条直线 使用matlab文档 https de mathworks com help matlab ref drawnow html 我最终得到
  • 2D 网格的纹理贴图

    我有一组点 x y meshgrid 1 N 1 M 在常规二维上定义 N x M网格 我还有另一组要点 u v 这是原始网格的一些变形 即 u v f x y 但是我没有实际的f导致变形 如何将纹理映射到由定义的 变形 网格u v 即 给
  • 像matlab一样在python中连接数组而不知道输出数组的大小

    我正在尝试在 python 中连接数组 类似于 matlab array1 zeros 3 500 array2 ones 3 700 array array1 array2 我在 python 中做了以下操作 array1 np zero
  • 绘制布朗运动 matlab

    首先 我只想说我不太习惯使用matlab 但我需要一个作业 我应该创建一个 布朗运动 我的代码目前如下所示 clf hold on prompt Ge ett input size input prompt numParticles inp
  • 在音频文件中查找音频样本(频谱图已存在)

    我正在努力实现以下目标 使用 Skype 拨打我的邮箱 有效 输入密码并告诉邮箱我要录制新的欢迎信息 有效 现在 我的邮箱告诉我在嘟嘟声后录制新的欢迎消息 我想等待蜂鸣声然后播放新消息 不起作用 我如何尝试实现最后一点 使用 FFT 和滑动
  • 拟合具有扭曲时基的正弦波

    我想知道在 Matlab 中拟合具有扭曲时基的正弦波的最佳方法 时间失真由 n 阶多项式 n 10 给出 其形式为t distort P t 例如 考虑失真t distort 8 12t 6t 2 t 3 这只是幂级数展开 t 2 3 这将
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • Matlab下降低图像质量

    问候 我正在尝试找到一种简单的方法来处理图像 以便将其质量从 8 位降低到 3 位 实现这一目标的最简单方法是什么 干杯 如果要线性缩放 只需将每个像素值除以 255 7 即 如果原始图像存储在矩阵 I 中 则让低分辨率图像 J I 255

随机推荐

  • 泛型函数类型别名

    为什么在 TypeScript 中类型别名不能与泛型函数一起使用 例如 这里 TS 没有将 Identical 类型定义为泛型 type Identical
  • Django ALLOWED_HOSTS 通过 Apache 接受本地 IP

    我正在使用 Apache 提供 Django 应用程序 在 Django 的 settings py 中我有DEBUG False 因此我必须允许一些主机 例如 ALLOWED HOSTS dyndns org localhost 这工作正
  • Keras 自定义损失作为多个输出的函数

    我使用 keras 一个卷积网络 构建了一个自定义架构 该网络有 4 个头 每个头输出不同大小的张量 我正在尝试编写一个自定义损失函数作为这 4 个输出的函数 我之前一直在实施自定义损失 但它要么是每个头的不同损失 要么是每个头的相同损失
  • 在“DELETE FROM table”之后更改 sqlite 文件大小

    我正在使用 sqlite3 文件 首先 我进入了比较大的数据库 文件大小约为100 MB 比我做的 db gt exec DELETE FROM table 并只输入了该数据库的一小部分 但文件大小仍为 100 MB 删除 sqlite 文
  • Android:从回调中获取结果(网络 KOUSH ION)

    对于我的应用程序 我需要从我们的服务器联系我们的 API 该服务器返回一些 JSON 下载 JSON 时 它应该显示一个进度条 我想我应该使用Android的AsyncTask在进行网络操作时处理 GUI 所以我在我的文件中编写了以下内容A
  • 如何最好地处理 C/C++ 中的动态多维数组?

    在 C 和 或 C 中操作动态 所有维度直到运行时才知道 多维数组的可接受 最常用的方法是什么 我正在尝试找到最简洁的方法来完成此 Java 代码的功能 public static void main String args Scanner
  • std::move 和 RVO 优化

    我最近读过如何std move可以通过仅移动值而不是复制它们来加速代码 所以我做了一个测试程序来比较速度std vector 代码 include
  • Node.js 服务器超时问题(EC2 + Express + PM2)

    我对运行生产 Node js 应用程序还比较陌生 最近我遇到了服务器超时的问题 基本上在一定的使用量和时间后 我的 Node js 应用程序停止响应请求 我什至不再看到在我的控制台上触发路由 就好像整个事情都停止了 来自我的客户端 运行 A
  • 如何使用 Odoo 中的方法设置默认值?

    如何计算 Odoo 8 中对象字段中的默认值模型 py 我们不能使用 defaultOdoo 8 中不再有属性 field name fields datatype string value default compute default
  • FileUpload:未找到 DeferredFileOutputStream 类? [复制]

    这个问题在这里已经有答案了 我正在使用 apache FileUpload 来处理 文件上传 我将它与码头一起使用 servlet 看到多部分请求 但在执行时抛出 NoClassDefFoundError 异常 protected void
  • ng2-charts - 无法绑定到“数据集”,因为它不是“基本图表”的已知属性

    版本 Cordova 6 3 1 Gulp CLI 1 2 2 Ionic 框架 2 0 0 rc 0 Ionic CLI 版本 2 1 0 我在用着ng2 图表在我的 ionic2 应用程序中 导入不import ChartsModule
  • 可逆树长关系

    我正在尝试用 纯 Prolog 编写可逆关系 没有is 剪切或类似的东西 是的 这是作业 我必须承认我不知道如何做 我没有看到任何创建这样的东西的过程 我们被赋予了 不纯粹 但可逆的算术关系 加 乘 等于 减 我们必须使用它们来创建这些关系
  • 如何定义旋转函数

    如何定义一个旋转函数来生成给定列表的所有旋转 例如 旋转 1 2 3 4 1 2 3 4 2 3 4 1 3 4 1 2 4 1 2 3 我写了一个shift函数 可以重新排列顺序 shift Int gt Int shift x tail
  • AH01215:(8)执行格式错误:'/var/www/python/hello.py'的执行失败:/var/www/python/hello.py

    我正在尝试在 apache 服务器中将 python 作为 CGI 运行 Python 版本是 2 7 12 这是我的 apache conf 文件
  • useQuery 的奇怪问题:未读取查询参数

    我有一个传递字符串的组件 userToFetch 将其作为参数化查询中的可变参数 该组件如下所示 pages index jsx import React from react import useQuery from apollo rea
  • CSS - 行高属性,它是如何工作的(简单)

    So in 这个简单的例子我的最终结果是 这是一个非常简单的问题 但我就是无法理解它 为了实现我使用的数字的垂直居中 line height 100px 效果很好 并且一直在反复试验的基础上进行 我的问题具体是为什么line height
  • 为什么函数中不允许使用“from ... import *”? [复制]

    这个问题在这里已经有答案了 From 文档 导入的通配符形式 from module import 仅允许在模块级别 尝试在类或函数定义中使用它会引发SyntaxError 为什么 避免在函数中使用它有什么意义 有什么问题 CPython
  • WebView使用loadDataWithBaseUrl跳转到锚点

    我的 Android 应用程序使用 WebView 来显示我 即时 生成的一堆 HTML 代码 HTML 代码使用以下代码加载 StringBuilder builder new StringBuilder HTML builder app
  • jquery UI 对话框和 Asp.net UpdatePanel

    我正在寻找用于 asp net 的 JavaScript 模式对话框解决方案 jquery UI 对话框似乎不错 但它将对话框容器移动到 body 标记的底部 我更改了对话框代码以将对话框保留为 asp net 形式 但它仍然不在 upda
  • MATLAB - FFT 缺少基础[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我目前正在从事我的第四年项目 计算机科学 其中涉及音乐 gt 乐谱的自动转录 我目前正在 Matlab 中进行 但在某个阶段必须转换为 java 我的问题 我的程序返回纯正弦音的