Python起风了钢琴曲

写在前面

那年夏天,有《纸短情长》,有《稻香》,有《可不可以》,有《体面》,还有《起风了》……本期小编给大家分享Python弹奏的《起风了》钢琴曲,一起来看看吧!

《起风了》

《起风了》是一首深情流行的中文歌曲,最初发行于2017年2月22日,由买辣椒也用券和米果填词,基于日本音乐人高桥优的作品《ヤキモチ》改编而来。这首歌以其深刻的歌词和悠扬旋律迅速走红,讲述了一位少年从青涩到成熟的心路历程,以及对爱情和人生的深刻感悟。它描绘了对世界的无限好奇与留恋,表达了即使面对重重困难也勇于追寻梦想与爱情的勇气。

起风了歌词

我曾将青春翻涌成她
也曾指尖弹出盛夏
心之所动 且就随缘去吧
这一路上走走停停
顺着少年漂流的痕迹
迈出车站的前一刻
竟有些犹豫
不禁笑这近乡情怯
仍无可避免
而长野的天
依旧那么暖
风吹起了从前
从前初识这世间
万般流连
看着天边似在眼前
也甘愿赴汤蹈火去走它一遍
如今走过这世间
万般流连
翻过岁月不同侧脸
措不及防闯入你的笑颜
我曾难自拔于世界之大
也沉溺于其中梦话
不得真假 不做挣扎 不惧笑话
我曾将青春翻涌成她
也曾指尖弹出盛夏
心之所动 且就随缘去吧
逆着光行走 任风吹雨打

Python起风了

完整代码

import ctypes
import threading
import time
winmm = ctypes.windll.winmm
……
sleep = 0.35
for i in wind:
if i == -1:
break
if i == 0:
sleep = 0.172
continue
if i == 700:
time.sleep(0.172)
continue
if i == 300:
sleep = 0.35
continue
if i == Voice._:
time.sleep(0.25)
continue
back = playNote(handle, 0, instrument, i, velocity, sleep)
print(back, end="\n")
        # time.sleep(sleep)
# MIDI_MAPPER 常量
MIDI_MAPPER = 0xFFFFFFFF
# 创建一个变量来接收 MIDI 输出句柄
hMidiOut = ctypes.c_void_p()
# 调用 midiOutOpen 函数
result = winmm.midiOutOpen(ctypes.byref(hMidiOut), MIDI_MAPPER, 000)
if result == 0:
print("midiOutOpen succeeded")
    # go(hMidiOut,107)
……

代码分析

这段代码是一个使用 MIDI 协议生成音乐的 Python 脚本,具体分析如下。

  1. Scale 和 Voice 类: 这些类定义了音乐音阶和音符,使用 MIDI 音符编号。每个常量对应一个特定的 MIDI 音符。

  2. playNote 函数: 这个函数播放一个 MIDI 音符。它接受参数,如 MIDI 输出句柄 (hmo)、通道、乐器、音符、速度和可选的持续时间。它发送音符开启和(如果指定了持续时间)音符关闭的 MIDI 消息。

  3. go 函数: 这个函数定义了要播放的音符序列。它遍历了一个 MIDI 音符号的列表,并为每个音符调用 playNote。它还包含处理特殊情况的逻辑,如暂停和速度变化。

  4. MIDI_MAPPER和hMidiOut: 这些变量用于使用winmm库的midiOutOpen函数打开 MIDI 输出设备。

  5. 线程创建和执行: 创建了两个线程来同时播放不同的旋律。每个线程使用不同的乐器和速度参数调用go函数。

  6. 线程加入和 MIDI 输出关闭: 线程执行结束后,它们被加入,然后使用midiOutClose关闭 MIDI 输出。

总的来说,这个脚本通过向输出设备发送 MIDI 消息来生成音乐,创建多个线程同时播放不同的旋律。

 系列推荐

序号文章目录直达链接
表白系列
1无法拒绝的表白界面【Python表白系列】制作一个无法拒绝的表白界面(完整代码)_python玫瑰花雨编程-CSDN博客
2满屏飘字表白代码【Python表白系列】满屏飘字表白代码等你来取!(完整代码)_抖音同款满屏飘字表白代码(python版)-CSDN博客
3无限弹窗表白代码【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)_python无限弹窗表白-CSDN博客
4李峋同款可写字版跳动的爱心【Python表白系列】李峋同款可写字版跳动的爱心(完整代码)_李峋爱心代码电脑版-CSDN博客
5流星雨【Python表白系列】全网首创,让我们一起去看流星雨吧!(完整代码)-CSDN博客
6漂浮爱心【Python表白系列】这个情人节用代码画个漂浮的爱心送给她吧(完整代码)_csdn-CSDN博客
7爱心光波【Python表白系列】如何用代码实现爱心光波的表白效果(完整代码)-CSDN博客
8玫瑰花【Python表白系列】用代码画玫瑰花,属于程序员的浪漫告白(完整代码)_蓝玫瑰编制代码python-CSDN博客
节日系列
1新春/跨年烟花秀(2022)【Python节日系列】禁止燃放烟花爆竹,那就用Python画场烟花秀吧(完整代码)-CSDN博客
烟花秀(2023)【Python节日系列】今年跨年一起去看Python烟花秀吧(完整代码)_python跨年代码-CSDN博客
粒子烟花【Python节日限定】新春快乐,绽放一场粒子烟花盛宴吧(完整代码)-CSDN博客
2圣诞节圣诞礼物【Python节日系列】从天而降的圣诞礼物(完整代码)-CSDN博客
圣诞树(2022)【Python节日系列】教你用Python画圣诞树,做个浪漫的程序员(完整代码)_圣诞树代码python合集-CSDN博客
绿色圣诞树(2023)【Python节日系列】含礼物的圣诞树(完整代码)-CSDN博客
粉色圣诞树(2023)【Python节日系列】慢慢画一棵粉红色的圣诞树(完整代码)_跳动爱心代码-CSDN博客
3冬至大雪纷飞【Python节日系列】这个冬天画一场大雪送给你的好朋友吧(完整代码)_python结婚祝福-CSDN博客
4生日生日蛋糕【Python节日系列】专属于程序员的生日蛋糕,你学会了吗(完整代码)_python tkinter 列表控件-CSDN博客
5儿童节五彩气球【Python节日系列】让代码创造童话,共建快乐世界(完整代码)_want595-CSDN博客
6国庆节国庆祝福【Python节日系列】目光所至皆华夏,五星闪耀为信仰(完整代码)_tk.radiobutton控件-CSDN博客
7万圣节万圣礼物【Python节日系列】终于要到我这只可爱鬼的节日啦!(完整代码)_python tkinter menu背景颜色无效-CSDN博客
8愚人节愚人代码【Python节日系列】这个愚人节,送你最好的朋友一个惊喜吧(完整代码)_tkinter 点击button 才显示lab-CSDN博客
9中秋节浪漫星空【Python节日系列】中秋佳节将至,和最重要的人一起来赏月吧(完整代码)_python 绘图控件-CSDN博客
10植树节樱花树【Python节日系列】樱花树下的约定,你还记得吗(完整代码)_tk, text, entry-CSDN博客
动漫系列
1名侦探柯南系列柯南【Python动漫系列】名侦探柯南(完整代码)_python画柯南-CSDN博客
2喜羊羊与灰太狼系列喜羊羊【Python动漫系列】喜羊羊(完整代码)_喜洋洋代码-CSDN博客
懒羊羊【Python动漫系列】懒羊羊(完整代码)_python编程画懒羊羊-CSDN博客
灰太狼【Python动漫系列】灰太狼(完整代码)_灰太狼python代码-CSDN博客
小灰灰【Python动漫系列】小灰灰(完整代码)_python画灰太狼儿子代码-CSDN博客
小香香【Python动漫系列】小香香(完整代码)_动漫代码大全可复制-CSDN博客
3海绵宝宝系列海绵宝宝【Python动漫系列】海绵宝宝(完整代码)_spongebob squarepants-CSDN博客
4哆啦A梦系列哆啦A梦【Python动漫系列】哆啦A梦(完整代码)-CSDN博客
5HelloKitty系列hellokitty【Python动漫系列】HelloKitty(完整代码)_hellokitty代码-CSDN博客
6Tom&Jerry系列Tom&Jerry【Python动漫系列】汤姆与杰瑞(完整代码)_用python画杰瑞-CSDN博客
7草莓熊系列草莓熊【Python动漫系列】草莓熊(完整代码)_动漫编程代码-CSDN博客
8皮卡丘系列迷你皮卡丘【Python动漫系列】迷你皮卡丘(完整代码)-CSDN博客
高级皮卡丘【Python动漫系列】高级皮卡丘(完整代码)-CSDN博客
豪华皮卡丘【Python动漫系列】豪华皮卡丘(完整代码)_电子生日礼物代码-CSDN博客
炫酷系列
1  一闪一闪亮星星系列张万森下雪了【Python炫酷系列】张万森,下雪了(完整代码)_张万森 python-CSDN博客
一闪一闪亮星星【Python炫酷系列】一闪一闪亮晶晶,跨年就看林北星(完整代码)-CSDN博客
2代码雨【Python炫酷系列】黑客帝国代码雨(完整代码)_黑客python二进制雨-CSDN博客
3七彩花朵【Python炫酷系列】漫天飘落的七彩花朵(完整代码)_利用python 代码画满屏飘七彩花朵-CSDN博客
43D星空【Python炫酷系列】这个3D星空好有趣(完整代码)_pycharm好玩3d代码-CSDN博客
5金榜题名【Python炫酷系列】祝考研的友友们金榜题名吖(完整代码)_python祝别人上岸代码-CSDN博客
6满天星【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)_一闪一闪亮星星代码-CSDN博客
……

写在最后

我是一只有趣的兔子,感谢你的喜欢! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/625109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决Android Studio Gradle下载慢的问题

安卓 gradle-7.5-bin.zip 下载慢 https://mirrors.cloud.tencent.com/gradle/7.x.x 找到对应匹配版本 把下载的文件直接复制到 C:\Users\Administrator.gradle\wrapper\dists\gradle-x.x\ 中对应版本目录下,例如需要下载 gradle-2.14.1-all.zip,则下载好…

Linux —— 线程控制

Linux —— 线程控制 创建多个线程线程的优缺点优点缺点 pthread_self进程和线程的关系pthread_exit 线程等待pthread_ join线程的返回值线程分离pthread_detach 线程取消pthread_cancel pthread_t 的理解 我们今天接着来学习线程: 创建多个线程 我们可以结合以前…

【Linux】认识文件(四):文件系统,inode,以及软硬连接

【Linux】认识文件(四):文件系统,inode,以及软硬连接 一.磁盘(仅了解)1.组成2.CHS寻址 二.抽象化磁盘(仅了解)三.文件系统1.什么是文件系统2.ext2文件系统的结构i.Date blocksii.Block Bitmapiii.inode1.inode Table2.inode Bitmap iiiii.GDT…

使用 Python 进行图像验证码识别训练及调用

目录 1、验证码识别原理1.1 Tensorflow 介绍1.2 Tensorflow 运行原理1.3 卷积神经网络 CNN(Convolutional Neural Networks) 2、验证码识别实现步骤2.1 安装第三方模块2.1.1 安装 TensorFlow 模块2.2.2 安装 cuda2.2.3 下载 cudnn 2.2 读取验证码样本形成…

[源码安装]

1 pangolin安装 在Linux上常用的一个3D绘图库是Pangolin,它是基于OpenGL完成的,它不但支持OpenGL的基本操作,还提供了一些GUI的功能。 1.1 版本: pangolin —— v0.6 libpng —— 16 eigen —— 3.4 使用libpng12遇到下面的问…

网络编程套接字(一) 【简单的Udp网络程序】

网络编程套接字<一> 理解源端口号和目的端口号PORT VS PID认识TCP协议和UDP协议网络字节序socket编程接口sockaddr结构简单的UDP网络程序服务端创建套接字服务端绑定运行服务器客户端创建套接字关于客户端的绑定问题启动客户端启动客户端本地测试INADDR_ANY 理解源端口号…

【技术分享】 OPC UA安全策略证书简述

那什么是OPC UA证书&#xff1f;用途是什么&#xff1f; 简单来说它是身份验证和权限识别。 OPC UA使用X.509证书标准&#xff0c;该标准定义了标准的公钥格式。建立UA会话的时候&#xff0c;客户端和服务器应用程序会协商一个安全通信通道。数字证书&#xff08;X.509&#x…

图片压缩工具,这三款软件简单好用!

在数字化时代&#xff0c;图片已成为我们生活和工作中不可或缺的一部分。无论是社交媒体上的分享&#xff0c;还是工作中的文件传输&#xff0c;图片都扮演着重要的角色。然而&#xff0c;随着图片质量的提高&#xff0c;其占用的存储空间也越来越大&#xff0c;这给我们的存储…

英语词汇-Obsoleted

英语词汇&#xff0d;Obsoleted Obsoleted 废弃的&#xff0c;不用的&#xff0c;过时的。 Automation has obsoleted many unskilled workers. 自动化技术&#xff0c;已淘汰了很多低技能工人。 微信公众号&#xff1a; 常青柏 淘宝店铺名&#xff1a; 漫乐之家、梅兰竹菊…

企业管理咨询公司不会选?一文带你避开“坑人”陷阱

近年来&#xff0c;企业管理咨询公司如雨后春笋般涌现&#xff0c;数量之多令人眼花缭乱。所以&#xff0c;面对这么多的企业管理咨询公司&#xff0c;企业该选谁&#xff1f;又该如何选择&#xff1f;本文将从以下几个方面为大家解析。 首先&#xff0c;我们要明确自己的需求和…

代码随想录 打卡day23,24,25

1 二叉搜索树的最小绝对差 注意审题&#xff0c;题目当值说到是一个二叉搜索树&#xff0c;因此我们只需进行中序遍历即可&#xff0c;然后得到一个有序数组之后进行编辑&#xff0c;统计出来最小差。 class solution{ private:vector<int> vec;void traversal(TreeNode…

namenode启动失败 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:

小白的Hadoop学习笔记 2024/5/14 18:26 文章目录 问题解决报错浅浅分析一下core-ste.xml 问题 namenode启动失败 读日志 安装目录下 vim /usr/local/hadoop/logs/hadoop-tangseng-namenode-hadoop102.log2024-05-14 00:22:46,262 ERROR org.apache.hadoop.hdfs.server.namen…

位图(c++)

文章目录 1.位图概念2.位图的实现3.应用&#xff08;解决整形存在或次数问题&#xff09;3.1存在问题3.2次数问题 5.搜索的方法对比&#xff1a; 1.位图概念 和哈希一样&#xff0c;都是一个表来记录某个元素的个数或者存在与否&#xff1b;不同的是哈希使用的计算机定义的完整…

Qt5 互动地图,实现无人机地面站效果

一、概述 本文主要通过Qt5opmapcontrol实现一个简单的无人机地面站效果。opmapcontrol是一个比较古老的QT开源地面站库&#xff0c;可选择谷歌地图&#xff0c;必应地图&#xff0c; 雅虎地图&#xff0c;GIS等。可直接使用源码&#xff0c;也可以编译生成库进行调用。实现效果…

技艺高超的魔法师:Java运算符

在Java编程的世界里&#xff0c;运算符是连接变量和表达式的关键纽带&#xff0c;它们使得程序能够执行计算、比较、赋值等一系列操作。 一&#xff0c;基本概念 1&#xff0c;运算符是什么&#xff1f; 运算符是操作变量的符号。 2&#xff0c;分类 Java中的主要运算符类…

openlayer实现ImageStatic扩展支持平铺Wrapx

地图平铺&#xff08;Tiling&#xff09;是地图服务中常见的技术&#xff0c;用于将大尺寸的地图数据分割成许多小块&#xff08;瓦片&#xff09;&#xff0c;便于高效加载和展示。这种技术特别适用于网络环境&#xff0c;因为它允许浏览器只加载当前视图窗口内所需的地图瓦片…

摸鱼大数据——Linux搭建大数据环境(集群免密码登录和安装Hadoop)二

集群设置免密登录 克隆node1虚拟机的前置条件&#xff1a;node1虚拟机存在且处于关闭状态 1.克隆出node2虚拟机 1.node1虚拟机: 右键 -> "管理" -> "克隆" 2.图形化弹窗中: "下一页"->"下一页"->选择"创建完整克隆&…

蓝鹏测控:扩大出口,勇拓海外市场

蓝鹏测控自2012年成立以来&#xff0c;始终专注于工业测量仪器的研发、生产与销售。公司坚持经验与创新并存&#xff0c;长期与华北电力大学、河北大学等多所知名院校深度合作&#xff0c;拥有一支技术力量雄厚的研发团队。经过多年的努力&#xff0c;蓝鹏测控已研发出多款具有…

使用C++实时读取串口数据(window使用已编译LibModbus库并用QT实现一个实时读取串口数据)

先看这篇文章&#xff0c;写得很详细: QT应用篇 四、window编译LibModbus库并用QT编写一个Modbus主机 手把手教学 编译好的LibModbus库可以在上面文章里下载&#xff0c;也可以在我的链接里下载&#xff1a; 为了在Qt Creator中创建新项目并嵌入上述C代码&#xff0c;请执行以…

算法-卡尔曼滤波之卡尔曼滤波的第二个方程:预测方程(状态外推方程)

在上一节中&#xff0c;使用了静态模型&#xff0c;我们推导出了卡尔曼滤波的状态更新方程&#xff0c;但是在实际情况下&#xff0c;系统都是动态&#xff0c;预测阶段&#xff0c;前后时刻的状态是改变的&#xff0c;此时我们引入预测方程&#xff0c;也叫状态外推方程&#…