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許可證的條款獲得許可的。