Apiaudio является официальным API.Audio Python 3 SDK. Этот SDK обеспечивает легкий доступ к API API.Audio для приложений, написанных на Python.
Этот репозиторий активно поддерживается афлорифмическими лабораториями. Примеры, рецепты и ссылка на API см. API.Audio Docs. Не стесняйтесь связаться с любыми вопросами или отзывом!
Вы можете просмотреть здесь нашу обновленную изменение изменений.
Начните с нашими рецептами QuickStart.
Вам не нужен этот исходный код, если вы не хотите его изменить. Если вы хотите использовать пакет, просто запустите:
pip install apiaudio -U
# or
pip3 install apiaudio -UУстановить из источника с:
python setup.py install
# or
python3 setup.py installPython 3.6+
Создайте файл hello.py
touch hello . py Эта библиотека должна быть настроена с помощью Api-Key вашей учетной записи, которая доступна в вашей консоли API.Audio. Импортируйте пакет Apiaudio и установите apiaudio.api_key с помощью Api-key, который вы получили от консоли:
import apiaudio
apiaudio . api_key = "your-key"Давайте создадим наш первый аудиосист.
✍ Создать новый скрипт, наш scriptText будет текстом, который позже синтезирован.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Отправить ScriptText, который был создан на предыдущем шаге. Давайте используем голосовую арию.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Теперь давайте присоединемтесь к речи, которую мы только что создали с помощью звукового шаблона.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Загрузите окончательный аудио -активы в свой текущий рабочий каталог:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Легко, верно? ? Это последний файл hello.py .
import apiaudio
apiaudio . api_key = "your-key"
# script creation
script = apiaudio . Script . create ( scriptText = "Hello world" )
# speech creation
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )
# mastering process
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )
# download
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath )Теперь давайте запустим код:
python hello.py
# or
python3 hello.pyПосле того, как это будет завершено, найдите загруженный аудиосист и воспроизводите его!
import apiaudio Библиотека должна быть настроена с помощью секретного ключа вашей учетной записи, которая доступна в вашей афлорифмической панели панели. Установите apiaudio.api_key с помощью апи-кей, который вы получили от приборной панели:
apiaudio . api_key = "your-key" Вы также можете аутентифицировать с использованием переменной среды apiaudio_key , и Apiaudio SDK автоматически использует ее. Для настройки, откройте терминал и тип:
export apiaudio_key= < your-key > Если вы предоставите как переменную среды, так и значение аутентификации apiaudio.api_key , вместо этого будет использоваться значение apiaudio.api_key .
Чтобы контролировать вашу детскую организацию, используйте следующий метод, чтобы предположить, что идентификатор организации.
Установите идентификатор вашей детской организации, чтобы None перестать принимать организацию. Последующие звонки в API будут использовать ваш собственный идентификатор организации.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )См. Ресурс организации для получения дополнительной деятельности, которую вы можете выполнить в своей организации.
Есть два подхода для использования ресурсов.
Рекомендуемый подход заключается в импорте всех ресурсов непосредственно из Apiaudio:
import apiaudio
apiaudio . Script . create () В качестве альтернативы, вы можете сначала импортировать классы ресурсов, которые вы хотите использовать, а затем использовать методы ресурса. Например, для использования Script мы могли бы сделать:
from apiaudio import Script
Script . create () Та же логика применима к другим ресурсам ( Speech , Voice , Sound ...)
Organization ресурсаОрганизация ресурса/класса позволяет вам выполнить некоторый поиск данных о вашей организации и ваших детских организациях.
Организационные методы:
get_org_data() - Получить данные организаций, включая Orgid, Orgname и т. Д. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Перечислите ваши детские организации. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Получите свой ключ API, URL Webhook и секрет Webhook. secrets = apiaudio . Organization . get_secrets ()Script ресурсРесурс/класс сценария позволяет создавать, извлекать и перечислять сценарии. Узнайте больше о сценариях здесь.
Методы скрипта:
create() - Создайте новый сценарий.
scriptText * [требуется] (String) - текст для вашего сценария. Сценарий может содержать несколько разделов и тегов SSML. Узнайте больше о деталях ScriptText здесьprojectName (String) - имя вашего проекта. Значение по умолчанию - «по умолчанию» (максимум 60 символов)moduleName (String) - имя вашего модуля. Значение по умолчанию - «по умолчанию» (максимум 60 символов)scriptName (String) - имя вашего скрипта. Значение по умолчанию - «по умолчанию» (максимум 60 символов)scriptId (String) - пользовательский идентификатор для вашего сценария. Если параметр scriptId предоставлен, то ProjectName, Modulename и ScriptName устанавливаются на то же значение, что и ScriptIdversions (Словарь) - Словарь, содержащий разные версии текста вашего сценария, в результате чего ключом является имя версии, а его значение - связанный scriptText . Имя версии v0 зарезервировано как scriptText по умолчанию. Значение по умолчанию - "{}"metadata (словарь) - метаданные для вашего сценария. Это ограничено размером 2 кб. text = """
<<sectionName::hello>> Hello {{username|buddy}}
<<sectionName::bye>> Good bye from {{location|barcelona}}
"""
script = apiaudio . Script . create (
scriptText = text ,
projectName = "myProject" ,
moduleName = "myModule" ,
scriptName = "myScript" ,
scriptId = "id-1234" ,
metadata = { "author" : "sam" , "tags" : [ "demo" , "intro" ]}
)
# example 2 with versions
script = apiaudio . Script . create (
scriptText = "Default text" ,
versions = { "es" : "Hola" , "en" : "hello" }
) retrieve() - Получить сценарий по id.
scriptId * [требуется] (строка) - идентификатор скрипта, который вы хотите получить. По умолчанию получает основную версию (v0).version (String) - версия скрипта, которую вы хотите получить. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - вернуть сценарий с применением словаря. См. Lexi для получения дополнительных примеров того, как использовать функцию словаря.
Параметры:
scriptId * [требуется] (строка) - идентификатор скрипта, который вы хотите использовать.voice * [требуется] (строка) - голос, который будет использоваться для визуализации речи. Это требуется, поскольку выход может зависеть от голоса, языкового кода или поставщика.Пример:
text = """
The author of this repo has lived in two places in the
UK, <!location>Bude<!> and <!location>Bristol<!>.
"""
r = apiaudio . Script . create ( scriptText = text )
scriptId = r [ "scriptId" ]
preview = apiaudio . Script . preview ( scriptId = scriptId , language = "en-gb" ) list() - Перечислите все сценарии, доступные в вашей организации. Этот метод поддерживает фильтрацию.
projectName (String) - вернуть любые сценарии с этим именем ProjectName.moduleName (String) - вернуть любые сценарии с этим именем модуль, также необходимо поставить Note projectName .scriptName (String) - вернуть любые сценарии с помощью этого сценария, а не имени projectName и moduleName должны быть предоставлены.scriptId (String) - вернуть любые сценарии с помощью этого ScriptId.verbose (bool) - Список сценариев в режиме Verbose ( True по умолчанию). Установите это на False , чтобы вернуть только поля projectName , moduleName , scriptName и scriptId . scripts = apiaudio . Script . list () delete() - Удаляет сценарий. По умолчанию это удалит все версии сценария.
scriptId * [требуется] (строка) - идентификатор сценария, который будет удаленversion (String) - Удалить определенную версию. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - удалить несколько сценариев.
Параметры:
projectName * [требуется] (String) - Удаляет все сценарии в этом имени проекта.moduleName (String) - Удаляет все сценарии В этом именовании модуль, также необходимо предоставить projectName .scriptName (String) - Удаляет все сценарии В этом имени ScriptName примечание имени projectName и moduleName необходимо предоставить.Пример:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - получить случайный текст из списка категорий.
category (String) - категория, из которой получается случайный текст. Если категория не указана, функция по умолчанию "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" , "Joke" , "MovieSynopsis" , "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.Directory ResourceПеречисляет структуру каталога ваших сценариев, т.е. ProjectName/Modulename/ScriptName
Script.Directory Методы:
list_projects() - перечисляет все проекты.
Параметры:
Пример:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - перечисляет все модули в рамках ProjectPrefix.
Параметры:
projectPrefix * [требуется] - будет перечислять модули, начиная с этого проекта.Пример:
#Lists all module names
modules = apiaudio . Script . Directory . list_modules ( projectPrefix = "workout" )
print ( modules )
# example output: ["workout_1/over60s", "workout_2/morning_routine"] list_script_names() - перечисляет все модули в рамках ProjectPrefix.
Параметры:
projectPrefix * [требуется] - будет перечислять ScriptNames, начиная с этого ProjectPrefix.modulePrefix * [требуется] - будет перечислять ScriptNames, начиная с этого modulePrefix.Пример:
#Lists all script names
scriptNames = apiaudio . Script . Directory . list_script_names ( projectPrefix = "workout_1" , modulePrefix = "over60s" )
print ( scriptNames )
# example output: ["workout_1/over60s/routine_1", "workout_1/over60s/routine_2", "workout_1/over60s/routine_3"]Speech ресурсРечь позволяет вам делать текст в речь (TTS) с нашим API, используя все доступные голоса. Используйте его для создания речевого аудиофайла из вашего сценария.
Методы речи:
create() Отправьте запрос текста в речь в нашу службу текста в речь.
Параметры:
scriptId * [требуется] (строка) - идентификатор скриптаversion (String) - версия сценария, который будет создан. По умолчанию "" ".voice (строка) - голосовое имя. Смотрите список доступных голосов с использованием голосового ресурса. Голос по умолчанию - «Джоанна».speed (строка) - скорость голоса. Скорость по умолчанию составляет 100.effect (String) - Положите забавный эффект в свой голос. Вы можете попробовать следующие: dark_father , chewie , 88b , 2r2d ,silencePadding (Integer) - добавьте накладку тишины в свои речевые треки (в миллисекундах). По умолчанию 0 (без прокладки)audience (DICT) - Укажите значения параметров в вашем сценарии. Например, если в ресурсе скрипта у вас есть scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" , аудитория должна быть: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Если не будет предоставлен, запасной трек будет создан.sync (boolean) - разрешить синхронизацию или асинхронное создание речи. По умолчанию True . Если sync=False , речь CREATE CALL вернет сообщение успеха, когда создается речь. Чтобы получить файлы, проверьте метод Speech.retrieve() .sections (DICT) - Укажите параметры для конкретных разделов в сценарии. Ключ - это имя раздела, а значение - еще один словарь с конфигурацией раздела (допустимые параметры: голос, скорость, эффект, Silence_padding). Если раздел здесь не найден, раздел автоматически унаследовал значения голоса, скорости, эффекта и Silence_padding, которые вы определили выше (или по умолчанию, если вы их не предоставите). См. Пример ниже с 2 разделами и различными параметрами конфигурации.useDictionary (Bool) - применяет словарь произношения к тексту сценария.useTextNormalizer (BOOL) - Применяет нормализацию текста, которая может помочь разрешить грамматические ошибки с помощью произношения TTS, например, 11:12 UHR -> 11 UHR 12. Примечание - это работает только для немецких голосов в настоящее время. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Простой пример:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Полный пример:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
version = "abc" ,
voice = "Matthew" ,
speed = 100 ,
effect = "dark_father" ,
silencePadding = 1000 ,
sync = True ,
audience = { "username" : "Elon" , "lastname" : "Musk" },
sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100 ,
},
"anothersection" : {
"voice" : "Liam" ,
}
}
) retrieve() Получить URL -адреса речевого файла.
Параметры:
scriptId * [требуется] (строка) - идентификатор скрипта, который вы хотите получить.version (String) - версия сценария, которая будет получена. По умолчанию "" ".section (строка) - Имя разделения скрипта, которое вы хотите получить. Если не предоставлено, все разделы сценария будут возвращены.parameters (DICT) - Дикт, содержащий параметры персонализации вашего сценария. Если не предоставлено, запасная трека будет извлечена. Это поле зависит от параметров, которые вы использовали в разделе ресурсов вашего сценария. Чтобы получить определенный набор параметров, вам необходимо создать речь с тем же набором параметров.Пример:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() Скачать речевые файлы в вашей предпочтительной папке.
Параметры:
scriptId * [требуется] (строка) - идентификатор скрипта, который вы хотите скачатьversion (String) - версия скрипта для загрузки. По умолчанию "" ".section (строка) - Имя разделения скрипта, которое вы хотите получить. Если не предоставлено, все разделы сценария будут возвращены.parameters (DICT) - Дикт, содержащий параметры персонализации вашего сценария. Если не предоставлено, запасная трека будет извлечена. Это поле зависит от параметров, которые вы использовали в разделе ресурсов вашего сценария. Чтобы получить определенный набор параметров, вам необходимо создать речь с тем же набором параметров.destination (String) - Путь пункта назначения папки. По умолчанию ".". (текущая папка)Пример:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )Voice ресурсГолос позволяет вам получить список доступных голосов из нашего API.
Голосовые методы:
list() Список всех доступных голосов в нашем API. Параметры являются необязательными и могут использоваться в комбинации, чтобы получить идеальный голос для вашего использования.
provider (String) - попробуйте один из: Google, Polly, Azure, MSNR (афлорифмический), IBM, Yandex, Retro (афлорифмический), вокал, напоминаетlanguage (строка) - например, английский, испанский, французский, немецкий и т. Д.accent (String) - например, американский, британский, нейтральный, португальский/бразильский, американский мягкий, мексиканский, австралийскийgender (строка) - попробуйте с одним из: мужчина, женщинаageBracket (String) - попробуйте с одним из: взрослый, ребенок, старшийtags (string) - Try with one or more (separated by commas) of: steady, confident, balanced, informative, serious, instructional, slow, storytelling, calm, clear, deep, formal, sad, thin, fast, upbeat, fun, energetic, tense, very fast, flat, low pitched, high pitched, low-pitched, sing-y, cooperative, kind, stable, monotonous, neutral, responsible, business man, straight to the Point, знающий, сфокусированный, газетный актер, новости, интервьюер, надежный, дружелюбный, гостеприимный, хорош для раздачи информации, немного дружелюбныйindustryExamples (String) - Попробуйте с одним или несколькими (отделенными запятыми): фитнес, бизнес, коммерческий, мода, путешествия, аудиокнига, недвижимость, вера, индустрия здравоохранения, коммерка, реализация, детские развлечения, игры, обслуживание клиентов, образование, рассказывание историй, развлечения, дети, образовательные аудиторные аудитористыtimePerformance (String) - Время производительности голоса. Есть три категории: медленная, средняя, быстро.sectionCharacterLimit (String) - максимальное количество символов, которые голос может обрабатывать в разделе сценария. Все поддерживаемые поставщики, за исключением вокала, имеют предел 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Этот метод позволяет вам увидеть, какие атрибуты вы можете отфильтровать голоса, вместе с допустимыми значениями для каждого атрибута. Позже вы можете использовать эти параметры и значения для фильтрации голосов, которые вы хотите перечислить.
Параметры:
Пример:
parameters = apiaudio . Voice . list_parameters ()Sound ресурсЗвук позволяет вам разрабатывать свой собственный звуковой шаблон из сценария и фоновой дорожки. Чтобы получить звуковой шаблон/проект, убедитесь, что вы сначала запросили речь для вашего ресурса сценария.
Звуковые методы:
list() Список всех доступных звуковых шаблонов в нашем API. Параметры являются необязательными и могут использоваться в комбинации, чтобы получить идеальный звук для вашего использования.
industryExamples (String) - Попробуйте с одним или несколькими (разделенными запятыми): новости, путешествия, бизнес, расслабление, фитнес, расслабление, детские историиcontents (String) - Попробуйте с одним или несколькими (разделенными запятыми): Intro, Main, Outro, Effect1, Effect2, Main Outro, Droid_main, Chewie_main, Effect3, Атмосфера, только эффектыgenre (String) - Попробуйте с одним из: электронный, акустический, атмосферный, абстрактный, каменьtempo (String) - попробуйте с одним из: Mid, Up, Down, Uptempotags (строка) - Попробуйте с одним или несколькими (отделенными запятыми): интенсивные, минимальные, рефлексивные, мелодичные, счастливые, ностальгические, фокусировки, энергичные, вдохновляющие, активные, расслабленные, атмосферу, таинственную, позитивную, информативную, тренировку, работу, медитация, путешествия, полное молчание sound_templates = apiaudio . Sound . list () list_parameters() Этот метод позволяет вам увидеть, какие атрибуты вы можете отфильтровать звуковые шаблоны, вместе с допустимыми значениями для каждого атрибута. Позже вы можете использовать эти параметры и значения для фильтрации шаблонов звука, которые вы хотите перечислить.
Параметры:
Пример:
parameters = apiaudio . Sound . list_parameters ()Mastering ресурсMastering позволяет вам создавать и получить освоенный аудиофайл вашего сценария. Освоенная версия содержит речь сценария, фоновую дорожку, персонализированные параметры для вашей аудитории и процесс мастеринга для повышения качества звука всего трека. Чтобы получить освоенный аудиофайл, убедитесь, что вы сначала запросили речь для вашего ресурса сценария.
Мастинговые методы:
create() Создайте освоенную версию вашего сценария и выберите аудио -формат.
Параметры:
scriptId * [требуется] (строка) - идентификатор ресурса скрипта.version (String) - версия сценария, который будет создан. По умолчанию "" ".soundTemplate (String) - название звука шаблона. Для получения списка доступных шаблонов звука проверьте apiaudio.Sound.list_sound_templates() вызов.public (boolean) - логический флаг, который позволяет хранить освоенный файл в общедоступной папке S3. Значение по умолчанию False . Предупреждение - это приведет к тому, что ваши освоенные файлы станут публичными для всех в Интернете. Используйте это на свой собственный риск.vast (логический) - логический флаг, который позволяет создавать обширный файл вашего освоенного файла. vast флаг работает только в том случае, если public True . Значение по умолчанию False .endFormat (список) - Список аудио форматов, которые будут произведены. Допустимые форматы: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - заставьте длину звука освороженного трека (в секундах).audience (DICT) - Словарь, содержащий параметры персонализации. Этот параметр зависит от количества параметров, которые вы использовали в ресурсе сценария. В приведенном выше примере документации сценария мы использовали 2 параметра: username и location , а в следующем примере ниже мы хотим создать сценарий для имени пользователя salih с местоположением Barcelona . Если аудитория не предоставлена, будет создана отступление.mediaFiles (список) - Список DICTS, содержащих медиа -файлы. Этот параметр зависит от тегов медиа -файлов, используемых в ресурсе скрипта, и мультимедийных файлов, которые у вас есть в вашей учетной записи. Например, если сценарий содержит <<media::myrecording>> плюс <<media::mysong>> , и вы хотите прикрепить MyreCording к MediaId = "12345" и mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (float) - переменная плавающая точка, которая позволяет обрезать объем загруженных медиа -файлов (в дБ). Этот атрибут имеет допустимый диапазон от -12 до 12 дБ и применяется ко всем медиа -файлам, включенным в один мастерский вызов. Защита отрезки не предоставляется, поэтому вносят только дополнительные корректировки.connectors (список) - Список DICTS, указанный на конфигурации для конкретного 3 -го соединения. Рекомендации в контексте поддерживаемого стороннего приложения см. В документации разъемов.masteringPreset (String) - Mastering Preset для использования, это позволяет таким функциям, как сжатие SideChain ', то есть уклонение', см. apiaudio.Mastering.list_presets() для списка пресетов и их описаний.share (Boolean) - Если вы хотите, чтобы общая ссылка была создана с помощью вашего аудиофайла, используйте этот флаг. Если вы положите share: True ответ будет возвращен параметром shareUrl . (Примечание: если вы поместите этот флаг, ваши личные файлы будут преобразованы в публичные файлы.)Пример:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() Создает мастерский запрос, основанный исключительно на загруженных медиа -файлах. СМИ файлы должны быть загружены перед вызовом этой функции. Смотрите СМИ.
Параметры:
timeline * [требуется] (список) - объект временной шкалы. Объект временной шкалы - это список словарей, в результате чего каждый представляет собой трек аудиофайлов. Каждый трек должен иметь следующие два files клавиш и contentType .
files * [требуется] (списки) файлы - это список словарей, в результате чего каждая запись должна иметь следующие 3 клавиши, mediaId , startAt и endAt
files * [требуется] (str) MediaID файла, который был загружен.startAt * [требуется] (float) время, когда этот файл носителя должен начинаться в секунды.endAt * [требуется] (float) время, когда этот файл медиа должен закончиться за считанные секунды. contentType * [требуется] (String) - тип контента, который содержит этот трек, должен быть sound или speech
endFormat (список) - Список аудио форматов, которые будут произведены. Допустимые форматы: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - Mastering Preset для использования, это позволяет таким функциям, как сжатие SideChain ', то есть уклонение', см. apiaudio.Mastering.list_presets() для списка пресетов и их описаний.
Пример:
backgroundId = apiaudio . Media . upload ( file_path = "background.wav" )[ "mediaId" ]
speechId = apiaudio . Media . upload ( file_path = "speech1.wav" )[ "mediaId" ]
timeline = [
{
"files" : [
{
"mediaId" : speechId ,
"startAt" : 2 ,
"endAt" : 14 ,
}
],
"contentType" : "speech"
},
{
"files" : [
{
"mediaId" : backgroundId ,
"startAt" : 0 ,
"endAt" : 45 ,
}
],
"contentType" : "sound"
}
]
response = apiaudio . Mastering . create_media_timeline ( timeline = timeline , masteringPreset = "lightducking" ) retrieve() Извлекит освоенные URL -адреса файла.
Параметры:
scriptId * [требуется] (строка) - идентификатор ресурса скрипта.versions (String) - версия сценария, который будет извлечен. По умолчанию "" ".parameters (DICT) - Словарь, содержащий предмет аудитории, который вы хотите получить. Если параметры не предоставлены, отсылает трек.public (boolean) - логический флаг, который позволяет получить освоенный файл из публичного ведра. Используйте это, если вы хотите получить освоенный файл, созданный с помощью public=True . Значение по умолчанию False .vast (логический) - логический флаг, который позволяет извлечь огромный файл вашего освоенного файла. vast флаг работает только в том случае, если public True . Значение по умолчанию False .endFormat (список) - Список аудио форматов, которые будут извлечены. Допустимые форматы: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Пример:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() Скачать освоенные файлы в вашей предпочтительной папке.
Параметры:
scriptId * [требуется] (строка) - идентификатор ресурса скрипта.version (String) - версия скрипта для загрузки. По умолчанию "" ".parameters (DICT) - Словарь, содержащий предмет аудитории, который вы хотите получить. Если параметры не предоставляются, отсылает трек.destination (String) - Путь пункта назначения папки. По умолчанию ".". (текущая папка)public (boolean) - логический флаг, который позволяет получить освоенный файл из публичного ведра. Используйте это, если вы хотите получить освоенный файл, созданный с помощью public=True . Значение по умолчанию False .vast (логический) - логический флаг, который позволяет извлечь огромный файл вашего освоенного файла. vast флаг работает только в том случае, если public True . Значение по умолчанию False .Пример:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() Перечислите доступные пресеты Mastering.
Пример:
presets = apiaudio . Mastering . list_presets ()
print ( presets )Media -ресурсMedia позволяет вам получить все файлы, доступные в API.Audio для вашей организации.
Методы среды:
upload() - загрузить файлы в наши базы данных.
Параметры:
file_path * [требуется] (String) - относительный путь к аудиофайлу.tags (String) - Запятые теги, которые вы хотите добавить в свой загруженный файл. Это облегчит поиск.Пример:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Перечислите все файлы в орг.
Параметры:
mediaId (String) - если пройдет, вернет этот файл или пустой объект, если его не существует.tags (String) - Запятые теги, которые вы хотите добавить в свой загруженный файл. Если пройдет, вернет все файлы, которые, по крайней мере, содержат эти теги.downloadUrl (Boolean): если это правда, в каждый элемент добавляется назначенный URL -адрес в массиве. Это медленно для большого количества файлов (около 1 с каждого).public (boolean): если True, перечисленные медиа -файлы будут публичными медиа -файлами, предоставленными API.Audio. По умолчанию ложь.Примеры:
# lists all files
files = apiaudio . Media . list ()
# lists files with tag="tag1"
files = apiaudio . Media . list ( tags = "tag1" )
# lists file with specific id
files = apiaudio . Media . list ( mediaId = "some_mediaId" )
# lists files with tag="tag1" and with a downloadurl
files = apiaudio . Media . list ( tags = "tag1" , downloadUrl = True ) list_tags() Это возвращает список со всеми уникальными пользовательскими тегами.
Пример:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - Этот метод возвращает назначенный URL для загрузки конкретного аудиофайла
mediaId * [требуется] (строка): идентификатор медиа для загрузки файлаПример
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - этот метод загружает конкретный аудиофайл
mediaId * [требуется] (строка): идентификатор медиа для загрузки файлаdestination (String): Путь к каталогу, где будет загружен файл. По умолчанию ".".Пример
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTS ResourceSynctts позволяет вам выполнять синхронный текст в речь (TTS) с нашим API, используя все доступные голоса. Используйте его для создания речевого аудиофайла из текста и голосового имени. Ответ содержит волновые байты, готовые к воспроизведению или написанию в файл.
Синкты методы:
create() Создайте речевой файл TTS.
Параметры:
voice * [обязательно] (строка) - голосовое имя. Смотрите список доступных голосов с использованием голосового ресурса.text * [требуется] (строка) - текст, с которым вы хотите сделать TTS. Предел составляет 800 символов для волновых файлов.metadata [необязательно] («Полный» или «нет») - уровень метаданных, которые вы хотите. Возвращает списки фонем (доступно только для некоторых голосов MSNR)Пример:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheBirdCache - это сервис кэширования, предоставляемый API.Audio, который предоставляет уровень кэширования для клиента путем хранения данных на серверах API.Audio для будущего использования. Это позволяет вам извлечь свои речевые файлы на лету.
Методы BirdCache:
create() Создайте речевой файл TTS.
Параметры:
type * [требуется] (строка) - тип события. Поддерживаемые типы - mastering и speech .text * [требуется] (строка) - текст, с которым вы хотите сделать речь/мастерство. См. Пример для параметров персонализации.voice * [требуется] (строка) - голос для создания речи.audience * [Необязательно] (DICT) - объект пары ключей для параметров персонализации. См. Пример ниже.soundTemplate [Необязательно] (String) - Шаблон звука для освоения создания. Требуется только тогда, когда тип мастер.Пример:
birdcache = apiaudio . Birdcache . create (
type = "mastering" ,
voice = "linda" ,
text = "This is {{username|me}} creating synchronous text to speech" ,
audience = { "username" : [ "salih" , "sam" , "timo" ]},
soundTemplate = "electronic"
)Pronunciation DictionaryЧасто при работе с TTS модели могут не в состоянии точно произносить конкретные слова, например, бренды, имена и местоположения обычно неправильно создаются. В качестве первой попытки исправить это, мы представили наш флаг Lexi, который работает аналогично SSML. Например, добавление <! Peadar> вместо Peadar (который является одним из наших основателей) к вашему сценарию заставит модель создать альтернативное произношение этого имени. Это особенно полезно в тех случаях, когда слова могут иметь несколько произношений, например, города «чтение» и «приятное». В этом случае размещение <! Чтение> и <! NICE> убедится, что они произносятся правильно, учитывая сценарий:
" The city of <!nice> is a really nice place in the south of france."
Если это решение не работает для вас, вы можете вместо этого использовать нашу пользовательскую (самообслуживание) функцию Lexi.
Это может быть использовано для достижения одной из двух вещей, исправления отдельных слов или расширения аббревиатур. Например, вы можете заменить все входы слова афлорифмической на «AF Low Rhythmic» или события слова «BMW» с «Bayerische Motoren Werke». Заменяющие слова могут быть предоставлены в виде простого текста или фонемизации IPA.
Методы словарного словарного слова - это:
list() перечисляет общедоступные словари и их слова
Параметры:
noneПример:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() перечисляет пользовательские словаря и их соответствующие слова
Параметры:
noneПример:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word добавляет новое слово в пользовательский словарь.
lang [требуется] (строка) - языковая семья, например, en или es .dictionary - используйте global для регистрации слова во всем мире.word [требуется] (строка) - слово, которое будет замененоreplacement [требуется] (строка) - токен для замены. Может быть либо простая строка, либо токен IPA.contentType [необязательно] (String) - тип контента прилагаемой замены может быть basic (по умолчанию) или ipa для фонетических замен.specialization [Необязательно] (String) - По умолчанию Поставленная замена будет применяться независимо от предоставленного голоса, языкового кода или поставщика. Однако могут быть предоставлены краевые случаи, они могут быть либо действительными; Имя поставщика, языковой код (т.е. en-gb) или голосовое имя. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Для каждого языка разрешена только одна запись слова. Однако каждое слово может иметь несколько specializations . Когда слово сначала зарегистрировано, всегда создается specialization default , что будет соответствовать тому, что передается. Последующие вызовы с различными специализациями будут только обновлять данную специализацию. Точное повторное размены, которое будет использоваться, определяется следующим порядком предпочтения:
voice name > language dialect > provider name > default
Например, замена, указанная для голосового имени sara будет выбрана за замену, указанную для azure Provider.
list_custom_words() перечисляет все слова, содержащиеся в пользовательском словаре.
Параметры:
lang [требуется] (строка) - языковая семья, например, en или es - используйте global для перечисления языковых агностических слов.
Пример:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) Эффект применения словаря произношения можно увидеть с помощью метода script.preview() . Смотрите документацию сценария для более подробной информации.
Пример:
text = """
The author of this repo has lived in two places in the
UK, <!Bude> and <!Bristol>
"""
r = apiaudio . Script . create ( scriptText = text )
scriptId = r [ "scriptId" ]
# preview the script in en-gb
preview = apiaudio . Script . preview ( scriptId = scriptId , voice = "Joanna" )
print ( preview )Ответ:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } В этом примере Bristol будет фонемизирован, чтобы убедиться, что он правильно произносится, но, поскольку Bude не в наших словах, он остается, как есть. Точные токены IPA для слов во внутренних слоях Dictionals оснащены.
Connector ресурс Ресурс, используемый для мониторинга 3 -й интеграции Paty. Конечные результаты ресурса мастеринга могут быть распределены на внешние приложения через поле connectors . См. Документацию разъемов. Список поддерживаемых в настоящее время приложений:
Доступные методы:
retrieve() После регистрации разъема в api.console используйте этот метод, чтобы проверить, успешно ли соединение с использованием предоставленных учетных данных.
Параметры:
name * [требуется] (строка) - имя разъема, указанное в консоли.Пример:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Проверьте состояние соединения, предоставив connectionId , возвращаемый в ответе мастеринга.
Параметры:
connection_id * [требуется] (String) - ConnectionId, возвращаемый ресурсом Mastering.Пример:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)OrchestratorОркестратор используется для работы с ряд аудио -сервисов такими же простыми, как отправка одного запроса API. Каждый маршрут здесь тщательно настроен на создание высококачественных и простых в доступе к аудио-активам.
Методы оркестратора:
create_audio() создает простой запрос на речь TTS и добавляет в него звуковой шаблон через мастер.
Параметры:
scriptText * [требуется] (str) - текст в синтез (TTS).soundTemplate (str) - звуковой шаблон для использования.voice * [требуется] (str) - имя голоса для использования. create_three_sections() создает запрос речи TTS с 3 разделами и добавляет к нему звуковой шаблон через мастерство.
Параметры:
introText * [требуется] (str) - текст для синтеза в разделе Intro.mainText * [требуется] (str) - текст для синтеза в основном разделе.outroText * [требуется] (str) - текст для синтеза в разделе Outro.soundTemplate (str) - звуковой шаблон для использования.voice * [требуется] (str) - имя голоса для использования. media_with_sound() объединяет ранее существовавший медиа-файл (т.е. предварительно записанный голос) со звуковым шаблоном
Параметры:
mediaId * [требуется] (str) - MediaId файла медиа для использования в качестве ввода.soundTemplate * [требуется] (Str) - Шаблон звука для использования.Этот SDK обеспечивает простой способ проверки заголовков безопасности Apiaudio Webhook. Вам настоятельно рекомендуется проверить заголовки, чтобы защитить ваш сервер от любой злонамеренной атаки.
Метод:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Это вернет True, если заголовок действителен, в противном случае он вынесет ошибку. Параметры для прохождения; payload является объектом тела, отправленным Apiaudio, sig_header - X-Aflr-Secret в заголовках запроса, отправленных Apiaudio, secret , являясь секретом WebHook (вы можете получить его в консоли Apiaudio), и tolerance -толерантность в секундах для проверки заголовка, которые дефицит до 300 секунд.
По умолчанию предупреждения, выпущенные API, регистрируются в выводе консоли. Кроме того, некоторые поведения регистрируются на информационном уровне (например, в прогрессе ... »в течение более длительного времени обработки). Уровень ведения журнала можно контролировать, выбирая из стандартных уровней в библиотеке logging Python.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Есть предварительный крюк, который будет работать до того, как вы совершаете файл. Это должно поддерживать высокие стандарты кода. Чтобы включить это, вы должны make . Затем он настроит крюк перед предварительным количеством для git. Вот и все! Теперь каждый раз, прежде чем вы совершаете, он будет рассказать вам о стандартах.
Если вы используете vScode для совершения файлов, вы можете наткнуться на pre-commit command not found ошибку. Это нормально, просто запустите brew install pre-commit или ваш любимый менеджер пакетов из списка здесь.
Если вы сталкиваетесь с your pip version is old ошибки, просто игнорируйте ее и используйте терминал.
Если есть проблема, и вы в спешке, вы можете добавить --no-verify в конце команды Commit, она пропустит предварительные крючки, например git commit -m 'your commit message' --no-verify
Этот проект лицензирован в соответствии с условиями лицензии MIT.