Форум сайта python.su
Я написал код:
# -*- coding: utf-8 -*- """ Это библиотека для работы с yandex speech kit cloud API """ from urllib import urlretrieve #значения http_api_server = "https://tts.voicetech.yandex.net/generate?" #speech сервер yandex format = "mp3" #расширение выходного файла filename = "testname" #это имя файла, нужно указывать только имя! Без расширения key = "" #сюда нужно вставить ваш ключ speaker = "zahar" #здесь должен быть ваш спикер к примеру zahar lang = "ru" #язык для озвучивания по умолчанию ru emotion = "good" #эмоция к примеру good speed = "1" #скорость от 0.1 до ∞ text = "Это мой первый текст сгенерированный при помощи Yandex Spech Kit" #текст для генерации #функции def speachit(text,format,filename,lang,speaker,key,emotion,speed): text.replace (" ", "+") urlretrieve(http_api_server+"text="+text+"&"+"format="+format+"&"+"lang="+lang+"&" +"speaker="+speaker+"&"+"key="+key+"&"+"speed="+speed, filename+'.mp3')
Офлайн
Дядя из Google не одобрил
Офлайн
marataziatМне кажется format тут был бы кстати. Не пишите на русском.
Я написал код:
Офлайн
marataziatОно и понятно, вы ж яндексом пользуетесь)))
Дядя из Google не одобрил
Офлайн
marataziatURL надо собирать не руками . В стандартной библиотеке есть для этого все, по памяти не помню названия модулей.
http_api_server+“text=”+text+“&”+“format=”+format+“&”+“lang=”+lang+“&”
+“speaker=”+speaker+“&”+“key=”+key+“&”+“speed=”+speed, filename+'.mp3'
marataziatметод replace возвращает новую строку. Код ваш не работает так как вы ожидаете.
text.replace (“ ”, “+”)
Офлайн
Поддерживаю = .format() тут более в тему. Глаза сломать можно!
Кроме того на мой взгляд через чур много переменных для такой короткой логики!
Офлайн
На мой взгляд основной недостаток кода в том что он вообще ничего не делает, и оценка поэтому ему поэтому ноль :). Что там его содержимое оценивать. Если хотели потестить свой код, надо было тест и делать.
Офлайн