|

楼主 |
发表于 2023-5-6 21:26:54
|
显示全部楼层
近期对电子音的探索
1.首先是让Python自己生成电子音,程序如下:
# 导入模块
import midi
# 设置音轨,音频文件的基础就是音轨,所有的音量和音色等属性都是要放在音轨上的
pattern = midi.Pattern()
track = midi.Track()
pattern = append(track)
# 设置音符的音量和音高等属性
on = midi.NoteOnEvent(tick=0,velocity=50,pitch=midi.G_3)
track.append(on)
# 结束音符
off = midi.NoteOnEvent(tick=1000,pitch=midi.G_3)
track.append(off)
# 结束音轨
eot = midi.EndOfTrackEvent(tick=1)
track.append(eot)
# 保存为midi文件
midi.write_midifile('example.mid',pattern)
这个程序运行后会显示缺少对应的模块,到cmd中下载对应库时,显示Python需要升级,当升级Python后又会显示Python版本不合适,网上有关该程序的帖子较少,目前正在探索中。
2.在原代码的基础上继续进行修改,原代码如下:
Audio(sound_file_name="文件名.wav")
但发出声音的时长受原文件时长的限制,所以需要用剪辑软件进行剪辑,目前也在不断地修改。
3.使用键盘敲击发出琴声,这个发出琴声仍需要文件库,接下来尝试敲击z键发出声音,程序如下:
from playsound import playsound
import pygame
pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption('pygame event')
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_z:
playsound('1.wav')
pygame.display.update()
通过测试成功发出了琴声,但是会弹出一个窗口,与现有的ursina窗口有一些冲突,目前也正在调试 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|