首页 > 解决方案 > 在 Python 中将频率转换为音符

问题描述

我正在尝试将频率值转换为类似 (input 400 --> print "Note A4") 但我不想在我的代码上写下所有频率表。有没有机会在不写下所有音符及其频率的情况下从输入频率中获取音符。谢谢

标签: pythonfrequency

解决方案


这是您需要的所有音乐信息,以便能够得出一个公式,告诉您给定频率距离 A4 多少个半音:

  • A4 是 440 Hz(不是 400)。
  • 任何两个相邻半色调的频率之比是恒定的(例如,A/Ab 和 Bb/A 给出相同的数字)。
  • 相隔一个八度的两个音的频率之比为 2。
  • 一个八度有十二个半音。

(最后两点将让您弄清楚第二点中的恒定比率是多少。)

或者,您可以使用它来编写一个程序,该程序只需从 A4 向上或向下“步进”,直到它达到(或通过)给定的频率。


推荐阅读