agent_gsm/src/audio_play.py

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)