32 lines
618 B
Python
32 lines
618 B
Python
#
|
|
# Hum - The singing macintosh
|
|
#
|
|
import macspeech
|
|
import sys
|
|
import string
|
|
|
|
dict = { 'A':57, 'A#':58, 'B':59, 'C':60, 'C#':61, 'D':62, 'D#':63,
|
|
'E':64, 'F':65, 'F#':66, 'G':67, 'G#':68}
|
|
|
|
vd = macspeech.GetIndVoice(2)
|
|
vc = vd.NewChannel()
|
|
print 'Input strings of notes, as in A B C C# D'
|
|
while 1:
|
|
print 'S(tr)ing-',
|
|
str = sys.stdin.readline()
|
|
if not str:
|
|
break
|
|
str = string.split(str[:-1])
|
|
data = []
|
|
for s in str:
|
|
if not dict.has_key(s):
|
|
print 'No such note:', s
|
|
else:
|
|
data.append(dict[s])
|
|
print data
|
|
for d in data:
|
|
vc.SetPitch(float(d))
|
|
vc.SpeakText('la')
|
|
while macspeech.Busy():
|
|
pass
|