Python生成音乐波

Python生成音乐波,第1张

概述我们将看到如何产生不同频率的波,如何制造自己的虚拟钢琴,以及播放歌曲。所有这些,都使用我们最喜欢的编程语言Python。音符不过是频率你知道吗?贝多芬是有史以来最著名的作曲家之一,他的大部分职业都充耳不闻!他仅凭直觉就能发现与观众共鸣的模式。他(在潜意识中)将自己的创造

我们将看到如何产生不同频率的波,如何制造自己的虚拟钢琴,以及播放歌曲。所有这些,都使用我们最喜欢的编程语言Python。

音符不过是频率

你知道吗? 贝多芬是有史以来最著名的作曲家之一,他的大部分职业都充耳不闻! 他仅凭直觉就能发现与观众共鸣的模式。 他(在潜意识中)将自己的创造力与数学逻辑混合在一起,创作了我们仍然珍爱的音乐
为了简单起见,我们将使用钢琴作为参考乐器。因此,在开始之前,这里有一些基础知识。

钢琴基础知识

键盘(钢琴/乐器)的结构非常简单。它由多个八度组成。八度是一组12个键的组合-7个白键和5个黑键。

每个琴键在按下时会产生不同频率的声音,我们同时按下多个琴键可d奏和弦。

白键被命名为C,D,E,F,G,A,B,而黑键则使用两个术语命名-Flat(b)(降号)和Sharp(#)(升号)。

如果黑键位于任何白键的右侧,则称为相应白键的升号。而且,如果它在左侧,则称为相应白键的降号。

例如,C和D之间的黑键有两个名称:C#(C-Sharp)和Db(D-Flat)。这是因为它位于C的右侧,也位于D的左侧。

我们在本文中将使用“ Sharp”术语以避免混淆。另外,“ Notes”和“ Keys”这两个词可以互换使用。

音乐波
您一定在物理课上听说过波浪。诸如电磁波,机械波,声波等之类的波在某个给定频率下围绕平衡反复振荡。

从数学上讲,波可以用如下的波浪方程来描述

我们可以轻松地在Python中创建一个函数来生成一个关于时间的wave的NumPy数组,如以下代码所示:

您也可以使用某些库(例如matplotlib)绘制此数组,以清晰了解发生的情况。

440Hz的频率表示该波在一秒钟内完成了440个完整周期。换句话说,它在1/440秒内完成一个循环。

由于我们将1秒分为44100个部分,因此根据sample_rate,我们可以通过打印从0到int(44100/440)的元素来绘制一个周期。

注意:如您所见,该周期在图中没有完全完成。理想情况下,此周期在100.227结束,但是由于我们使用的是离散时间间隔(在100),因此它与初始值(即0)略有不同。

详情参阅http://viadean.com/py_music.html

总结

以上是内存溢出为你收集整理的Python生成音乐波全部内容,希望文章能够帮你解决Python生成音乐波所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1186623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存