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 install파이썬 3.6+
hello.py 파일을 만듭니다
touch hello . py 이 라이브러리는 API.Audio 콘솔에서 사용할 수있는 계정 API-Key로 구성해야합니다. Apiaudio 패키지를 가져 와서 콘솔에서 얻은 API 키로 apiaudio.api_key 설정하십시오.
import apiaudio
apiaudio . api_key = "your-key"첫 번째 오디오 자산을 만들어 봅시다.
✍️ 새 스크립트를 만듭니다. scriptText 는 나중에 합성 된 텍스트가됩니다.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? 이전 단계에서 생성 된 스크립트 텍스트를 렌더링하십시오. Voice Aria를 사용하자.
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 Dashboard에서 사용할 수있는 계정의 비밀 키로 구성해야합니다. 대시 보드에서 얻은 api-key로 apiaudio.api_key 설정하십시오.
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 (String) - 프로젝트의 이름입니다. 기본값은 "기본값"(최대 60 자)입니다.moduleName (String) - 모듈의 이름입니다. 기본값은 "기본값"(최대 60 자)입니다.scriptName (String) - 스크립트의 이름입니다. 기본값은 "기본값"(최대 60 자)입니다.scriptId (String) - 스크립트의 사용자 정의 식별자. ScriptId 매개 변수가 제공되면 ProjectName, ModulEname 및 ScriptName이 ScriptId와 동일한 값으로 설정됩니다.versions (Dictionary) - 스크립트 텍스트의 다른 버전을 포함하는 사전, 여기서 키는 버전 이름이고 그 값은 관련 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 * [필수] (문자열) - 음성을 말하는 데 사용될 음성. 출력이 음성, 언어 코드 또는 공급자에 의존 할 수 있으므로 이는 필요합니다.예:
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) -이 프로젝트 이름으로 모든 스크립트를 반환합니다.moduleName (String) -이 모듈 라메 이름으로 모든 스크립트를 반환하려면 참고 projectName 도 제공해야합니다.scriptName (String) -이 스크립트 이름으로 모든 스크립트를 반환합니다. projectName 과 moduleName 모두 제공 할 필요가 없습니다.scriptId (String) -이 스크립트를 사용하여 모든 스크립트를 반환합니다.verbose (bool) - Verbose 모드의 스크립트를 목록 (기본적으로 True ). projectName , moduleName , scriptName 및 scriptId 필드 만 반환하려면 이것을 False 로 설정하십시오. scripts = apiaudio . Script . list () delete() - 스크립트를 삭제합니다. 기본적으로 모든 버전의 스크립트가 삭제됩니다.
scriptId * [필수] (String) - 삭제 될 스크립트의 IDversion (String) - 특정 버전을 삭제합니다. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - 여러 스크립트를 삭제합니다.
매개 변수 :
projectName * [필수] (String) -이 projectname 내의 모든 스크립트를 삭제합니다.moduleName (String) -이 moduleName 내의 모든 스크립트를 삭제하려면 참고 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 (문자열) - 임의의 텍스트가 검색되는 범주입니다. 범주가 지정되지 않으면 함수 기본값은 "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() - 프로젝트prefix 내에 모든 모듈을 나열합니다.
매개 변수 :
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 자원Speech를 사용하면 사용 가능한 모든 목소리를 사용하여 API를 사용하여 TTS (Text-To-Steeech)를 수행 할 수 있습니다. 이를 사용하여 스크립트에서 음성 오디오 파일을 만듭니다.
음성 방법은 다음과 같습니다.
create() 텍스트 음성 연사 서비스에 텍스트 음성 연설 요청을 보냅니다.
매개 변수 :
scriptId * [필수] (문자열) - 스크립트 IDversion (String) - 생성 할 스크립트의 버전. 기본값은 ""입니다.voice (문자열) - 음성 이름. 음성 자원을 사용하여 사용 가능한 음성 목록을 참조하십시오. 기본 음성은 "Joanna"입니다.speed (문자열) - 음성 속도. 기본 속도는 100입니다.effect (문자열) - 당신의 목소리에 재미있는 효과를 내십시오. dark_father , chewie , 88b , 2r2d , 다음을 시도해 볼 수 있습니다.silencePadding (정수) - 스피치 트랙 (밀리 초)에 Silence 패딩을 추가하십시오. 기본값은 0입니다 (패딩 없음)audience (Dict) - 스크립트의 매개 변수 값을 지정합니다. 예를 들어, 스크립트 리소스에서 scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" . 청중은 다음과 같아야합니다. {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . 제공되지 않으면 폴백 트랙이 생성됩니다.sync (부울) - 동기화 또는 비동기 음성 생성을 허용합니다. 기본값은 True 입니다. sync=False 경우 음성 생성이 트리거 될 때 Speech Create Cale은 성공 메시지를 반환합니다. 파일을 검색하려면 Speech.retrieve() 메소드를 확인하십시오.sections (dict) - 스크립트의 특정 섹션에 대한 매개 변수를 지정합니다. 키는 섹션 이름이고 값은 섹션 구성의 또 다른 사전입니다 (유효한 매개 변수는 음성, 속도, 효과, Silence_padding)입니다. 섹션이 여기에 찾을 수없는 경우 섹션은 위에서 정의한 음성, 속도, 효과 및 Silence_padding 값 (또는 제공하지 않으면 기본값)을 자동으로 상속합니다. 두 섹션과 다른 구성 매개 변수를 사용하는 아래의 예를 참조하십시오.useDictionary (BOOL) - 스크립트 텍스트에 발음 사전을 적용합니다.useTextNormalizer (BOOL) - TTS 발음으로 문법 오류를 해결하는 데 도움이 될 수있는 텍스트 정규화를 적용합니다. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Simple example:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Complete example:
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 (String) - 검색 할 스크립트의 버전. 기본값은 ""입니다.section (String) - 검색하려는 스크립트 섹션 이름입니다. 제공되지 않으면 모든 스크립트 섹션이 반환됩니다.parameters (DICT) - 스크립트의 개인화 매개 변수가 포함 된 DICT. 제공되지 않으면 폴백 트랙이 검색됩니다. 이 필드는 스크립트 리소스 섹션에서 사용한 매개 변수에 따라 다릅니다. 특정 매개 변수 세트를 검색하려면 동일한 매개 변수 세트로 음성을 만들어야합니다.예:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() 선호하는 폴더에서 음성 파일을 다운로드하십시오.
매개 변수 :
scriptId * [필수] (String) - 다운로드하려는 스크립트 IDversion (String) - 다운로드 할 스크립트의 버전입니다. 기본값은 ""입니다.section (String) - 검색하려는 스크립트 섹션 이름입니다. 제공되지 않으면 모든 스크립트 섹션이 반환됩니다.parameters (DICT) - 스크립트의 개인화 매개 변수가 포함 된 DICT. 제공되지 않으면 폴백 트랙이 검색됩니다. 이 필드는 스크립트 리소스 섹션에서 사용한 매개 변수에 따라 다릅니다. 특정 매개 변수 세트를 검색하려면 동일한 매개 변수 세트로 음성을 만들어야합니다.destination (문자열) - 폴더 대상 경로. 기본값은 "."입니다. (현재 폴더)예:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )Voice 자원Voice를 사용하면 API에서 사용 가능한 음성 목록을 검색 할 수 있습니다.
음성 방법은 다음과 같습니다.
list() API에 사용 가능한 모든 목소리를 나열하십시오. 매개 변수는 모두 선택 사항이며, Usecase에 완벽한 음성을 얻기 위해 조합으로 사용될 수 있습니다.
provider (String) - Google, Polly, Azure, MSNR (Aflorithmic), IBM, Yandex, Retro (Asflorithmic), Vocalid, 유사language (문자열) - 예 : 영어, 스페인어, 프랑스어, 독일어 등accent (문자열) - 예 : 미국, 영국, 중립, 포르투갈어/브라질, 미국 소프트, 멕시코, 호주gender (문자열) - 남성, 여성 중 하나와 함께 시도하십시오ageBracket (String) - 성인, 어린이, 선배 중 하나와 함께 시도하십시오.tags (String)-하나 이상의 (쉼표로 분리)의 시도 : 안정, 자신감, 균형, 유익한, 진지한, 진지한, 교육, 느린, 스토리 텔링, 침착하고, 명확하고, 깊고, 공식, 슬픔, 얇고, 빠르고, 경향이 있고, 활기차고, 긴장, 매우 빠르고, 평평하고, 낮은 피치, 낮은 피치, 낮은 피치, 노래, 협력, 정직하고, 밀려 가고, 일관된, 일관된, 일관성 포인트, 지식이 풍부한, 집중, 뉴스 캐스터, 뉴스 리더, 면접관, 신뢰할 수 있고 친절하며 환영하며 정보 나눠주는 데 적합하며 약간 친절합니다.industryExamples (String) - 피트니스, 비즈니스, 상업, 패션, 여행, 오디오 북, 부동산, 신앙, 건강 산업, Comercial, Realestate, Kids Entertainment, Games, 고객 서비스, 교육, 스토리 텔링, 엔터테인먼트, 교육 오디오 북, 교육 오디오 북.timePerformance (String) - 음성의 시간 성능. 느린, 중간, 빠른 세 가지 범주가 있습니다.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에 사용 가능한 모든 사운드 템플릿을 나열하십시오. 매개 변수는 모두 선택 사항이며 Usecase에 완벽한 사운드를 얻기 위해 조합하여 사용될 수 있습니다.
industryExamples (String) - 뉴스, 여행, 비즈니스, 휴식, 피트니스, 휴식, 어린이 이야기의 하나 이상 (쉼표로 분리)을 사용해보십시오.contents (문자열) - 하나 이상의 시도 (쉼표로 분리) : Intro, Main, Altro, Effect1, Effect2, Main Altro, Droid_main, Chewie_main, Effect3, Ambience, Effects 유일한 효과genre (String) - 전자, 음향, 대기, 초록, 암석 중 하나를 사용해보십시오.tempo (String) - 중간, UP, Down, Uptempo 중 하나를 사용해보십시오.tags (문자열) - 하나 이상의 (쉼표로 분리) : 강렬하고 최소한, 반사, 멜로디, 행복, 향수, 초점, 활력, 고양, 활동, 편안한, 분위기, 긍정적, 유익한, 운동, 일, 명상, 완전한 침묵 sound_templates = apiaudio . Sound . list () list_parameters() 이 메소드를 사용하면 각 속성에 대한 허용 값과 함께 사운드 템플릿을 필터링 할 수있는 속성을 확인할 수 있습니다. 나중에이 매개 변수와 값을 사용하여 나열하려는 사운드 템플릿을 필터링 할 수 있습니다.
매개 변수 :
예:
parameters = apiaudio . Sound . list_parameters ()Mastering 리소스마스터 링을 사용하면 스크립트의 마스터 오디오 파일을 작성하고 검색 할 수 있습니다. 마스터 버전에는 스크립트의 연설, 배경 트랙, 잠재 고객을위한 맞춤 매개 변수 및 전체 트랙의 오디오 품질을 향상시키기위한 마스터 링 프로세스가 포함되어 있습니다. 마스터 오디오 파일을 얻으려면 먼저 스크립트 리소스에 대한 음성을 요청했는지 확인하십시오.
마스터 링 방법은 다음과 같습니다.
create() 마스터 된 스크립트의 마스터 버전을 만들고 오디오 형식을 선택하십시오.
매개 변수 :
scriptId * [필수] (문자열) - 스크립트 리소스 ID.version (String) - 생성 할 스크립트의 버전. 기본값은 ""입니다.soundTemplate (String) - 사운드 템플릿 이름입니다. 사용 가능한 사운드 템플릿 목록은 apiaudio.Sound.list_sound_templates() 호출을 확인하십시오.public (부울) - 마스터 된 파일을 공개 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) - 개인화 매개 변수가 포함 된 사전. 이 매개 변수는 스크립트 리소스에서 사용한 매개 변수 수에 따라 다릅니다. 위의 스크립트 문서 예에서는 username 과 location 두 매개 변수를 사용했으며 다음 예에서는 위치 Barcelona 와 함께 사용자 이름 salih 의 스크립트를 생성하려고합니다. 잠재 고객이 제공되지 않으면 폴백 트랙이 만들어집니다.mediaFiles (List) - 미디어 파일이 포함 된 접시 목록. 이 매개 변수는 스크립트 리소스에 사용 된 미디어 파일 태그와 계정에있는 미디어 파일에 따라 다릅니다. 예를 들어, 스크립트에 <<media::myrecording>> plus <<media::mysong>> 가 포함되어 있고 mediid = "12345"에 myrecording을 첨부하려면 mediid = "67890"그런 다음 mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (float) - 업로드 된 미디어 파일 (DB)의 볼륨을 다듬을 수있는 플로팅 포인트 변수. 이 속성은 유효한 범위가 -12 ~ 12dB이며 단일 마스터 링 호출에 포함 된 모든 미디어 파일에 적용됩니다. 클리핑 보호는 제공되지 않으므로 증분 조정 만 수행하십시오.connectors (목록) - 특정 제 3 자 연결에 대한 구성을 지정하는 DICT 목록. 지원되는 제 3 자 애플리케이션의 맥락에서 지침은 커넥터 문서를 참조하십시오.masteringPreset 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 * [필수] (문자열) -이 트랙에 포함 된 컨텐츠 유형은 sound 또는 speech 이어야합니다.
endFormat (목록) - 생성 할 오디오 형식 목록. 유효한 형식은 ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"] 입니다.
masteringPreset 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 * [필수] (문자열) - 스크립트 리소스 ID.versions (String) - 검색 할 스크립트의 버전. 기본값은 ""입니다.parameters (dict) - 검색하려는 청중 항목이 포함 된 사전. 매개 변수가 제공되지 않으면 폴백 트랙이 검색됩니다.public (부울) - 공개 버킷에서 마스터 된 파일을 검색 할 수있는 부울 플래그. public=True 사용하여 생성 된 마스터 된 파일을 검색하려면 이것을 사용하십시오. 기본값은 False 입니다.vast (부울) - 마스터 된 파일의 광대 한 파일을 검색 할 수있는 부울 플래그. vast 깃발은 public 이 True 경우에만 작동합니다. 기본값은 False 입니다.endFormat (list) - 검색 할 오디오 형식 목록. 유효한 형식은 ["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 * [필수] (문자열) - 스크립트 리소스 ID.version (String) - 다운로드 할 스크립트의 버전입니다. 기본값은 ""입니다.parameters (dict) - 검색하려는 청중 항목이 포함 된 사전. 매개 변수가 제공되지 않으면 폴백 트랙이 다운로드됩니다.destination (문자열) - 폴더 대상 경로. 기본값은 "."입니다. (현재 폴더)public (부울) - 공개 버킷에서 마스터 된 파일을 검색 할 수있는 부울 플래그. 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 (String) - 업로드 된 파일에 추가하려는 쉼표로 분리 된 태그. 이것은 검색이 더 쉬워 질 것입니다.예:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - 조직 내의 모든 파일을 나열합니다.
매개 변수 :
mediaId (string) - 전달 된 경우 해당 파일 만 있거나 빈 객체 만 존재하지 않는 경우 만 반환합니다.tags (String) - 업로드 된 파일에 추가하려는 쉼표로 분리 된 태그. 통과하면 적어도 해당 태그가 포함 된 모든 파일을 반환합니다.downloadUrl (boolean) : true 인 경우 배열의 각 항목에 PESIGINED URL이 추가됩니다. 많은 양의 파일 (각각 약 1 초)의 경우 느립니다.public (부울) : 사실이라면, 나열된 미디어 파일은 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() -이 메소드는 특정 오디오 파일을 다운로드하기 위해 Pipigned 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"
)SyncTTSSynctts를 사용하면 사용 가능한 모든 음성을 사용하여 API와 동기 텍스트 음성 연설 (TTS)을 수행 할 수 있습니다. 이를 사용하여 텍스트와 음성 이름에서 음성 오디오 파일을 만듭니다. 응답에는 파일에 재생되거나 쓸 준비가 된 웨이브 바이트가 포함되어 있습니다.
synctts 방법은 다음과 같습니다.
create() tts 음성 파일을 만듭니다.
매개 변수 :
voice * [필수] (문자열) - 음성 이름. 음성 자원을 사용하여 사용 가능한 음성 목록을 참조하십시오.text * [필수] (문자열) - 당신이 tts로하고 싶은 텍스트. 제한은 웨이브 파일의 경우 800 자입니다.metadata [선택 사항] ( "full"또는 "none") - 원하는 메타 데이터 수준. 음소 목록을 반환합니다 (일부 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 서버에 데이터를 저장하여 고객에게 캐싱 레이어를 제공합니다. 이를 통해 연설 파일을 즉시 검색 할 수 있습니다.
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와 함께 작업 할 때 모델은 특정 단어 (예 : 브랜드, 이름 및 위치가 일반적으로 잘못 발음되는 특정 단어를 정확하게 발음하지 못할 수 있습니다. 이 문제를 해결하려는 첫 번째 시도로서 우리는 SSML과 비슷한 방식으로 작동하는 Lexi 플래그를 소개했습니다. 예를 들어, Peadar (창립자 중 한 명인) 대신 <! peadar>를 스크립트에 추가하면 모델 이이 이름의 대체 발음을 생성합니다. 이것은 단어가 여러 발음, 예를 들어 도시 '읽기'및 '니스'와 같은 경우에 특히 유용합니다. 이 인스턴스에서 <! reading> 및 <! nice>를 배치하면 스크립트가 주어지면 다음과 같이 올바르게 발음됩니다.
" The city of <!nice> is a really nice place in the south of france."
이 솔루션이 작동하지 않으면 대신 사용자 정의 (셀프 서비스) Lexi 기능을 사용할 수 있습니다.
이것은 두 가지 중 하나를 달성하거나 한 단어를 수정하거나 약어를 확장하는 데 사용될 수 있습니다. 예를 들어, Asflorrithmic이라는 단어의 모든 발생을“AF 저 리듬”또는 'BMW'라는 단어의 발생으로 대체 할 수 있습니다. 교체 단어는 일반 텍스트 또는 IPA 전화로 제공 될 수 있습니다.
Prononciation 사전 방법은 다음과 같습니다.
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 .dictionary- global 사용하여 전 세계적으로 단어를 등록하십시오.word [필수] (문자열) - 대체 될 단어replacement [필수] (문자열) - 교체 토큰. 일반 문자열 또는 IPA 토큰 일 수 있습니다.contentType [선택 사항] (String) - 제공된 교체의 내용 유형은 음성 대체용으로 basic (기본값) 또는 ipa 일 수 있습니다.specialization [선택 사항] (String) - 기본적으로 제공된 교체는 제공된 음성, 언어 코드 또는 제공자에 관계없이 적용됩니다. 그러나 가장자리 케이스를 공급할 수 있으며, 이는 유효 할 수 있습니다. 제공자 이름, 언어 코드 (예 : 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 리소스 3 번째 PATY 통합을 모니터링하는 데 사용되는 리소스. 마스터 링 리소스의 최종 결과는 connectors 필드를 통해 외부 응용 프로그램에 배포 할 수 있습니다. 커넥터 문서를 참조하십시오. 현재 지원되는 응용 프로그램 목록 :
사용 가능한 방법 :
retrieve() API.Console에 커넥터를 등록한 후이 방법을 사용하여 제공된 자격 증명을 사용하여 연결이 성공했는지 확인하십시오.
매개 변수 :
name * [필수] (문자열) - 콘솔에 지정된 커넥터의 이름입니다.예:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() 마스터 링 응답으로 connectionId 반환하여 연결 상태를 확인하십시오.
매개 변수 :
connection_id * [필수] (String) - Mastering Resource에 의해 ConnectionID를 반환합니다.예:
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) - 아웃트로 섹션에서 합성 할 텍스트.soundTemplate (str) - 사용할 사운드 템플릿.voice * [필수] (str) - 사용할 음성 이름. media_with_sound() 기존 미디어 파일 (예 : 사전 녹음 된 음성)을 사운드 템플릿과 결합합니다.
매개 변수 :
mediaId * [필수] (str) - 입력으로 사용할 미디어 파일의 mediaid.soundTemplate * [필수] (str) - 사용할 사운드 템플릿.이 SDK는 Apiaudio Webhook Call 보안 헤더를 쉽게 확인할 수있는 방법을 제공합니다. 악의적 인 공격으로부터 서버를 보호하기 위해 헤더를 확인하는 것이 좋습니다.
방법은 다음과 같습니다.
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) 헤더가 유효 한 경우 True가 반환됩니다. 그렇지 않으면 오류가 발생합니다. 전달할 매개 변수는 다음과 같습니다. Apiaudio가 보낸 바디 객체, sig_header ApiaUdio가 보낸 요청 헤더에서 X-Aflr-Secret , secret 는 webhook 비밀 (Apiaudio 콘솔에서 얻을 수 있음)이며, 300 초까지의 헤더 점검에 대한 tolerance payload 가된다.
기본적으로 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 패키지 관리자를 여기에서 실행하십시오.
your pip version is old 하면 무시하고 터미널을 사용하십시오.
문제가 있고 서두르는 경우 커밋 명령의 끝에서 --no-verify 추가 할 수 있습니다. 예를 들어 사전 커밋 후크를 건너 뛸 수 git commit -m 'your commit message' --no-verify
이 프로젝트는 MIT 라이센스의 조건에 따라 라이센스가 부여됩니다.