注:本文原理为利用电脑所发出的振动声高低的不同而实现类似演奏的效果,若有音质差等情况,还请谅解
import winsound
import time
class Sond:
@staticmethod
def do(self, r=0, t=1000):
print("1", end=" ")
winsound.Beep(337 + r * 300, t)
@staticmethod
def re(self, r=0, t=1000):
print("2", end=" ")
winsound.Beep(387 + r * 300, t)
@staticmethod
def mi(self, r=0, t=1000):
print("3", end=" ")
winsound.Beep(437 + r * 300, t)
@staticmethod
def fa(self, r=0, t=1000):
print("4", end=" ")
winsound.Beep(462 + r * 300, t)
@staticmethod
def so(self, r=0, t=1000):
print("5", end=" ")
winsound.Beep(512 + r * 300, t)
@staticmethod
def la(self, r=0, t=1000):
print("6", end=" ")
winsound.Beep(562 + r * 300, t)
@staticmethod
def xi(self=1, r=0, t=1000):
print("7", end=" ")
winsound.Beep(612 + r * 300, t)
a = Sond
def tian():
self = 1
#1
a.do(self=self,t=500)
a.re(self=self,t=500)
a.mi(self=self,t=500)
a.do(self=self,t=500)
a.so(self=self,t=1500)
a.mi(self=self,t=500)
a.re(self=self, t=1000)
a.so(self=self, t=1000)
a.re(self=self,t=1000)
a.do(self=self, t=500)
a.la(self=self,r=-1,t=500)
a.mi(self=self, t=1500)
a.do(self=self, t=500)
a.xi(self=self,r=-1,t=2000)
#2
a.xi(self=self,r=-1,t=1000)
#
a.la(self=self, r=-1, t=1000)
a.xi(self=self,r=-1,t=1000)
a.do(self=self, t=500)
a.re(self=self, t=500)
a.so(self=self, r=-1,t=1000)
a.do(self=self,t=1000)
a.re(self=self, t=500)
a.mi(self=self, t=500)
a.fa(self=self,t=1000)
a.fa(self=self,t=500)
a.mi(self=self, t=500)
a.re(self=self, t=500)
a.do(self=self,t=500)
a.re(self=self, t=1000)
a.so(self=self, r=-1, t=1000)
#3
a.do(self=self,t=500)
a.re(self=self,t=500)
a.mi(self=self,t=500)
a.do(self=self,t=500)
a.so(self=self,t=1500)
a.mi(self=self,t=500)
a.re(self=self, t=1000)
a.so(self=self, t=1000)
a.re(self=self,t=1000)
a.do(self=self, t=1000)
a.la(self=self,r=-1,t=1000)
a.xi(self=self,r=-1,t=500)
a.do(self=self, t=500)
a.so(self=self, r=-1,t=2000)
a.mi(self=self,r=-1,t=500)
a.so(self=self, r=-1, t=500)
a.la(self=self,r=-1,t=1000)
a.xi(self=self,r=-1,t=1000)
a.do(self=self, t=500)
a.re(self=self, t=500)
a.so(self=self, r=-1,t=1000)
a.do(self=self,t=1000)
a.re(self=self, t=500)
a.mi(self=self, t=500)
a.fa(self=self,t=1000)
a.fa(self=self,t=500)
a.mi(self=self, t=500)
a.re(self=self, t=500)
a.do(self=self,t=500)
a.do(self=self, t=3000)
time.sleep(1.6)
#4
a.mi(self=self,t=500)
a.fa(self=self,t=500)
a.so(self=self,t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=500)
a.la(self=self, t=500)
a.so(self=self, t=500)
a.fa(self=self, t=500)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=500)
a.fa(self=self, t=500)
a.mi(self=self, t=500)
a.re(self=self,t=500)
a.do(self=self,t=1000)
a.do(self=self, t=1000)
a.do(self=self, t=500)
a.xi(self=self,r=-1,t=500)
a.la(self=self,r=-1,t=1000)
a.xi(self=self,r=-1,t=1000)
a.xi(self = self, r = -1, t = 500)
a.do(self=self, t=500)
a.re(self=self,t=1000)
a.re(self=self,t=500)
a.mi(self=self,t=500)
a.re(self=self,t=500)
a.mi(self=self,t=500)
a.re(self=self,t=2000)
#
a.mi(self=self, t=500)
a.fa(self=self, t=500)
a.so(self=self, t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=1000)
a.so(self=self, t=500)
a.la(self=self, t=500)
a.so(self=self, t=500)
a.fa(self=self, t=500)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=1000)
a.mi(self=self, t=500)
a.fa(self=self, t=500)
a.mi(self=self, t=500)
a.re(self=self, t=500)
a.do(self=self, t=500)
a.xi(self=self,r=-1, t=500)
a.la(self=self, r=-1, t=1000)
a.la(self=self, r=-1, t=500)
a.xi(self=self, r=-1, t=500)
a.do(self=self,t=500)
a.re(self=self,t=500)
a.so(self=self,r=-1,t=1000)
a.do(self=self,t=500)
a.re(self=self,t=500)
a.mi(self=self,t=500)
a.re(self=self,t=1000)
a.la(self=self,r=-1,t=1000)
a.re(self=self,t=500)
a.do(self=self,t=500)
a.do(self=self,t=3000)
tian()
def she():
for i in range(2):
a.so(1, -1, 750)
a.so(1, -1, 250)
a.la(1, -1, 1000)
a.so(1, -1, 1000)
a.do(1, 0, 1000)
a.xi(1, -1, 2000)
a.so(1, -1, 750)
a.so(1, -1, 250)
a.la(1, -1, 1000)
a.so(1, -1, 1000)
a.re(1, 0, 1000)
a.do(1, 0, 2000)
a.so(1, -1, 750)
a.so(1, -1, 250)
a.so(1, 0, 1000)
a.mi(1, 0, 1000)
a.do(1, 0, 1000)
a.xi(1, -1, 1000)
a.la(1, -1, 1000)
a.fa(1, 0, 750)
a.fa(1, 0, 250)
a.mi(1, 0, 1000)
a.do(1, 0, 1000)
a.re(1, 0, 1000)
a.do(1, 0, 2000)
she()