python 发音

boyz2men 2008-11-24 12:14:18
类似 python 里print '\a' pc喇叭 但这个办法只有一个音
  
有没有可以发出1234567这样简单不同音调的办法 声卡出声也行啊
...全文
197 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyz2men 2008-11-24
  • 打赏
  • 举报
回复
谁还有什么新花样,没有就结贴了。
boyz2men 2008-11-24
  • 打赏
  • 举报
回复

前面试过没搞懂,既然你又提出这模块,又去看了下还真是能发出Beep。

"""
@brief Play Bach's concerto
@author Victor Lin
@author web-site : http://victorlin.serveftp.org/programming/

"""
import winsound
import time

# Base tune
D_BASE = 264

# How long a meter is
METRE = 500

DO = 0
RE = 2
MI = 4
FA = 5
SO = 7
LA = 9
SI = 11

def Play(d, h, delay):
Tune = D_BASE * pow(pow(2, 1.0/12.0), d) * pow(2, h)
winsound.Beep(int(Tune), delay)

def vibrato(d, h, delay, Times):
for i in range(Times):
Play(d , h, METRE/(Times*2))
Play(d+1 , h, METRE/(Times*2))

def Sleep(delay):
time.sleep(delay/1000.0)

print "Concerto J.S. Bach (1685-1750) BWV 1043 Violin II"

Play(RE ,0,METRE/4);
Play(MI ,0,METRE/4);
Play(FA ,0,METRE/4);
Play(SO ,0,METRE/4);

Play(LA ,0,METRE/2);
Play(RE ,1,METRE/2);
Play(DO+1 ,1,METRE/2);
Play(LA ,0,METRE/2);
Play(MI ,0,METRE/2);
Play(SO ,0,METRE/2);
Play(FA+1 ,0,METRE/2);
Play(RE ,0,METRE/2);
Play(DO ,1,int(METRE*1.50));

Play(SI ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/2);
Play(SO ,0,METRE/2);
Play(MI ,0,METRE/2);
Play(SO ,0,METRE/2);
Play(SI-1 ,0,METRE/2);
Play(RE ,0,METRE/2);
Play(DO+1 ,0,METRE/2);
Play(LA ,0,METRE/2);
Play(RE ,0,METRE/2);
Play(SO ,0,METRE/2);

Play(FA ,0,METRE);

vibrato(MI ,0,METRE,5);

Play(RE ,0,METRE/4);
Play(DO+1 ,0,METRE/4);
Play(RE ,0,METRE/4);
Play(MI ,0,METRE/4);
Play(FA+1 ,0,METRE/4);
Play(SO+1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE*2+METRE/4);

Play(RE ,1,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE*2+METRE/4);

Play(DO ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(FA ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(FA ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(DO ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SO+1 ,0,METRE/4);
Play(LA ,0,METRE/2);
Play(LA ,1,METRE);
Play(SO+1 ,1,METRE/2);
Play(LA ,1,METRE/2);

Play(LA ,0,METRE/4);
Play(SO+1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(LA ,0,METRE/4);

Play(SI ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(SI ,0,METRE/4);

Play(DO+1 ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(DO+1 ,1,METRE/4);

Play(RE ,1,METRE/2);
Play(LA ,1,METRE/2);

Sleep(METRE/2);

Play(FA ,1,METRE/2);
Play(MI ,1,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE*2+METRE/4);

Play(DO ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(FA ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE*2+METRE/4);
Play(RE ,1,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(SI-1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SO ,0,METRE/4);
Play(FA ,0,METRE/4);
Play(MI ,0,METRE/4);
Play(RE ,0,METRE/4);

Play(DO ,1,METRE/4);
Play(SI-1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SO ,0,METRE/4);
Play(FA ,0,METRE/4);
Play(MI ,0,METRE/4);
Play(SO ,0,METRE/4);

Play(FA ,0,METRE/2);
Play(RE ,0,METRE/2);
Play(LA ,0,METRE + METRE/4);

Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/2);
Play(SO ,1,METRE/2);
Play(FA+1 ,1,METRE/2);
Play(RE ,1,METRE/2);
Play(LA ,0,METRE/2);
Play(DO ,1,METRE/2);
Play(SI ,0,METRE/2);
Play(SO ,0,METRE/2);
Play(FA ,1,int(METRE*1.50));

Play(MI ,1,METRE/4);
Play(RE ,1,METRE/4);

Play(MI ,1,METRE/2);
Play(DO ,1,METRE/2);
Play(LA ,0,METRE/2);
Play(DO ,1,METRE/2);
Play(MI-1 ,1,METRE/2);
Play(SO ,0,METRE/2);
Play(FA+1 ,0,METRE/2);
Play(RE ,1,METRE/2);
Play(SO ,0,METRE/2);
Play(DO ,1,METRE/2);

Play(SI-1 ,0,METRE);
Play(LA ,0,METRE);
Play(SO ,0,METRE);

Sleep(METRE/2);

Play(MI ,0,METRE/2);
Play(LA ,0,METRE*2 + METRE/4);
Play(SO+1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SI ,0,METRE/4);
Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(DO+1 ,1,METRE/4);

Play(RE ,1,METRE/4);
Play(SI-1 ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(SO ,0,METRE/4);
Play(LA ,0,METRE/4);
Play(FA+1 ,0,METRE/4);
Play(SO ,0,METRE/4);
Play(LA ,0,METRE/4);

Play(RE ,0,METRE/2);
Play(SO ,0,METRE/2);
Play(RE ,1,METRE + METRE/2);

Play(DO+1 ,1,METRE/4);
Play(RE ,1,METRE/4);
Play(MI ,1,METRE/4);
Play(FA ,1,METRE/4);
Play(SO ,1,METRE/2 + METRE/4);

Play(MI ,1,METRE/4);
Play(FA ,1,METRE/4);
Play(SO ,1,METRE/4);
Play(LA ,1,METRE/2);
Play(MI ,1,METRE/2 + METRE/2);

Play(RE ,1,METRE);
Play(DO+1 ,1,METRE/2);
Play(RE ,1,METRE);

DDGG 2008-11-24
  • 打赏
  • 举报
回复
可以用 winsound 模块。

36.4 winsound -- Sound-playing interface for Windows

Availability: Windows.

New in version 1.5.2.

The winsound module provides access to the basic sound-playing machinery provided by Windows platforms. It includes functions and several constants.


Beep( frequency, duration)

Beep the PC's speaker. The frequency parameter specifies frequency, in hertz, of the sound, and must be in the range 37 through 32,767. The duration parameter specifies the number of milliseconds the sound should last. If the system is not able to beep the speaker, RuntimeError is raised. Note: Under Windows 95 and 98, the Windows Beep() function exists but is useless (it ignores its arguments). In that case Python simulates it via direct port manipulation (added in version 2.1). It's unknown whether that will work on all systems. New in version 1.6.

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧