Apiaudio是官方API.Audio Python 3 SDK。该SDK可轻松访问python编写的应用程序的API.Audio API。
该存储库由Aflorithmic Labs积极维护。有关示例,食谱和API参考请参见API.Audio文档。随时与任何问题或反馈联系!
您可以在此处查看我们更新的ChangElog。
开始使用我们的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软件包,并使用从控制台获得的API-KEKE设置apiaudio.api_key :
import apiaudio
apiaudio . api_key = "your-key"让我们创建第一个音频资产。
✍️创建一个新脚本,我们的scriptText将是后来合成的文本。
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )?渲染上一步中创建的脚本文本。让我们使用语音咏叹调。
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需要使用您的帐户的秘密密钥配置该库,该密钥可在您的Aflorithmic仪表板中可用。将apiaudio.api_key设置为您从仪表板中获得的apike:
apiaudio . api_key = "your-key"您也可以使用apiaudio_key环境变量进行身份验证,并且Apiaudio SDK将自动使用它。要设置,请打开终端并输入:
export apiaudio_key= < your-key >如果您同时提供环境变量和apiaudio.api_key身份验证值,则将使用apiaudio.api_key值。
为了控制您的儿童组织,请使用以下方法假设该组织ID。
将您的子组织ID设置为None停止假设组织。随后致电API的电话将使用您自己的组织ID。
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密钥,Webhook URL和Webhook Secret。 secrets = apiaudio . Organization . get_secrets ()Script资源脚本资源/类允许您创建,检索和列出脚本。在此处了解有关脚本的更多信息。
脚本方法是:
create() - 创建一个新脚本。
scriptText * [必需](string) - 脚本的文本。脚本可以包含多个部分和SSML标签。在此处了解有关ScriptText详细信息的更多信息projectName (字符串) - 项目的名称。默认值是“默认值”(最大60个字符)moduleName (String) - 模块的名称。默认值是“默认值”(最大60个字符)scriptName (String) - 脚本的名称。默认值是“默认值”(最大60个字符)scriptId (String) - 脚本的自定义标识符。如果提供了ScriptID参数,则将ProjectName,ModuleName和ScriptName设置为与ScriptID相同的值versions (字典) - 包含脚本文本不同版本的字典,其中键是版本名称,其值是关联的scriptText 。版本名称v0保留为默认scriptText 。默认值是“ {}”metadata (字典) - 脚本的元数据。这仅限于2kb的大小。 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 * [必需](string) - 您要检索的脚本ID。默认情况下检索主版本(V0)。version (字符串) - 您要检索的脚本版本。 script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - 返回带有字典突出显示的脚本。有关如何使用字典功能的更多示例,请参见Lexi。
参数:
scriptId * [必需](string) - 您要使用的脚本ID。voice * [必需](string) - 将用于呈现语音的语音。这是必需的,因为输出可以取决于语音,语言代码或提供商。例子:
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) - 返回使用此ModuleName的任何脚本,还需要提供Note projectName 。scriptName (String) - 使用此脚本名称返回所有脚本,而不是需要提供projectName和moduleName 。scriptId (String) - 使用此ScriptID返回任何脚本。verbose (bool) - 在详细模式下列出脚本(默认情况下为True )。将其设置为False仅返回projectName , moduleName , scriptName和scriptId字段。 scripts = apiaudio . Script . list () delete() - 删除脚本。默认情况下,这将删除脚本的所有版本。
scriptId * [必需](string) - 要删除的脚本的IDversion (字符串) - 删除特定版本。 #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - 删除多个脚本。
参数:
projectName * [必需](string) - 删除此项目名称中的所有脚本。moduleName (String) - 删除此模量中的所有脚本,还需要提供Note projectName 。scriptName (string) - 删除此脚本名称中的所有脚本,请注意需要提供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资源列出脚本的目录结构,即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 * [必需] - 将从此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 * [必需] - 将从此ProjectPrefix开始列出脚本名称。modulePrefix * [必需] - 将以此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资源语音使您可以使用所有可用声音使用我们的API进行文本对语音(TTS)。使用它从脚本创建语音音频文件。
语音方法是:
create()将文本到语音请求发送到我们的文本到语音服务。
参数:
scriptId * [必需](string) - 脚本IDversion (字符串) - 要生成的脚本的版本。默认值为“”。voice (字符串) - 语音名称。使用语音资源查看可用声音的列表。默认声音是“乔安娜”。speed (字符串) - 语音速度。默认速度为100。effect (字符串) - 在您的声音中发出有趣的效果。您可以尝试以下操作: dark_father , chewie , 88b , 2r2d ,silencePadding (Integer) - 在您的语音轨道(以毫秒为单位)中添加沉默填充。默认值为0(无填充)audience (dict) - 指定脚本中参数的值。例如,如果在脚本资源中,您的scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" ,则受众应为: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} 。如果未提供,将创建后备轨道。sync (布尔) - 允许同步或异步语音创建。默认是True 。如果sync=False ,则语音创建呼叫将在触发语音创建时返回成功消息。要检索文件,请检查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 * [必需](string) - 您要检索的脚本ID。version (字符串) - 要检索的脚本的版本。默认值为“”。section - 您要检索的脚本部分名称。如果未提供,所有脚本部分将退还。parameters (dict) - dict包含脚本的个性化参数。如果没有提供,则将检索后备轨道。此字段取决于您在脚本资源部分中使用的参数。为了检索一组特定的参数,您需要使用相同的参数创建语音。例子:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download()在您的首选文件夹中下载语音文件。
参数:
scriptId * [必需](string) - 您要下载的脚本IDversion (字符串) - 要下载的脚本的版本。默认值为“”。section - 您要检索的脚本部分名称。如果未提供,所有脚本部分将退还。parameters (dict) - dict包含脚本的个性化参数。如果没有提供,则将检索后备轨道。此字段取决于您在脚本资源部分中使用的参数。为了检索一组特定的参数,您需要使用相同的参数创建语音。destination (字符串) - 文件夹目标路径。默认为“。” (当前文件夹)例子:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )Voice资源语音使您可以从我们的API中检索可用声音的列表。
语音方法是:
list()列出我们API中的所有可用声音。这些参数都是可选的,可以组合使用以为您的用户酶提供完美的声音。
provider (字符串) - 尝试以下之一:Google,Polly,Azure,MSNR(Aflorithmic),IBM,Yandex,Retro(Aflorithmic),vocalid,类似language (字符串) - 例如英语,西班牙语,法语,德语等。accent (弦) - 例如美国,英国,中立,葡萄牙/巴西,美国软,墨西哥,澳大利亚人gender (字符串) - 尝试:男性,女性ageBracket (字符串) - 尝试以下一个:成人,孩子,高级tags (字符串) - 尝试一个或多个(通过逗号隔开):稳定,自信,平衡,信息,认真,教学,慢速,讲故事,讲故事,镇定,清晰,深层,正式,正式,悲伤,瘦弱,瘦弱,快速,快速,乐观,乐趣,充满活力,紧张,紧张,快速,非常平坦,平坦,低音,高音,低音,良好的,彼此的态度,既定,既有,既有,既有,则刻有,知识渊博的,专注的,新闻社,新闻阅读器,采访者,可靠,友好,热情,适合分发信息,有些友好industryExamples (字符串) - 尝试一个或多个(通过逗号分隔):健身,商业,商业,时尚,旅行,有声读物,房地产,信仰,健康行业,健康行业,商业,现实,儿童娱乐,游戏,游戏,客户服务,教育,讲故事,娱乐,娱乐,娱乐,儿童,儿童,教育,教育,教育,教育,教育timePerformance (字符串) - 语音的时间性能。有三个类别:慢速,中等,快速。sectionCharacterLimit (String) - 语音可以处理每个脚本的最大字符数量。除vocalid外,所有受支持的提供者的限制为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 (字符串) - 尝试一个或多个(通过逗号分隔):新闻,旅行,商务,放松,健身,放松,儿童故事contents (string) - 尝试一个或多个(逗号分隔)的:介绍,主,ero,extro,效果1,效果2,main outro,droid_main,chewie_main,chewie_main,效果3,氛围,唯一的效果genre (字符串) - 尝试使用:电子,声学,大气,抽象,岩石之一tempo (string) - 尝试使用:中,上,向下,toptempo之一tags (字符串) - 尝试一个或多个(被逗号隔开)的:强烈,最小,反射,旋律,快乐,怀旧,焦点,充满活力,振奋,活跃,活跃,放松,氛围,氛围,神秘,积极,信息性,信息,锻炼,锻炼,锻炼,冥想,冥想,全部沉默,充分的沉默,充分的沉默,充分的沉默,充分的沉默,充满沉默 sound_templates = apiaudio . Sound . list () list_parameters()此方法使您可以查看哪些属性可以通过每个属性的允许值过滤模板。您以后可以使用这些参数和值来过滤您要列出的声音模板。
参数:
例子:
parameters = apiaudio . Sound . list_parameters ()Mastering资源掌握使您可以创建和检索脚本的主流音频文件。主版本包含脚本的演讲,背景轨道,为您的受众提供个性化参数,以及提高整个轨道音频质量的掌握过程。为了获取掌握的音频文件,请确保首先请求脚本资源的语音。
掌握方法是:
create()创建脚本的主版本,然后选择音频格式。
参数:
scriptId * [必需](string) - 脚本资源ID。version (字符串) - 要生成的脚本的版本。默认值为“”。soundTemplate (String) - 声音模板名称。有关可用声模板的列表,请访问apiaudio.Sound.list_sound_templates()调用。public (boolean) - 允许将主文件存储在public S3文件夹中的布尔标志。默认值为False 。警告 - 这将导致您的掌握文件公开对Internet中的任何人公开。自行使用它。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 ,在下面的以下示例中,我们希望在Barcelona位置为用户名salih生成脚本。如果没有提供受众,将创建后备曲目。mediaFiles (列表) - 包含媒体文件的DICT列表。此参数取决于脚本资源中使用的媒体文件标签以及您帐户中的媒体文件。例如,如果脚本包含<<media::myrecording>> plus <<media::mysong>> ,并且您想将myRecorting附加到MediaId =“ 12345”,以及mysong to MediaId =“ 67890”,然后mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] 。mediaVolumeTrim (浮动) - 浮点可变,使您可以修剪上载的媒体文件的音量(在DB中)。该属性的有效范围为-12至12 dB,适用于单个掌握调用中包含的所有媒体文件。没有提供剪裁保护,因此仅进行增量调整。connectors (列表) - 指定特定第三方连接的配置列表。有关支持第三方应用程序的指南,请参见连接器文档。masteringPreset (String) - 要使用的主体预设,该功能可以诸如Sidechain压缩“ IE Ducking”之类的功能,请参见apiaudio.Mastering.list_presets()以获取预设及其描述列表。share (布尔值) - 如果您想使用音频文件创建一个可共享的链接,请使用此标志。如果您放置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)已上传的文件的介质。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) - 要使用的主体预设,该功能可以诸如Sidechain压缩“ IE Ducking”之类的功能,请参见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 * [必需](string) - 脚本资源ID。versions (字符串) - 要检索的脚本的版本。默认值为“”。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 * [必需](string) - 脚本资源ID。version (字符串) - 要下载的脚本的版本。默认值为“”。parameters (dict) - 包含您要检索的受众项的字典。如果没有提供参数,则将下载后备轨道。destination (字符串) - 文件夹目标路径。默认为“。” (当前文件夹)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()列出可用的掌握预设。
例子:
presets = apiaudio . Mastering . list_presets ()
print ( presets )Media资源媒体允许您检索API.Audio中可用的所有文件。
媒体方法是:
upload() - 将文件上传到我们的数据库。
参数:
file_path * [必需](string) - 音频文件的相对路径。tags (字符串) - 要添加到上传文件中的逗号分隔标签。这将使检索更容易。例子:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - 在组织中列出所有文件。
参数:
mediaId (String) - 如果传递,则仅返回该文件,如果不存在,则将其返回。tags (字符串) - 要添加到上传文件中的逗号分隔标签。如果通过,将返回至少包含这些标签的所有文件。downloadUrl (boolean):如果是的,则将预先符号的URL添加到数组上的每个项目中。对于大量文件(每个大约1s),这很慢。public (boolean):如果是的,则列出的媒体文件将是API.Audio提供的公共媒体文件。默认值为false。示例:
# 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 * [必需](string):要下载文件的媒体ID例子
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - 此方法下载特定的音频文件
mediaId * [必需](string):要下载文件的媒体IDdestination (字符串):将下载文件的目录的路径。默认为“。”例子
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTS资源Synctts允许您使用所有可用的声音与我们的API同步文本对语音(TTS)。使用它从文本和语音名称中创建语音音频文件。响应包含准备播放或写入文件的波浪字节。
Synctts方法是:
create()创建一个TTS语音文件。
参数:
voice * [必需](string) - 语音名称。使用语音资源查看可用声音的列表。text * [必需](string) - 您想使用TTS的文本。限制是波浪文件的800个字符。metadata [可选](“完整”或“无”) - 您想要的元数据水平。返回音素列表(仅适用于某些MSNR声音)例子:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)Birdcache资源BirdCache是API.Audio提供的一种缓存服务,它通过将数据存储在API.Audio服务器中以供将来使用,为客户提供了缓存层。这使您可以随时检索语音文件。
鸟丝方法是:
create()创建一个TTS语音文件。
参数:
type * [必需](string) - 事件的类型。支持的类型是mastering和speech 。text * [必需](string) - 您想使用语音/掌握的文本。有关个性化参数,请参见示例。voice * [必需](string) - 语音创建的声音。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(我们是我们的创始人之一)将模型产生此名称的替代发音。在单词可能具有多个发音的情况下,例如城市“阅读”和“尼斯”,这一点尤其有用。在这种情况下
" The city of <!nice> is a really nice place in the south of france."
如果此解决方案对您不起作用,则可以使用我们的自定义(自助)Lexi功能。
这可以用来实现两件事之一,纠正单词或扩展首字母缩写词。例如,您可以用“ af低的节奏”或“ bayerische motoren werke''一词替换为“ af low Rhythmic”一词的所有出现。可以将替换单词作为纯文本或IPA音量提供。
PROCONCITION字典方法是:
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 [必需](string) - 语言家族,例如en或es e e eS-使用global在全球范围内注册一个单词。word [必需](string) - 将要替换的单词replacement [必需](string) - 更换令牌。可以是普通字符串或IPA令牌。contentType [可选](字符串) - 提供的替换的内容类型可以是basic (默认)或ipa用于语音替换。specialization [可选](字符串) - 默认情况下,所提供的替换将适用,无论提供的语音,语言代码或提供商如何。但是可以提供边缘案例,这些案例可以是有效的。提供商名称,语言代码(IE EN-GB)或语音名称。 # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r )对于每种语言,仅允许单词输入。但是,每个单词都可以具有多个specializations 。首先注册一个单词时,总是会创建default specialization ,这将匹配传递的内容。随后的带有不同专业的调用只会更新给定的专业化。将使用的确切恢复原状由以下优先顺序确定:
voice name > language dialect > provider name > default
例如,将在sara的供应商azure指定的替代品上选择了指定语音名称的替换。
list_custom_words()列出了自定义字典中包含的所有单词。
参数:
lang [必需](string) - 语言家族, 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令牌。
Connector资源用于监视第三paty集成的资源。掌握资源的最终结果可以通过connectors字段分配到外部应用程序中。请参阅连接器文档。当前支持的应用程序列表:
可用方法:
retrieve()在API.Console中注册连接器后,使用此方法检查连接是否使用提供的凭据成功。
参数:
name * [必需](string) - 控制台中指定的连接器的名称。例子:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection()通过在主体响应中提供返回的connectionId来检查连接的状态。
参数:
connection_id * [必需](string) - 通过掌握资源返回的连接ID。例子:
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()创建一个带有3个部分的TTS语音请求,并通过掌握添加声音模板。
参数:
introText * [必需](str) - 在介绍部分中合成的文本。mainText * [必需](str) - 在主部分中合成的文本。outroText * [必需](str) - 在“ Outro”部分中合成的文本。soundTemplate (STR) - 要使用的声音模板。voice * [必需](str) - 使用的语音名称。 media_with_sound()结合了一个预先存在的媒体文件(即预录的语音)和声音模板
参数:
mediaId * [必需](str) - 媒体文件的介质ID用于输入。soundTemplate * [必需](str) - 要使用的声模板。该SDK提供了一种简单的方法来验证Apiaudio Webhook调用安全标头。强烈建议您验证标题以保护服务器免受任何恶意攻击。
该方法是:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance )如果标题有效,它将返回true,否则会引起错误。要通过的参数是; payload是Apiaudio发送的主体对象, sig_header是Apiaudio发送的请求标题中的X-Aflr-Secret , secret是您的Webhook Secret(您可以在Apiaudio控制台中获得它),并且tolerance是对标头检查的几秒钟的公差,这默认为300秒。
默认情况下,API发出的警告记录在控制台输出中。此外,某些行为还记录在信息级别(例如“正在进行的……”指标,在较长的处理时间内)。可以通过从Python的logging库中的标准级别中选择来控制记录级别。
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或您的Fave Package Manager即可。
如果您碰到your pip version is old错误,请忽略它并使用终端。
如果有问题并且您匆忙,您可以添加 - 在提交命令的末尾, --no-verify ,它将跳过预先承诺的挂钩,例如git commit -m 'your commit message' --no-verify
该项目是根据MIT许可证的条款获得许可的。