Files
amodem/scripts/wave.py
2014-08-28 15:22:54 +03:00

35 lines
923 B
Python
Executable File

#!/usr/bin/env python
import logging
logging.basicConfig(level=logging.DEBUG, format='%(message)s')
from amodem import wave
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
fmt = 'a raw audio file (16 bits at {:.1f} kHz)'.format(wave.Fs / 1e3)
recorder = subparsers.add_parser('record', help='record ' + fmt)
recorder.add_argument(
'filename', default='-',
help='path to the audio file to record (otherwise, use stdout)')
recorder.set_defaults(func=wave.record)
player = subparsers.add_parser('play', help='play ' + fmt)
player.add_argument(
'filename', default='-',
help='path to the audio file to play (otherwise, use stdin)')
player.set_defaults(func=wave.play)
args = parser.parse_args()
p = args.func(fname=args.filename)
import sys
exitcode = 0
try:
exitcode = p.wait()
except KeyboardInterrupt:
p.kill()
exitcode = p.wait()
sys.exit(exitcode)