Apiaudio é o API oficial.Audio Python 3 SDK. Este SDK fornece fácil acesso à API.AUDIO API para aplicações escritas no Python.
Este repositório é mantido ativamente pelos laboratórios aflorítmicos. Para exemplos, receitas e referência da API, consulte os documentos da API.AUDIO. Sinta -se à vontade para entrar em contato com qualquer dúvida ou feedback!
Você pode ver aqui nosso Changelog atualizado.
Comece com nossas receitas rápidas.
Você não precisa desse código -fonte, a menos que deseje modificá -lo. Se você quiser usar o pacote, basta executar:
pip install apiaudio -U
# or
pip3 install apiaudio -UInstale da fonte com:
python setup.py install
# or
python3 setup.py installPython 3.6+
Crie um arquivo hello.py
touch hello . py Esta biblioteca precisa ser configurada com a tecla API da sua conta, disponível em seu console API.AUDIO. Importe o pacote Apiaudio e defina apiaudio.api_key com a chave API que você recebeu do console:
import apiaudio
apiaudio . api_key = "your-key"Vamos criar nosso primeiro ativo de áudio.
✍️ Crie um novo script, nosso scriptText será o texto que será posteriormente sintetizado.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Renderize o scripttext criado na etapa anterior. Vamos usar a voz Aria.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Agora vamos participar do discurso que acabamos de criar com um modelo de som.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Faça o download do ativo final de áudio no seu diretório de trabalho atual:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Fácil, certo? ? Este é o arquivo final 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 )Agora vamos executar o código:
python hello.py
# or
python3 hello.pyDepois que isso estiver concluído, encontre o ativo de áudio baixado e jogue!
import apiaudio A biblioteca precisa ser configurada com a chave secreta da sua conta, disponível no seu painel aflorítmico. Defina apiaudio.api_key com a chave API que você recebeu do painel:
apiaudio . api_key = "your-key" Você também pode autenticar usando a variável de ambiente apiaudio_key e o Apiaudio SDK o usará automaticamente. Para configurar, abra o terminal e digite:
export apiaudio_key= < your-key > Se você fornecer uma variável de ambiente e um valor de autenticação apiaudio.api_key , o valor apiaudio.api_key será usado.
Para controlar uma organização infantil sua, use o seguinte método para assumir esse ID da organização.
Defina o ID da sua organização infantil como None para parar de assumir uma organização. As chamadas subsequentes para a API usarão seu próprio ID da organização.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )Consulte o Recurso da Organização para obter mais operações que você pode executar sobre sua organização.
Existem duas abordagens para usar os recursos.
A abordagem recomendada é importar todos os recursos diretamente do Apiaudio:
import apiaudio
apiaudio . Script . create () Como alternativa, você pode importar as classes de recursos que deseja usar primeiro e depois usar os métodos de recurso. Por exemplo, para usar Script , poderíamos fazer:
from apiaudio import Script
Script . create () A mesma lógica se aplica a outros recursos ( Speech , Voice , Sound ...)
OrganizationO recurso/classe da organização permite que você execute alguma recuperação de dados sobre sua organização e suas organizações infantis.
Os métodos de organização são:
get_org_data() - Obtenha dados das organizações, incluindo orgid, orgname etc. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Liste suas organizações infantis. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Obtenha sua chave da API, URL da webHook e segredo do webhook. secrets = apiaudio . Organization . get_secrets ()ScriptO recurso/classe de script permite criar, recuperar e listar scripts. Saiba mais sobre scripts aqui.
Os métodos de script são:
create() - Crie um novo script.
scriptText * [obrigatório] (string) - texto para o seu script. Um script pode conter várias seções e tags SSML. Saiba mais sobre os detalhes do ScriptText aquiprojectName (String) - o nome do seu projeto. O valor padrão é "padrão" (máximo de 60 caracteres)moduleName (String) - o nome do seu módulo. O valor padrão é "padrão" (máximo de 60 caracteres)scriptName (String) - o nome do seu script. O valor padrão é "padrão" (máximo de 60 caracteres)scriptId (string) - Identificador personalizado para o seu script. Se o parâmetro scriptId for fornecido, o nome do projeto, o nome do moduleN e o scriptName serão definidos para o mesmo valor que o scriptIdversions (dicionário) - Um dicionário que contém versões diferentes do seu texto de script, pelo qual a chave é o nome da versão e seu valor é o scriptText associado. Nome da versão v0 é reservado como o scriptText padrão. O valor padrão é "{}"metadata (dicionário) - Metadados para o seu script. Isso é limitado a 2kb de tamanho. 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() - recuperar um script por id.
scriptId * [obrigatório] (string) - O ID do script que você deseja recuperar. Por padrão, recupera a versão principal (v0).version (String) - A versão do script que você deseja recuperar. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - Retorne um script com o destaque do dicionário aplicado. Consulte Lexi para obter mais exemplos de como usar o recurso de dicionário.
Parâmetros:
scriptId * [obrigatório] (string) - o ID do script que você deseja usar.voice * [requerir] (string) - A voz que será usada para renderizar o discurso. Isso é necessário, pois a saída pode depender de voz, código de idioma ou provedor.Exemplo:
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() - Liste todos os scripts disponíveis em sua organização. Este método suporta a filtragem.
projectName (String) - Retorne quaisquer scripts com este ProjectName.moduleName (String) - Retorne quaisquer scripts com este moduleno, o NOTE projectName também precisa ser fornecido.scriptName (String) - Retorne quaisquer scripts com este nome de script, não o nome projectName e moduleName precisam ser fornecidos.scriptId (string) - retorne os scripts com este scriptid.verbose (BOOL) - Listar scripts no modo detalhado ( True por padrão). Defina isso como False para retornar apenas o projectName , moduleName , scriptName e scriptId . scripts = apiaudio . Script . list () delete() - exclui um script. Por padrão, isso excluirá todas as versões do script.
scriptId * [obrigatório] (string) - O ID do script a ser excluídoversion (String) - Exclua uma versão específica. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - Exclua vários scripts.
Parâmetros:
projectName * [requerir] (string) - exclui todos os scripts neste nome do projeto.moduleName (String) - Exclui todos os scripts neste moduleName, o NOTE projectName também precisa ser fornecido.scriptName (String) - Exclui todos os scripts nesse nome de script, observe que projectName e moduleName precisa ser fornecido.Exemplo:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - Recupere o texto aleatório de uma lista de categorias.
category (String) - A categoria da qual o texto aleatório é recuperado. Se nenhuma categoria for especificada, a função padrão "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" , "Joke" , " "MovieSynopsis" "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.Directory ResourceLista a estrutura do diretório de seus scripts, ou seja, ProjectName/ModuleName/ScriptName
Script.directory os métodos são:
list_projects() - lista todos os projetos.
Parâmetros:
Exemplo:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - lista todos os módulos dentro de um ProjectPrefix.
Parâmetros:
projectPrefix * [requerido] - listará módulos começando com este ProjectPrefix.Exemplo:
#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() - lista todos os módulos dentro de um ProjectPrefix.
Parâmetros:
projectPrefix * [requerido] - listará nomes de scripts começando com este ProjectPrefix.modulePrefix * [requerido] - listará nomes de scripts começando com este ModulePrefix.Exemplo:
#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"]SpeechA fala permite que você faça o texto em fala (TTS) com nossa API usando todas as vozes disponíveis. Use -o para criar um arquivo de áudio de fala a partir do seu script.
Os métodos de fala são:
create() Envie uma solicitação de texto em fala para o nosso serviço de texto em fala.
Parâmetros:
scriptId * [obrigatório] (string) - o ID do scriptversion (String) - A versão do script a ser produzida. O padrão é "".voice (String) - Nome da voz. Consulte a lista de vozes disponíveis usando recursos de voz. A voz padrão é "Joanna".speed (string) - Velocidade de voz. A velocidade padrão é 100.effect (String) - Coloque um efeito engraçado em sua voz. Você pode tentar os seguintes: dark_father , chewie , 88b , 2r2d ,silencePadding (Inteiro) - Adicione um achado de silêncio às suas faixas de fala (em milissegundos). O padrão é 0 (sem preenchimento)audience (ditado) - Especifique os valores dos parâmetros em seu script. Por exemplo, se no recurso de script você tiver scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" , o público deve ser: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Se não for fornecido, a faixa de fallback será criada.sync (boolean) - Permitir uma criação de fala sincronizada ou assíncrona. O padrão é True . Se sync=False , a fala Criar chamada retornará uma mensagem de sucesso quando a criação da fala for acionada. Para recuperar os arquivos, verifique o método Speech.retrieve() .sections (DIT) - Especifique parâmetros para seções específicas no script. A chave é um nome de seção e o valor é outro dicionário com a configuração da seção (os parâmetros válidos são: voz, velocidade, efeito, silence_padding). Se uma seção não for encontrada aqui, a seção herdará automaticamente os valores de voz, velocidade, efeito e silence_padding que você definiu acima (ou os padrão, se você não os fornecer). Veja um exemplo abaixo com 2 seções e diferentes parâmetros de configuração sendo usados.useDictionary (BOOL) - aplica dicionário de pronúncia ao texto do script.useTextNormalizer (BOOL) - Aplica a normalização do texto, o que pode ajudar a resolver erros gramaticais com pronúncias TTS, por exemplo 11:12 UHR -> 11 UHR 12. Nota - isso só funciona para vozes alemãs no momento. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Exemplo simples:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Exemplo completo:
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() recuperar os URLs do arquivo de fala.
Parâmetros:
scriptId * [obrigatório] (string) - O ID do script que você deseja recuperar.version (String) - A versão do script a ser recuperada. O padrão é "".section (String) - O nome da seção do script que você deseja recuperar. Se não for fornecido, todas as seções de script serão devolvidas.parameters (dict) - Dict contendo os parâmetros de personalização do seu script. Se não for fornecido, a faixa de fallback será recuperada. Este campo depende dos parâmetros que você usou na seção de recursos do seu script. Para recuperar um conjunto específico de parâmetros, você precisa criar o discurso com o mesmo conjunto de parâmetros.Exemplo:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() Baixe os arquivos de fala em sua pasta preferida.
Parâmetros:
scriptId * [obrigatório] (string) - O ID do script que você deseja baixarversion (String) - A versão do script a ser baixada. O padrão é "".section (String) - O nome da seção do script que você deseja recuperar. Se não for fornecido, todas as seções de script serão devolvidas.parameters (dict) - Dict contendo os parâmetros de personalização do seu script. Se não for fornecido, a faixa de fallback será recuperada. Este campo depende dos parâmetros que você usou na seção de recursos do seu script. Para recuperar um conjunto específico de parâmetros, você precisa criar o discurso com o mesmo conjunto de parâmetros.destination (string) - o caminho de destino da pasta. O padrão é "." (Pasta atual)Exemplo:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceA voz permite que você recupere uma lista das vozes disponíveis da nossa API.
Os métodos de voz são:
list() Liste todas as vozes disponíveis em nossa API. Os parâmetros são todos opcionais e podem ser usados em combinação para obter a voz perfeita para a sua USECASE.
provider (String) - Tente um de: Google, Polly, Azure, MSNR (Aflorítmico), IBM, Yandex, Retro (Aflorítmico), Vocalid, lembra -selanguage (string) - por exemplo, inglês, espanhol, francês, alemão, etc.accent (String) - por exemplo, americano, britânico, neutro, português/brasileiro, American Soft, mexicano, australianogender (string) - tente com um de: masculino, femininoageBracket (String) - Tente com um de: adulto, criança, sêniortags (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, conhecedor, focado, apresentador de notícias, leitor de notícias, entrevistador, confiável, amigável, acolhedor, bom para distribuir informações, um pouco amigávelindustryExamples (String) - Tente com um ou mais (separados por vírgulas) de: fitness, negócios, comercial, moda, viagens, audiolivros, imóveis, fé, indústria de saúde, comercial, realestato, entretenimento infantil, jogos, atendimento ao cliente, educação, narrativa, entretenimento, audióvelas de educaçãotimePerformance (String) - O desempenho do tempo da voz. Existem três categorias: lento, médio, rápido.sectionCharacterLimit (String) - A quantidade máxima de caracteres que a voz pode processar por seção de script. Todos os provedores suportados, com exceção do VocalID, têm o limite de 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Este método permite ver quais atributos você pode filtrar as vozes, juntamente com os valores permitidos para cada atributo. Mais tarde, você pode usar esses parâmetros e valores para filtrar as vozes que deseja listar.
Parâmetros:
Exemplo:
parameters = apiaudio . Voice . list_parameters ()SoundO som permite que você projete seu próprio modelo de som a partir de um script e uma faixa de fundo. Para obter um modelo/projeto de som, certifique -se de solicitar o discurso para o seu recurso de script primeiro.
Os métodos de som são:
list() Liste todos os modelos de som disponíveis em nossa API. Os parâmetros são todos opcionais e podem ser usados em combinação para obter o som perfeito para a sua USECASE.
industryExamples (String) - Tente com um ou mais (separados por vírgulas) de: Notícias, viagens, negócios, relaxamento, condicionamento físico, relaxamento, histórias de criançascontents (String) - Tente com um ou mais (separados por vírgulas) de: Intro, Main, Ultro, Effect1, Effect2, Main Outro, Droid_main, Chewie_main, Effect3, Ambience, Somente Efeitosgenre (String) - Tente com um de: eletrônico, acústico, atmosférico, abstrato, rocktempo (String) - tente com um dos: Mid, Up, Down, UpTempotags (String) - Tente com um ou mais (separados por vírgulas) de: intenso, mínimo, reflexivo, melódico, feliz, nostálgico, foco, enérgico, edificante, ativo, relaxado, ambiente, misterioso, positivo, informativo, treino, trabalho, meditação, viagem total sound_templates = apiaudio . Sound . list () list_parameters() Este método permite ver quais atributos você pode filtrar os modelos de som, juntamente com os valores permitidos para cada atributo. Mais tarde, você pode usar esses parâmetros e valores para filtrar os modelos de som que deseja listar.
Parâmetros:
Exemplo:
parameters = apiaudio . Sound . list_parameters ()Mastering do recursoO Mastering permite que você crie e recupere um arquivo de áudio masterizado do seu script. Uma versão masterizada contém o discurso do script, uma faixa de fundo, parâmetros personalizados para o seu público e um processo de masterização para aprimorar a qualidade do áudio de toda a faixa. Para obter um arquivo de áudio masterizado, certifique -se de solicitar o discurso para o seu recurso de script primeiro.
Os métodos de masterização são:
create() Crie uma versão masterizada do seu script e escolha o formato de áudio.
Parâmetros:
scriptId * [requerir] (string) - O ID do recurso de script.version (String) - A versão do script a ser produzida. O padrão é "".soundTemplate (String) - o nome do modelo de som. Para a lista de modelos de som disponíveis, verifique a chamada apiaudio.Sound.list_sound_templates() .public (Boolean) - Bandeira booleana que permite armazenar o arquivo masterizado em uma pasta pública S3. O valor padrão é False . AVISO - Isso fará com que seus arquivos masterizados sejam públicos para qualquer pessoa na Internet. Use isso por sua conta e risco.vast (BOOLEAN) - Sinalizador booleano que permite criar um arquivo vasto do seu arquivo masterizado. A vast bandeira só funciona se public for True . O valor padrão é False .endFormat (List) - Lista de formatos de áudio a serem produzidos. Os formatos válidos são: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - Força o comprimento do áudio da pista masterizada (em segundos).audience (dicta) - Dicionário que contém os parâmetros de personalização. Este parâmetro depende do número de parâmetros que você usou em seu recurso de script. No exemplo da documentação do script acima, usamos 2 parâmetros: username e location e, no exemplo a seguir, abaixo, queremos produzir o script para o nome de usuário salih com a localização Barcelona . Se o público não for fornecido, a faixa de fallback será criada.mediaFiles (Lista) - Lista de ditts que contêm os arquivos de mídia. Este parâmetro depende das tags de arquivo de mídia usadas no recurso de script e nos arquivos de mídia que você possui em sua conta. Por exemplo, se o script contém <<media::myrecording>> plus <<media::mysong>> , e você deseja anexar myRecording a mediaid = "12345", e mysong a mediaId = "67890" depois mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (Float) - Varível do ponto flutuante que permite aparar o volume de arquivos de mídia carregados (em dB). Este atributo possui um intervalo válido de -12 a 12 dB e se aplica a todos os arquivos de mídia incluídos em uma única chamada de masterização. A proteção de recorte não é fornecida, portanto, apenas faça ajustes incrementais.connectors (Lista) - Lista de ditos especificando a configuração para uma conexão específica de terceiros. Para diretrizes no contexto do aplicativo de terceiros suportados, consulte a documentação dos conectores.masteringPreset (String) - A predefinição de masterização para usar, isso permite recursos como a Sidechain Compression 'ie Ducking' consulte apiaudio.Mastering.list_presets() para uma lista de predefinições e suas descrições.share (booleano) - Se você gostaria de ter um link compartilhável criado com seu arquivo de áudio, use esse sinalizador. Se você colocar share: True a resposta terá o parâmetro shareUrl retornado. (Nota: se você colocar este sinalizador, seus arquivos privados serão convertidos em arquivos públicos.)Exemplo:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() cria uma solicitação de masterização baseada puramente nos arquivos de mídia carregados. Os arquivos de mídia precisarão ser enviados antes de chamar essa função. Veja a mídia.
Parâmetros:
timeline * [obrigatório] (Lista) - O objeto da linha do tempo. Um objeto da linha do tempo é uma lista de dicionários, pela qual cada um representa uma faixa de arquivos de áudio. Cada faixa deve ter os dois files de chaves a seguir e contentType .
files * [Requerir] (list) Arquivos é uma lista de dicionários, em que cada entrada deve ter as seguintes 3 chaves, mediaId , startAt e endAt
files * [requerir] (str) O mediaId do arquivo que foi carregado.startAt * [requerir] (flutuar) A hora em que esse arquivo de mídia deve começar em segundos.endAt * [requerido] (flutuando) O tempo em que esse arquivo de mídia deve terminar em segundos. contentType * [requerir] (string) - O tipo de conteúdo que essa faixa contém deve ser sound ou speech
endFormat (List) - Lista de formatos de áudio a serem produzidos. Os formatos válidos são: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - A predefinição de masterização para usar, isso permite recursos como a Sidechain Compression 'ie Ducking' consulte apiaudio.Mastering.list_presets() para uma lista de predefinições e suas descrições.
Exemplo:
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() recuperar os URLs de arquivo masterizado.
Parâmetros:
scriptId * [requerir] (string) - O ID do recurso de script.versions (String) - A versão do script a ser recuperada. O padrão é "".parameters (dict) - Dicionário que contém o item do público que você deseja recuperar. Se os parâmetros não forem fornecidos, a faixa de fallback será recuperada.public (Boolean) - Bandeira booleana que permite recuperar o arquivo masterizado do balde público. Use isso se desejar recuperar um arquivo masterizado criado usando public=True . O valor padrão é False .vast (BOOLEAN) - Bandeira booleana que permite recuperar o arquivo vasto do seu arquivo masterizado. A vast bandeira só funciona se public for True . O valor padrão é False .endFormat (List) - Lista de formatos de áudio a serem recuperados. Os formatos válidos são: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Exemplo:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() Faça o download dos arquivos masterizados em sua pasta preferida.
Parâmetros:
scriptId * [requerir] (string) - O ID do recurso de script.version (String) - A versão do script a ser baixada. O padrão é "".parameters (dict) - Dicionário que contém o item do público que você deseja recuperar. Se os parâmetros não forem fornecidos, a faixa de fallback será baixada.destination (string) - o caminho de destino da pasta. O padrão é "." (Pasta atual)public (Boolean) - Bandeira booleana que permite recuperar o arquivo masterizado do balde público. Use isso se desejar recuperar um arquivo masterizado criado usando public=True . O valor padrão é False .vast (BOOLEAN) - Bandeira booleana que permite recuperar o arquivo vasto do seu arquivo masterizado. A vast bandeira só funciona se public for True . O valor padrão é False .Exemplo:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() Liste as predefinições de masterização disponíveis.
Exemplo:
presets = apiaudio . Mastering . list_presets ()
print ( presets )MediaA mídia permite que você recupere todos os arquivos disponíveis no API.AUDIO para sua organização.
Os métodos de mídia são:
upload() - Upload de arquivos para nossos bancos de dados.
Parâmetros:
file_path * [NEIXIDADE] (STRING) - Caminho relativo para o arquivo de áudio.tags (String) - Tags separadas de vírgula que você deseja adicionar ao seu arquivo carregado. Isso facilitará a recuperação.Exemplo:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Liste todos os arquivos em uma organização.
Parâmetros:
mediaId (String) - Se aprovado, retornará apenas esse arquivo ou um objeto vazio se ele não existir.tags (String) - Tags separadas de vírgula que você deseja adicionar ao seu arquivo carregado. Se aprovado, retornará todos os arquivos que contêm pelo menos essas tags.downloadUrl (booleano): se verdadeiro, um URL previsto é adicionado a cada item da matriz. Isso é lento para uma grande quantidade de arquivos (cerca de 1s cada).public (booleano): se verdadeiro, os arquivos de mídia listados serão os arquivos de mídia pública fornecidos pela API.AUDIO. O padrão é falso.Exemplos:
# 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() Isso retorna uma lista com todas as tags definidas pelo usuário exclusivas.
Exemplo:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - Este método retorna um URL previsto para baixar um arquivo de áudio específico
mediaId * [requerir] (string): ID de mídia para o arquivo ser baixadoExemplo
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - Este método baixa um arquivo de áudio específico
mediaId * [requerir] (string): ID de mídia para o arquivo ser baixadodestination (string): caminho para o diretório em que o arquivo será baixado. O padrão é "."Exemplo
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTS RecursoOs sincronizados permitem que você faça TTS de texto em fala síncrono (TTS) com nossa API usando todas as vozes disponíveis. Use -o para criar um arquivo de áudio de fala a partir de um texto e um nome de voz. A resposta contém bytes de onda prontos para serem reproduzidos ou gravados em um arquivo.
Os métodos de sincronização são:
create() Crie um arquivo de fala TTS.
Parâmetros:
voice * [obrigatório] (String) - o nome da voz. Consulte a lista de vozes disponíveis usando recursos de voz.text * [requerido] (string) - o texto com o qual você deseja fazer. O limite é de 800 caracteres para arquivos de onda.metadata [opcional] ("completo" ou "nenhum") - o nível de metadados que você deseja. Retorna listas de fonemas (disponíveis apenas para algumas vozes do MSNR)Exemplo:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheO Birdcache é um serviço de armazenamento em cache fornecido pela API.Audio que fornece a camada de cache para o cliente, armazenando dados nos servidores API.AUDIO para uso futuro. Isso permite que você recupere seus arquivos de fala em tempo real.
Os métodos de Birdcache são:
create() Crie um arquivo de fala TTS.
Parâmetros:
type * [requerido] (String) - Tipo do evento. Tipos suportados estão mastering e speech .text * [requerido] (string) - o texto com o qual deseja fazer fala/dominar. Veja o exemplo para os parâmetros de personalização.voice * [NEIXIDADE] (String) - A voz para a criação de fala.audience * [Opcional] (dict) - O objeto de pares de chave para parâmetros de personalização. Veja o exemplo abaixo.soundTemplate [Opcional] (String) - O modelo de som para dominar a criação. Somente necessário quando o tipo está dominando.Exemplo:
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 DictionaryMuitas vezes, ao trabalhar com o TTS, os modelos podem não pronunciar com precisão palavras específicas, por exemplo, marcas, nomes e locais geralmente são mal pronunciados. Como primeira tentativa de corrigir isso, introduzimos nossa bandeira Lexi, que funciona de maneira semelhante à SSML. Por exemplo, adicionar <! Peadar> em vez de Peadar (que é um de nossos fundadores) ao seu script fará com que o modelo produza uma pronúncia alternativa desse nome. Isso é particularmente útil nos casos em que as palavras podem ter várias pronúncias, por exemplo, as cidades 'leitura' e 'nice'. Neste caso, a colocação <! Reading> e <! Belo> garantirá que estes sejam pronunciados corretamente, dado o script:
" The city of <!nice> is a really nice place in the south of france."
Se esta solução não funcionar para você, você poderá usar nosso recurso Lexi personalizado (auto-atendido).
Isso pode ser usado para alcançar uma das duas coisas, corrigir palavras únicas ou expandir acrônimos. Por exemplo, você pode substituir todas as ocorrências da palavra aflorítmica por "AF baixo rítmico" ou ocorrências da palavra "BMW" com "Bayerische Motoren Werke". As palavras de substituição podem ser fornecidas como texto simples ou uma fonemização IPA.
Os métodos de dicionário de propensação são:
list() lista os dicionários publicamente disponíveis e suas palavras
Parâmetros:
noneExemplo:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() lista os dicionários personalizados e suas respectivas palavras
Parâmetros:
noneExemplo:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word adiciona uma nova palavra a um dicionário personalizado.
lang [Necessário] (String) - Família de idiomas, en exemplo, ou es . Dictionary - Use global para registrar uma palavra globalmente.word [obrigatório] (string) - a palavra que será substituídareplacement [necessária] (String) - O token de substituição. Pode ser uma corda simples ou um token IPA.contentType [Opcional] (String) - O tipo de conteúdo da substituição fornecido pode ser basic (padrão) ou ipa para substituições fonéticas.specialization [Opcional] (String) - Por padrão, a substituição fornecida será aplicada, independentemente da voz, código de idioma ou provedor fornecido. No entanto, os casos de borda podem ser fornecidos, esses podem ser válidos; Nome do provedor, código de idioma (ou seja, EN-GB) ou nome de voz. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Para cada idioma, apenas uma única entrada de palavras é permitida. No entanto, cada palavra pode ter várias specializations . Quando uma palavra é registrada pela primeira vez, é sempre criada uma specialization default , que corresponde ao que é passado. As chamadas subsequentes com diferentes especializações atualizarão apenas a especialização fornecida. A repolução exata que será usada é determinada pela seguinte ordem de preferência:
voice name > language dialect > provider name > default
Por exemplo, uma substituição especificada para o nome da voz sara será escolhida em uma substituição especificada para o fornecedor azure .
list_custom_words() lista todas as palavras contidas em um dicionário personalizado.
Parâmetros:
lang [Necessário] (String) - Família de idiomas, en exemplo, ou es - use global para listar palavras agnósticas de idiomas.
Exemplo:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) O efeito da aplicação do dicionário de pronúncia pode ser visto com o método script.preview() . Consulte a documentação do script para obter mais detalhes.
Exemplo:
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 )Resposta:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } Neste exemplo, Bristol será telefonado para garantir que seja pronunciado corretamente, mas como Bude não está em nossos dicionários, é deixado como está. Os tokens IPA exatos para palavras em nossos dicionários internos são obtidos.
Connector Recurso usado para monitorar 3º Paty Integrações. Os resultados finais do domínio do recurso podem ser distribuídos em aplicativos externos através do campo connectors . Consulte a documentação dos conectores. Lista de aplicativos atualmente suportados:
Métodos disponíveis:
retrieve() depois de registrar um conector no api.console, use esse método para verificar se uma conexão foi bem -sucedida usando credenciais fornecidas.
Parâmetros:
name * [Necessário] (String) - O nome do conector especificado no console.Exemplo:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Verifique o status da conexão, fornecendo connectionId retornado em uma resposta de masterização.
Parâmetros:
connection_id * [Necessário] (String) - O ConnectionId retornou pela Mastering Resource.Exemplo:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)OrchestratorO orquestrador é usado para tornar o trabalho com uma variedade de serviços de áudio tão fáceis quanto enviar uma única solicitação de API. Cada rota aqui é cuidadosamente configurada para produzir ativos de áudio de alta qualidade e fáceis de acessar.
Os métodos de orquestrador são:
create_audio() cria uma solicitação de fala TTS simples e adiciona um modelo de som a ele através do domínio.
Parâmetros:
scriptText * [requerido] (str) - texto para sintetizar (TTS).soundTemplate (STR) - modelo de som para usar.voice * [NEIXIDADE] (STR) - Nome da voz para usar. create_three_sections() cria uma solicitação de fala TTS com 3 seções e adiciona um modelo de som a ele através do domínio.
Parâmetros:
introText * [requerido] (str) - texto para sintetizar na seção de introdução.mainText * [requerido] (str) - texto para sintetizar na seção principal.outroText * [requerido] (str) - texto para sintetizar na seção ULO.soundTemplate (STR) - modelo de som para usar.voice * [NEIXIDADE] (STR) - Nome da voz para usar. media_with_sound() combina um arquivo de mídia pré-existente (ou seja, voz pré-gravada) com um modelo de som
Parâmetros:
mediaId * [requerir] (str) - MediaId do arquivo de mídia para usar como entrada.soundTemplate * [requerir] (str) - modelo de som para usar.Este SDK fornece uma maneira fácil de verificar os cabeçalhos de segurança do Apiaudio Webhook. É altamente recomendável verificar os cabeçalhos para proteger seu servidor de qualquer ataque malicioso.
O método é:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Ele retornará verdadeiro se o cabeçalho for válido, caso contrário, ele levantará um erro. Os parâmetros a passar são; sendo payload o objeto corporal enviado por Apiaudio, sendo sig_header sendo X-Aflr-Secret nos cabeçalhos de solicitação enviados por Apiaudio, secret sendo seu segredo de webhook (você pode obtê-lo no console de Apiaudio) e tolerance sendo a tolerância em segundos para as verificações de cabeçalho, que padrão a 300 segundos.
Por padrão, os avisos emitidos pela API são registrados na saída do console. Além disso, alguns comportamentos estão registrados no nível informativo (por exemplo, indicadores em andamento ... "durante os tempos de processamento mais longos). O nível de registro pode ser controlado escolhendo entre os níveis padrão na biblioteca logging do Python.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Há um gancho de pré-compromisso que será executado antes de você confirmar um arquivo. Isso é para manter os padrões de código altos. Para ativá -lo, você deve make . Em seguida, ele configurará o gancho de pré-compromisso para o Git. Isso é tudo! Agora, todas as vezes antes de se comprometer, ele será executado para falar sobre os padrões.
Se você usar o VSCode para cometer arquivos, poderá esbarrar no pre-commit command not found . Tudo bem, basta executar brew install pre-commit ou o seu gerenciador de pacotes favoritos da lista aqui.
Se você esbarrar na your pip version is old , basta ignorá -lo e usar o terminal.
Se houver um problema e você estiver com pressa, você pode adicionar --no-verify no final do comando Commit, ele pulará os ganchos pré-comprometidos, por exemplo git commit -m 'your commit message' --no-verify
Este projeto está licenciado nos termos da licença do MIT.