def write(self, data: str) -> int: """ write(data) -> Make espeak say data if it is printable. """ # Return 0 if no data was given. if not data: return 0 # Convert data to type str. if type(data) is int: data = str(data) elif type(data) is bytes: data = data.decode() elif type(data) in (list, tuple, range): data = ' '.join([str(i) for i in data]) elif type(data) is not str: return 0 self._text = data # Silence stderr with silence(sys_stderr): # Speak the text. self._speak(data) return len(data)
parser.add_argument('--list-devices', action='store_true', default=False, help='List available devices.', dest='list_devices') parser.add_argument(dest='filename', nargs='+') args = parser.parse_args() if args.list_devices: try: from musio.portaudio import portaudio from musio.io_util import silence from sys import stderr as sys_stderr _portaudio = portaudio.Portaudio() # Silence stderr with silence(sys_stderr): _portaudio.initialize() dev_count = _portaudio.device_count for i in range(dev_count): dev_name = _portaudio.device_name(i) print(i, dev_name) except: from musio.alsa import control hints = control.POINTER(control.c_void_p)() err = control.snd_device_name_hint(-1, b'pcm', control.byref(hints)) for i in hints: if not i: break name = control.snd_device_name_get_hint(i, b'NAME').decode() desc = control.snd_device_name_get_hint(i, b'DESC').decode() print('%s: %s' % (name, desc))
default='', help='Specify the wildmidi config.', dest='wildmidi_config') parser.add_argument(dest='filenames', nargs='+') args = parser.parse_args() if args.list_devices: from sys import stderr from musio.io_util import silence from musio.portaudio import portaudio _portaudio = portaudio.Portaudio() # Silence stderr with silence(stderr): _portaudio.initialize() dev_count = _portaudio.device_count for i in range(dev_count): dev_name = _portaudio.device_name(i) print(i, dev_name) elif args.list_banks: from musio.adlmidi_file import AdlmidiFile AdlmidiFile.print_bank_list() else: if args.filenames: if args.blacklist: # Fix comma seperated input. for i, j in enumerate(args.blacklist): if ',' in j: args.blacklist.extend(args.blacklist.pop(i).split(','))
default=False, help='List available devices.', dest='list_devices') parser.add_argument(dest='filename', nargs='+') args = parser.parse_args() if args.list_devices: try: from musio.portaudio import portaudio from musio.io_util import silence from sys import stderr as sys_stderr _portaudio = portaudio.Portaudio() # Silence stderr with silence(sys_stderr): _portaudio.initialize() dev_count = _portaudio.device_count for i in range(dev_count): dev_name = _portaudio.device_name(i) print(i, dev_name) except: from musio.alsa import control hints = control.POINTER(control.c_void_p)() err = control.snd_device_name_hint(-1, b'pcm', control.byref(hints)) for i in hints: if not i: break name = control.snd_device_name_get_hint(i, b'NAME').decode() desc = control.snd_device_name_get_hint(i, b'DESC').decode()