golden hour
/lib64/python2.7/Demo/scripts
⬆️ Go Up
Upload
File/Folder
Size
Actions
README
1009 B
Del
OK
beer.py
459 B
Del
OK
beer.pyc
703 B
Del
OK
beer.pyo
703 B
Del
OK
eqfix.py
6.16 KB
Del
OK
eqfix.pyc
4.52 KB
Del
OK
eqfix.pyo
4.52 KB
Del
OK
fact.py
1.11 KB
Del
OK
fact.pyc
1.14 KB
Del
OK
fact.pyo
1.14 KB
Del
OK
find-uname.py
1.18 KB
Del
OK
find-uname.pyc
1.47 KB
Del
OK
find-uname.pyo
1.47 KB
Del
OK
from.py
874 B
Del
OK
from.pyc
749 B
Del
OK
from.pyo
749 B
Del
OK
lpwatch.py
2.77 KB
Del
OK
lpwatch.pyc
2.54 KB
Del
OK
lpwatch.pyo
2.54 KB
Del
OK
makedir.py
510 B
Del
OK
makedir.pyc
732 B
Del
OK
makedir.pyo
732 B
Del
OK
markov.py
3.51 KB
Del
OK
markov.pyc
3.93 KB
Del
OK
markov.pyo
3.93 KB
Del
OK
mboxconvert.py
3.11 KB
Del
OK
mboxconvert.pyc
3.17 KB
Del
OK
mboxconvert.pyo
3.17 KB
Del
OK
morse.py
4.21 KB
Del
OK
morse.pyc
4.33 KB
Del
OK
morse.pyo
4.33 KB
Del
OK
newslist.doc
2.36 KB
Del
OK
newslist.py
11.17 KB
Del
OK
newslist.pyc
7.55 KB
Del
OK
newslist.pyo
7.55 KB
Del
OK
pi.py
888 B
Del
OK
pi.pyc
921 B
Del
OK
pi.pyo
921 B
Del
OK
pp.py
3.73 KB
Del
OK
pp.pyc
2.28 KB
Del
OK
pp.pyo
2.28 KB
Del
OK
primes.py
603 B
Del
OK
primes.pyc
921 B
Del
OK
primes.pyo
921 B
Del
OK
queens.py
2.19 KB
Del
OK
queens.pyc
2.95 KB
Del
OK
queens.pyo
2.95 KB
Del
OK
script.py
962 B
Del
OK
script.pyc
1.21 KB
Del
OK
script.pyo
1.21 KB
Del
OK
unbirthday.py
3.07 KB
Del
OK
unbirthday.pyc
2.93 KB
Del
OK
unbirthday.pyo
2.93 KB
Del
OK
update.py
2.69 KB
Del
OK
update.pyc
2.69 KB
Del
OK
update.pyo
2.69 KB
Del
OK
Edit: morse.py
#! /usr/bin/env python # DAH should be three DOTs. # Space between DOTs and DAHs should be one DOT. # Space between two letters should be one DAH. # Space between two words should be DOT DAH DAH. import sys, math, audiodev DOT = 30 DAH = 3 * DOT OCTAVE = 2 # 1 == 441 Hz, 2 == 882 Hz, ... morsetab = { 'A': '.-', 'a': '.-', 'B': '-...', 'b': '-...', 'C': '-.-.', 'c': '-.-.', 'D': '-..', 'd': '-..', 'E': '.', 'e': '.', 'F': '..-.', 'f': '..-.', 'G': '--.', 'g': '--.', 'H': '....', 'h': '....', 'I': '..', 'i': '..', 'J': '.---', 'j': '.---', 'K': '-.-', 'k': '-.-', 'L': '.-..', 'l': '.-..', 'M': '--', 'm': '--', 'N': '-.', 'n': '-.', 'O': '---', 'o': '---', 'P': '.--.', 'p': '.--.', 'Q': '--.-', 'q': '--.-', 'R': '.-.', 'r': '.-.', 'S': '...', 's': '...', 'T': '-', 't': '-', 'U': '..-', 'u': '..-', 'V': '...-', 'v': '...-', 'W': '.--', 'w': '.--', 'X': '-..-', 'x': '-..-', 'Y': '-.--', 'y': '-.--', 'Z': '--..', 'z': '--..', '0': '-----', ',': '--..--', '1': '.----', '.': '.-.-.-', '2': '..---', '?': '..--..', '3': '...--', ';': '-.-.-.', '4': '....-', ':': '---...', '5': '.....', "'": '.----.', '6': '-....', '-': '-....-', '7': '--...', '/': '-..-.', '8': '---..', '(': '-.--.-', '9': '----.', ')': '-.--.-', ' ': ' ', '_': '..--.-', } nowave = '\0' * 200 # If we play at 44.1 kHz (which we do), then if we produce one sine # wave in 100 samples, we get a tone of 441 Hz. If we produce two # sine waves in these 100 samples, we get a tone of 882 Hz. 882 Hz # appears to be a nice one for playing morse code. def mkwave(octave): sinewave = '' for i in range(100): val = int(math.sin(math.pi * i * octave / 50.0) * 30000) sinewave += chr((val >> 8) & 255) + chr(val & 255) return sinewave defaultwave = mkwave(OCTAVE) def main(): import getopt try: opts, args = getopt.getopt(sys.argv[1:], 'o:p:') except getopt.error: sys.stderr.write('Usage ' + sys.argv[0] + ' [ -o outfile ] [ -p octave ] [ words ] ...\n') sys.exit(1) dev = None wave = defaultwave for o, a in opts: if o == '-o': import aifc dev = aifc.open(a, 'w') dev.setframerate(44100) dev.setsampwidth(2) dev.setnchannels(1) if o == '-p': wave = mkwave(int(a)) if not dev: import audiodev dev = audiodev.AudioDev() dev.setoutrate(44100) dev.setsampwidth(2) dev.setnchannels(1) dev.close = dev.stop dev.writeframesraw = dev.writeframes if args: source = [' '.join(args)] else: source = iter(sys.stdin.readline, '') for line in source: mline = morse(line) play(mline, dev, wave) if hasattr(dev, 'wait'): dev.wait() dev.close() # Convert a string to morse code with \001 between the characters in # the string. def morse(line): res = '' for c in line: try: res += morsetab[c] + '\001' except KeyError: pass return res # Play a line of morse code. def play(line, dev, wave): for c in line: if c == '.': sine(dev, DOT, wave) elif c == '-': sine(dev, DAH, wave) else: # space pause(dev, DAH + DOT) pause(dev, DOT) def sine(dev, length, wave): for i in range(length): dev.writeframesraw(wave) def pause(dev, length): for i in range(length): dev.writeframesraw(nowave) if __name__ == '__main__': main()
Save