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博客
……

写在最后

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工具篇】-Powershell

什么是powershell? Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。本文来介绍一下它的打开方法和常用的命令 什么是“.NET”? 什么是".NET"?htt…

IDEA指定配置文件启动

You java springboot开发。 使用IDEA。 现在resource目录下有两个配置文件。分别是 application.yml 和 application2.yml 。默认启动是用的application.yml 。现在,我想改为application2.yml ,请问如何操作? ChatGPT 在 Spring Boot 项目中…

2. 感知机算法和简单 Python 实现

目录 1. 感知机介绍 1.1 背景 1.2 定义 1.2.1 权重 1.2.2 阈值 1.2.3 偏置 1.3 逻辑处理:与门、非门、或门 2. 感知机实现 2.1 与门的 Python 实现 2.2 非门的 Python 实现 2.3 或门的 Python 实现 1. 感知机介绍 1.1 背景 感知机1957年由 Rosenblatt 提…

09 - 函数调用

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 函数定义及调用1.1 自定义函数的语法1.2 make 解释器中的预定义函数1.2.1 预定义函数的调用1.2.2 问题1.2.3 本质分析 2. 示例代码 1. 函数定义及调用 makefile 中支持函数的概念 make 解释器提供了一系列的函数供 makefile 调…

资深测试必备技能!TestNG自动化测试框架实战详解

1、TestNG导言 在软件测试工作中,自动测试框架是不可或缺的,之前有Junit和Nunit框架,后有TestNG。TestNG不但吸取了Junit和Nunit框架的思想,而且创造了更强大的功能,它不但是单元测试框架,同时也是集成自动…

Nginx反向代理配置

一、介绍 Nginx 的反向代理功能在现代网络架构中扮演着至关重要的角色。首先,它充当了客户端与后端服务器之间的中介。当客户端发送请求时,这些请求先到达 Nginx 服务器,Nginx 会根据预先设定的规则和配置,将请求准确地转发到相应…

浅谈如何自我实现一个消息队列服务器(8)——编写客户端部分

文章目录 一、客户端部分涵盖3大核心类1.1、ConnectionFactory 类1.2、Connection 类1.3、Channel 类 二、3级类结构优势三、客户端实现逻辑3.1、ConnectionFactory3.1.1、ConnectionFactory类所含字段3.1.2、ConnectionFactory类所含方法 3.2、Connection3.2.1、Connection类所…

proxySQL 安装与配置

# 官网下载 https://www.proxysql.com/documentation/installing-proxysql/ > cd ~/Downloads # 使用 dpkg 命令来安装下载的 .deb 包 > sudo dpkg -i proxysql_2.6.2-debian12_amd64.deb # 如果 dpkg 命令报告缺少依赖关系或安装过程中遇到问题,可以尝试运…

MySQL-双主复制

mysql 双主复制: 实现和MHA(高可用架构)相同的效果。 使用keepalived实现先双主热备,防止单点故障的主从结构。 两台mysql互做主从,各自安装keepalived实现热备,其他从服务器和热备的虚拟IP建立主从连接mys…

Linux下安装mysql8.0(以rpm包安装)

前言:原文在我的博客网站中,持续更新数通、系统方面的知识,欢迎来访! Linux下安装mysql8.0(以rpm包安装)https://myweb.myskillstree.cn/125.html 目录 1、查操作系统信息 2、下载mysql 8.0.34的rpm包 …

MySQL中获取指定日期区间内所有日期

在数据库应用开发中,经常需要根据给定的日期范围获取区间内的每一天日期,这对于统计分析、报表生成、任务调度等领域至关重要。MySQL作为广泛应用的关系型数据库管理系统,提供了丰富的日期函数和查询技巧来实现这一需求。本文将深入探讨如何在…

【Anaconda 3 】Jupyter Notebook 的安装配置及使用

Jupyter Notebook 的安装配置及使用 一、引言 Jupyter Notebook 是一种交互式笔记本,它允许用户将代码、注释、方程式、可视化内容等整合到一个文档中,并支持多种编程语言,如 Python、R、Julia 等。它在数据科学、机器学习和教育领域中得到…

Goland GC

Goland GC 引用Go 1.3 mark and sweep 标记法Go 1.5 三色标记法屏障机制插入屏障删除写屏障总结 Go 1.8 混合写屏障(hybrid write barrier)机制总结 引用 https://zhuanlan.zhihu.com/p/675127867 Garbage Collection,缩写为GC,一种内存管理回收的机制…

条件平差——以水准网平差为例 (python详细过程版)

目录 一、原理概述二、案例分析三、代码实现四、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、原理概述 条件平差的函数模型和随机模型为: A V + W = 0

大模型时代,程序员如何卷?

最近在看电影《碟中谍7》,该片讲述了特工伊森亨特尝试与一个被称为智体的全能人工智能作战,其可以即时访问任何在线网络,他和他的团队成员试图找回控制人工智能智体所必需的两部分钥匙并将其摧毁的故事。 在剧中,智体是一个虚拟反…

文旅行业| 某景区导游培养和管理项目成功案例纪实

——整合导游资源并进行统一管理,构建完善的培养与管理机制,发挥景区导游价值 【客户行业】文旅行业;景区;文旅企业 【问题类型】人才培养;人员管理 【客户背景】 南方某5A级景区,作为国内极具代表性和特…

学习使用jQuery将光标移动到textarea的末尾

学习使用jQuery将光标移动到textarea的末尾 代码 代码 $(document).ready(function(){var textarea $(#your-qipa-id); // 替换为你的textarea IDtextarea.focus(); // 将焦点设置到textarea// 获取textarea的值的长度var len textarea.val().length;// 使用setSelectionRan…

【python】python中的argparse模块,教你如何自定义命令行参数

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

intellij idea中build project与build module以及rebuild module的区别与联系

IntelliJ IDEA是一个功能强大的Java集成开发环境(IDE)。它提供了几个与构建相关的操作,包括: Build Project: - 这将构建整个项目,包括其中的所有模块。 - 它将编译所有已修改的源文件,并重新生成输出文件(如.class文件)。 - 这通常用于确保整个项目的代码是最新的,并且可以正…

Openssl X509证书从HexStream中解析

整体思路 从hex 转换成字节流 然后从字节流中进行解析 You have access to the raw certificate in memory. In the case that you have access to the raw encoding of the certificate in memory, you can parse it as follows. This is useful if you have stored raw cer…