Example #1
0
    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)
Example #2
0
    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))
Example #3
0
                        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(','))
Example #4
0
                        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()