36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import sys
|
|
import argparse
|
|
import os
|
|
import time
|
|
import utils
|
|
import utils_audio
|
|
import typing
|
|
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("--input", help=".wav file to play")
|
|
parser.add_argument("--device", help="audio device index or name to use")
|
|
parser.add_argument("--show-devices", help="list available output audio devices", action="store_true")
|
|
parser.add_argument("--silence-prefix", help="silence prefix length in seconds")
|
|
parser.add_argument("--silence-suffix", help="silence suffix length in seconds")
|
|
args = parser.parse_args()
|
|
|
|
if args.show_devices:
|
|
utils_audio.show_output_devices()
|
|
|
|
if args.input is not None:
|
|
# Check if file exists
|
|
if not os.path.exists(args.input):
|
|
print(f'File {args.input} does not exists, exiting.')
|
|
sys.exit(1)
|
|
|
|
# Look for device index
|
|
devices = utils_audio.get_output_devices()
|
|
device_index = 0
|
|
if args.device is not None:
|
|
silence_prefix = int(args.silence_prefix) if args.silence_prefix else 0
|
|
silence_suffix = int(args.silence_suffix) if args.silence_suffix else 0
|
|
utils_audio.play(args.device, args.input, silence_prefix, silence_suffix)
|
|
|
|
sys.exit(0) |