Как играть в динамическую строку с espeak в Python

Я использую библиотеку espeak для преобразования текста в речь. Я могу генерировать динмический звук из строки, чтобы сделать это.

os.system('espeak "hello"')

Это работает. Но что мне нужно, это генерировать звук из строки. Это то, что я сделал

string='hello'
os.system('espeak string')

2 ответа

Решение

Просто вставьте строку, которую вы хотите произнести, в свою команду.

>>> string = "Hello"
>>> os.system('espeak "{}"'.format(string))

Вы могли бы использовать subprocess.Popen Функция, если вы принимаете пользовательский ввод для строки.

>>> import subprocess
>>> p = subprocess.Popen(['espeak', string])

Почему бы не использовать command.getoutput() вместо этого?

import commands

def espeak(string):
    output = 'espeak "%s"' % string
    a = commands.getoutput(output)


espeak("Mario Balotelli") 
Другие вопросы по тегам