Apiaudio es la API oficial de Audio Python 3 SDK. Este SDK proporciona un fácil acceso a la API API de Audio para las aplicaciones escritas en Python.
Este repositorio es mantenido activamente por los laboratorios aflorítmicos. Para ejemplos, recetas y referencia de API, consulte los documentos API.Audio. ¡No dude en ponerse en contacto con cualquier pregunta o retroalimentación!
Puede ver aquí nuestro ChangeLog actualizado.
Comience con nuestras recetas rápidas.
No necesita este código fuente a menos que desee modificarlo. Si desea usar el paquete, simplemente ejecute:
pip install apiaudio -U
# or
pip3 install apiaudio -UInstalar desde la fuente con:
python setup.py install
# or
python3 setup.py installPython 3.6+
Crear un archivo hello.py
touch hello . py Esta biblioteca debe configurarse con el API-Key de su cuenta disponible en su consola API.Audio. Importe el paquete Apiaudio y establezca apiaudio.api_key con la tecla API que obtuvo de la consola:
import apiaudio
apiaudio . api_key = "your-key"Creemos nuestro primer activo de audio.
✍️ Cree un nuevo script, nuestro scriptText será el texto que luego se sintetiza.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Renderizar el ScriptText que se creó en el paso anterior. Usemos la voz aria.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Ahora nos unamos al discurso que acabamos de crear con una plantilla de sonido.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Descargue el activo de audio final a su directorio de trabajo actual:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Fácil, ¿verdad? ? Este es el archivo 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 )Ahora ejecutemos el código:
python hello.py
# or
python3 hello.pyUna vez que esto se haya completado, ¡encuentre el activo de audio descargado y repúdalo!
import apiaudio La biblioteca debe configurarse con la clave secreta de su cuenta que está disponible en su tablero aflorítmico. Establezca apiaudio.api_key con la tecla API-Key que obtuvo del tablero:
apiaudio . api_key = "your-key" También puede autenticarse utilizando la variable de entorno apiaudio_key y el apiaudio sdk lo usará automáticamente. Para configurar, abra el terminal y el tipo:
export apiaudio_key= < your-key > Si proporciona una variable de entorno y un valor de autenticación apiaudio.api_key , el valor apiaudio.api_key se utilizará en su lugar.
Para controlar una organización infantil tuya, utilice el siguiente método para asumir esa identificación de la organización.
Establezca la identificación de su organización infantil en None para dejar de asumir una organización. Las llamadas posteriores a la API utilizarán su propia identificación de organización.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )Consulte el recurso de la organización para obtener más operaciones que pueda realizar sobre su organización.
Hay dos enfoques para usar los recursos.
El enfoque recomendado es importar todos los recursos directamente de Apiaudio:
import apiaudio
apiaudio . Script . create () Alternativamente, puede importar las clases de recursos que desea usar primero y luego usar los métodos de recursos. Por ejemplo, para usar Script , podríamos hacer:
from apiaudio import Script
Script . create () La misma lógica se aplica para otros recursos ( Speech , Voice , Sound ...)
OrganizationEl recurso/clase de la organización le permite realizar alguna recuperación de datos sobre su organización y sus organizaciones hijos.
Los métodos de organización son:
get_org_data() - Obtenga datos de organizaciones, incluidos Orgid, Orgname, etc. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Enumere sus organizaciones infantiles. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Obtenga su clave API, URL de Webhook y Webhook Secret. secrets = apiaudio . Organization . get_secrets ()ScriptEl recurso/clase de script le permite crear, recuperar y enumerar los scripts. Obtenga más información sobre los guiones aquí.
Los métodos de script son:
create() - crea un nuevo script.
scriptText * [requerido] (string) - texto para su script. Un script puede contener múltiples secciones y etiquetas SSML. Obtenga más información sobre los detalles de ScriptText aquíprojectName (String): el nombre de su proyecto. El valor predeterminado es "predeterminado" (máximo de 60 caracteres)moduleName (String): el nombre de su módulo. El valor predeterminado es "predeterminado" (máximo de 60 caracteres)scriptName (string) - el nombre de su script. El valor predeterminado es "predeterminado" (máximo de 60 caracteres)scriptId (String) - Identificador personalizado para su script. Si se proporciona el parámetro ScriptID, entonces ProjectName, ModulEname y ScriptName se establecen en el mismo valor que ScriptIDversions (Diccionario): un diccionario que contiene diferentes versiones del texto de su script, por las cuales la clave es el nombre de la versión, y su valor es el scriptText asociado. El nombre de la versión v0 está reservado como el scriptText predeterminado. El valor predeterminado es "{}"metadata (diccionario) - metadatos para su guión. Esto se limita a 2 kb de tamaño. 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 un script por id.
scriptId * [requerido] (string) - La identificación de script que desea recuperar. Por defecto, recupera la versión principal (V0).version (cadena): la versión de script que desea recuperar. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview : devuelva un script con el diccionario resaltado aplicado. Consulte Lexi para obtener más ejemplos de cómo usar la función de diccionario.
Parámetros:
scriptId * [requerido] (string) - la identificación de script que desea usar.voice * [requerido] (cadena): la voz que se usará para rendir el habla. Esto se requiere ya que la salida puede depender de la voz, el código del idioma o el proveedor.Ejemplo:
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() - Enumere todos los scripts disponibles en su organización. Este método admite el filtrado.
projectName (String): devuelva cualquier scripts con este proyecto Name.moduleName (String): devuelva cualquier scripts con este nombre de modulename, nota projectName también debe ser suministrado.scriptName (String): devuelva cualquier scripts con este scriptName, no se deben suministrar projectName y moduleName .scriptId (string): devuelva cualquier scripts con este scriptid.verbose (BOOL): enumere los scripts en modo verboso ( True de forma predeterminada). Establezca esto en False para devolver solo los campos projectName , moduleName , scriptName y scriptId . scripts = apiaudio . Script . list () delete() - elimina un script. Por defecto, esto eliminará todas las versiones del script.
scriptId * [requerido] (string) - la identificación del script que se eliminaráversion (cadena) - Eliminar una versión específica. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - Elimine múltiples scripts.
Parámetros:
projectName * [requerido] (cadena) - elimina todos los scripts dentro de este proyecto Name.moduleName (String): elimina todos los scripts dentro de este nombre de modulename, no se debe suministrar Note projectName .scriptName (String): elimina todos los scripts dentro de este scriptName, tenga en cuenta que se deben suministrar projectName y moduleName .Ejemplo:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() : recupere el texto aleatorio de una lista de categorías.
category (String): la categoría de la que se recupera el texto aleatorio. Si no se especifica ninguna categoría, la función es predeterminada a "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" , "Joke" , "MovieSynopsis" , "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.Directory Recurso directivoEnumera la estructura del directorio de sus scripts, es decir, ProjectName/Modulename/scriptname
Script. Los métodos directivos son:
list_projects() : enumera todos los proyectos.
Parámetros:
Ejemplo:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() : enumera todos los módulos dentro de un ProjectPrefix.
Parámetros:
projectPrefix * [requerido] - Listará módulos que comienzan con este ProjectPrefix.Ejemplo:
#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() : enumera todos los módulos dentro de un ProjectPrefix.
Parámetros:
projectPrefix * [requerido] - Enumerará los nombres de script que comienzan con este ProjectPrefix.modulePrefix * [requerido] - enumerará los nombres de script que comienzan con este módulo de módulo.Ejemplo:
#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"]SpeechEl habla le permite hacer texto a voz (TTS) con nuestra API usando todas las voces disponibles. Úselo para crear un archivo de audio de Speech desde su script.
Los métodos de habla son:
create() Envíe una solicitud de texto a voz a nuestro servicio de texto a voz.
Parámetros:
scriptId * [requerido] (string) - la ID de scriptversion (cadena): la versión del script que se producirá. El valor predeterminado es "".voice (String) - Nombre de voz. Consulte la lista de voces disponibles usando el recurso de voz. La voz predeterminada es "Joanna".speed (cadena) - Velocidad de voz. La velocidad predeterminada es 100.effect (cadena): pon un efecto divertido en tu voz. Puede probar los siguientes: dark_father , chewie , 88b , 2r2d ,silencePadding (entero): agregue un relleno de silencio a sus pistas de habla (en milisegundos). El valor predeterminado es 0 (sin relleno)audience (dict): especifique los valores de los parámetros en su script. Por ejemplo, si en el recurso de script tiene scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" , la audiencia debe ser: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Si no se proporciona, se creará la pista de respaldo.sync (boolean): permita la creación de sincronización o del habla asíncrata. El valor predeterminado es True . Si sync=False , Speech Create Call devolverá un mensaje de éxito cuando se active la creación del discurso. Para recuperar los archivos, verifique el método Speech.retrieve() .sections (DICT): especifique los parámetros para secciones específicas en el script. La clave es un nombre de sección, y el valor es otro diccionario con la configuración de la sección (los parámetros válidos son: voz, velocidad, efecto, silencio_padding). Si no se encuentra una sección aquí, la sección heredará automáticamente los valores de voz, velocidad, efecto y silencio_padding que definió anteriormente (o los predeterminados si no los proporciona). Consulte un ejemplo a continuación con 2 secciones y diferentes parámetros de configuración que se utilizan.useDictionary (bool): aplica el diccionario de pronunciación al texto del script.useTextNormalizer (BOOL): aplica la normalización del texto, lo que puede ayudar a resolver errores gramaticales con pronunciaciones de TTS, por ejemplo 11:12 UHR -> 11 UHR 12. Nota - Esto solo funciona para voces alemanas en la actualidad. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Ejemplo simple:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Ejemplo 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 las URL del archivo de habla.
Parámetros:
scriptId * [requerido] (string) - La identificación de script que desea recuperar.version (cadena): la versión del script que se recuperará. El valor predeterminado es "".section (cadena) - El nombre de la sección de script que desea recuperar. Si no se proporciona, se devolverán todas las secciones de script.parameters (DICT) - DICT que contiene los parámetros de personalización de su script. Si no se proporciona, se recuperará la pista de respaldo. Este campo depende de los parámetros que usó en la sección de recursos de su script. Para recuperar un conjunto específico de parámetros, debe crear el discurso con el mismo conjunto de parámetros.Ejemplo:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() Descargar los archivos de voz en su carpeta preferida.
Parámetros:
scriptId * [requerido] (string) - la identificación de script que desea descargarversion (cadena): la versión del script que se descargará. El valor predeterminado es "".section (cadena) - El nombre de la sección de script que desea recuperar. Si no se proporciona, se devolverán todas las secciones de script.parameters (DICT) - DICT que contiene los parámetros de personalización de su script. Si no se proporciona, se recuperará la pista de respaldo. Este campo depende de los parámetros que usó en la sección de recursos de su script. Para recuperar un conjunto específico de parámetros, debe crear el discurso con el mismo conjunto de parámetros.destination (cadena) - la ruta de destino de la carpeta. El valor predeterminado es "." (carpeta actual)Ejemplo:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceVoice le permite recuperar una lista de las voces disponibles de nuestra API.
Los métodos de voz son:
list() Enumere todas las voces disponibles en nuestra API. Los parámetros son todos opcionales y se pueden usar en combinación para obtener la voz perfecta para su USECase.
provider (String) - Pruebe uno de: Google, Polly, Azure, MSNR (Afloritmic), IBM, Yandex, Retro (Aflorithmic), Vocalid, SE SEMElanguage (cadena) - Por ejemplo, inglés, español, francés, alemán, etc.accent (cadena) - Por ejemplo, American, Británico, Neutral, Portugués/Brasileño, Americano Soft, mexicano, australianogender (cuerda) - intente con uno de: hombre, mujerageBracket (cadena) - intente con uno de: adulto, niño, seniortags (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 Punto, conocedor, enfocado, informal de noticias, lector de noticias, entrevistador, confiable, amigable, acogedor, bueno para entregar información, ligeramente amigableindustryExamples (cadena): intente con uno o más (separado por comas) de: aptitud física, negocio, comercial, comercial, moda, viajes, audiolibros, bienes raíces, fe, industria de la salud, comercial, realista, entretenimiento para niños, juegos, servicio al cliente, educación, narración de cuentos, entretenimiento, audiolibros de educacióntimePerformance (String): el rendimiento del tiempo de la voz. Hay tres categorías: lento, medio, rápido.sectionCharacterLimit (String): la cantidad máxima de caracteres que la voz puede procesar por sección de script. Todos los proveedores apoyados con la excepción de Vocalid tienen el límite de 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Este método le permite ver por qué atributos puede filtrar las voces, junto con los valores permitidos para cada atributo. Más tarde, puede usar estos parámetros y valores para filtrar las voces que desea enumerar.
Parámetros:
Ejemplo:
parameters = apiaudio . Voice . list_parameters ()SoundSound le permite diseñar su propia plantilla de sonido a partir de un script y una pista de fondo. Para obtener una plantilla/proyecto de sonido, asegúrese de solicitar el discurso para su recurso de script primero.
Los métodos de sonido son:
list() enumere todas las plantillas de sonido disponibles en nuestra API. Los parámetros son todos opcionales y se pueden usar en combinación para obtener el sonido perfecto para su USECase.
industryExamples (String): intente con uno o más (separado por comas) de: noticias, viajes, negocios, relajación, estado físico, relajación, historias de niñoscontents (cadena): intente con uno o más (separado por comas) de: introducción, principal, outro, efecto1, efecto2, outro principal, droid_main, Chewie_Main, Effect3, ambiente, solo efectosgenre (cadena): intente con uno de: Electrónico, acústico, atmosférico, abstracto, rocatempo (cadena) - intente con uno de: medio, arriba, abajo, uptempotags (cadena): intente con uno o más (separado por comas) de: intenso, mínimo, reflexivo, melódico, feliz, nostálgico, enfoque, enérgico, edificante, activo, relajado, ambiente, misterioso, positivo, informativo, entrenamiento, trabajo, meditación, viaje, silencio completo, silencio completo, silencio completo sound_templates = apiaudio . Sound . list () list_parameters() Este método le permite ver por qué atributos puede filtrar las plantillas de sonido, junto con los valores permitidos para cada atributo. Más tarde, puede usar estos parámetros y valores para filtrar las plantillas de sonido que desea enumerar.
Parámetros:
Ejemplo:
parameters = apiaudio . Sound . list_parameters ()MasteringMastering le permite crear y recuperar un archivo de audio masterizado de su script. Una versión masterizada contiene el discurso del guión, una pista de fondo, parámetros personalizados para su audiencia y un proceso de maestría para mejorar la calidad de audio de toda la pista. Para obtener un archivo de audio masterizado, asegúrese de solicitar primero el discurso para su recurso de script.
Los métodos de dominio son:
create() Cree una versión masterizada de su script y elija el formato de audio.
Parámetros:
scriptId * [requerido] (string) - La identificación de recursos de script.version (cadena): la versión del script que se producirá. El valor predeterminado es "".soundTemplate (String): el nombre de la plantilla de sonido. Para la lista de plantillas de sonido disponibles, verifique apiaudio.Sound.list_sound_templates() Llame.public (Boolean) - Bandera booleana que permite almacenar el archivo masterizado en una carpeta pública S3. El valor predeterminado es False . Advertencia: esto hará que sus archivos masterizados sean públicos para cualquier persona en Internet. Use esto bajo su propio riesgo.vast (boolean) - Bandera booleana que permite crear un amplio archivo de su archivo masterizado. La vast bandera solo funciona si public es True . El valor predeterminado es False .endFormat (List) - Lista de formatos de audio que se producirán. Los formatos válidos son: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - Forzar la longitud de audio de la pista masterizada (en segundos).audience (dict) - diccionario que contiene los parámetros de personalización. Este parámetro depende de la cantidad de parámetros que usó en su recurso de script. En el ejemplo de documentación de script anterior, utilizamos 2 parámetros: username y location , y en el siguiente ejemplo a continuación queremos producir el script para el nombre de usuario salih con ubicación Barcelona . Si no se proporciona audiencia, se creará la pista de respaldo.mediaFiles (Lista): lista de dicts que contienen los archivos multimedia. Este parámetro depende de las etiquetas de archivo multimedia utilizadas en el recurso de script y los archivos multimedia que tiene en su cuenta. Por ejemplo, si el script contiene <<media::myrecording>> Plus <<media::mysong>> , y desea adjuntar MyRecording a MediaID = "12345", y MySong a MediaID = "67890" entonces mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (Float) - Punto flotante Varible que le permite recortar el volumen de archivos medianos cargados (en DB). Este atributo tiene un rango válido de -12 a 12 dB y se aplica a todos los archivos multimedia incluidos en una sola llamada de maestría. La protección del recorte no se proporciona, por lo que solo realiza ajustes incrementales.connectors (Lista): lista de dicts que especifican la configuración para una conexión particular de terceros. Para las pautas en el contexto de la aplicación de terceros compatible, consulte la documentación de los conectores.masteringPreset (String): el preajuste de masterización para usar, esto permite características como compresión lateral 'es decir, ducking' ver apiaudio.Mastering.list_presets() para una lista de presets y sus descripciones.share (Boolean): si desea tener un enlace compartible creado con su archivo de audio, use este indicador. Si pone share: True la respuesta se devolverá el parámetro shareUrl . (Nota: si coloca esta bandera, sus archivos privados se convertirán en archivos públicos).Ejemplo:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() crea una solicitud de maestría basada únicamente en archivos multimedia cargados. Los archivos multimedia deberán cargarse antes de llamar a esta función. Ver medios.
Parámetros:
timeline * [requerido] (lista) - el objeto de línea de tiempo. Un objeto de línea de tiempo es una lista de diccionarios, por el cual cada uno representa una pista de archivos de audio. Cada pista debe tener los siguientes dos files de teclas y contentType .
files * [requerido] (lista) Los archivos son una lista de diccionarios, mediante el cual cada entrada debe tener las siguientes 3 claves, mediaId , startAt y endAt
files * [requerido] (str) el medioid del archivo que se ha cargado.startAt * [requerido] (Float) El momento en que este archivo de medios debe comenzar en segundos.endAt * [requerido] (Float) El momento en que este archivo de medios debe terminar en segundos. contentType * [requerido] (cadena): el tipo de contenido que contiene esta pista, debe ser sound o speech
endFormat (List) - Lista de formatos de audio que se producirán. Los formatos válidos son: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String): el preajuste de masterización para usar, esto permite características como compresión lateral 'es decir, ducking' ver apiaudio.Mastering.list_presets() para una lista de presets y sus descripciones.
Ejemplo:
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() Recupera las URL de archivo masterizadas.
Parámetros:
scriptId * [requerido] (string) - La identificación de recursos de script.versions (String): la versión del script que se recuperará. El valor predeterminado es "".parameters (DICT) - Diccionario que contiene el elemento de audiencia que desea recuperar. Si no se proporcionan parámetros, se recuperará la pista de retroceso.public (booleano) - Bandera booleana que permite recuperar el archivo masterizado del cubo público. Use esto si desea recuperar un archivo masterizado creado usando public=True . El valor predeterminado es False .vast (Boolean) - Bandera booleana que permite recuperar el vasto archivo de su archivo masterizado. La vast bandera solo funciona si public es True . El valor predeterminado es False .endFormat (List) - Lista de formatos de audio a recuperar. Los formatos válidos son: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Ejemplo:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() Descargar los archivos masterizados en su carpeta preferida.
Parámetros:
scriptId * [requerido] (string) - La identificación de recursos de script.version (cadena): la versión del script que se descargará. El valor predeterminado es "".parameters (DICT) - Diccionario que contiene el elemento de audiencia que desea recuperar. Si no se proporcionan parámetros, se descargará la pista de retroceso.destination (cadena) - la ruta de destino de la carpeta. El valor predeterminado es "." (carpeta actual)public (booleano) - Bandera booleana que permite recuperar el archivo masterizado del cubo público. Use esto si desea recuperar un archivo masterizado creado usando public=True . El valor predeterminado es False .vast (Boolean) - Bandera booleana que permite recuperar el vasto archivo de su archivo masterizado. La vast bandera solo funciona si public es True . El valor predeterminado es False .Ejemplo:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() enumere los preajustes de masterización disponibles.
Ejemplo:
presets = apiaudio . Mastering . list_presets ()
print ( presets )MediaLos medios le permiten recuperar todos los archivos disponibles en API.Audio para su organización.
Los métodos de medios son:
upload() : cargar archivos en nuestras bases de datos.
Parámetros:
file_path * [requerido] (string) - ruta relativa al archivo de audio.tags (String) - Etiquetas separadas por comas que desea agregar a su archivo cargado. Esto facilitará la recuperación.Ejemplo:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Enumere todos los archivos dentro de una org.
Parámetros:
mediaId (String): si se pasa, solo devolverá ese archivo, o un objeto vacío si no existe.tags (String) - Etiquetas separadas por comas que desea agregar a su archivo cargado. Si se pasa, devolverá todos los archivos que al menos contienen esas etiquetas.downloadUrl (boolean): si es verdadero, se agrega una URL presentes a cada elemento en la matriz. Esto es lento para una gran cantidad de archivos (alrededor de 1s cada uno).public (Boolean): si es verdadero, los archivos de medios enumerados serán los archivos de medios públicos proporcionados por API.Audio. El valor predeterminado es falso.Ejemplos:
# 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() Esto devuelve una lista con todas las etiquetas definidas por el usuario únicas.
Ejemplo:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() : este método devuelve una URL presignada para descargar un archivo de audio específico
mediaId * [requerido] (cadena): ID de medios para que se descargue el archivoEjemplo
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - Este método descarga un archivo de audio específico
mediaId * [requerido] (cadena): ID de medios para que se descargue el archivodestination (cadena): ruta al directorio donde se descargará el archivo. El valor predeterminado es "."Ejemplo
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTSSynctts le permite hacer texto a voz sincrónico (TTS) con nuestra API usando todas las voces disponibles. Úselo para crear un archivo de audio del habla desde un texto y un nombre de voz. La respuesta contiene bytes de onda listos para ser jugados o escritos en un archivo.
Los métodos Synctts son:
create() Cree un archivo de discurso TTS.
Parámetros:
voice * [requerido] (cadena) - el nombre de voz. Consulte la lista de voces disponibles usando el recurso de voz.text * [requerido] (cadena) - el texto con el que desea hacer TTS. El límite es de 800 caracteres para archivos de onda.metadata [opcional] ("completo" o "ninguno") - El nivel de metadatos que desea. Devuelve listas de fonemas (solo disponibles para algunas voces msnr)Ejemplo:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheBirdCache es un servicio de almacenamiento en caché proporcionado por API.Audio que proporciona la capa de almacenamiento en caché para el cliente almacenando datos en los servidores API.Audio para uso futuro. Esto le permite recuperar sus archivos de habla sobre la marcha.
Los métodos de pájaros son:
create() Cree un archivo de discurso TTS.
Parámetros:
type * [requerido] (cadena) - Tipo del evento. Los tipos compatibles son mastering y speech .text * [requerido] (cadena) - El texto con el que desea hacer el habla/masterizar. Vea el ejemplo de los parámetros de personalización.voice * [requerido] (cadena) - La voz para la creación del habla.audience * [Opcional] (DICT) - El objeto de par de clave para los parámetros de personalización. Vea el ejemplo a continuación.soundTemplate [Opcional] (String): la plantilla de sonido para dominar la creación. Solo se necesita cuando el tipo es dominar.Ejemplo:
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 DictionaryA menudo, cuando se trabaja con TTS, los modelos pueden no pronunciar con precisión palabras específicas, por ejemplo, las marcas, los nombres y las ubicaciones son comúnmente mal interpretados. Como primer intento de arreglar esto, hemos introducido nuestra bandera Lexi, que funciona de manera similar a SSML. Por ejemplo, agregar <! Peadar> en lugar de Peadar (quien es uno de nuestros fundadores) a su script hará que el modelo produzca una pronunciación alternativa de este nombre. Esto es particularmente útil en los casos en que las palabras pueden tener múltiples pronunciaciones, por ejemplo, las ciudades 'leer' y 'agradable'. En este caso, colocar <! Lectura> y <! Nice> asegurará que estos se pronuncien correctamente, dado el script:
" The city of <!nice> is a really nice place in the south of france."
Si esta solución no funciona para usted, puede utilizar nuestra función LEXI personalizada (auto-servicio).
Esto se puede usar para lograr una de dos cosas, corregir palabras individuales o expandir acrónimos. Por ejemplo, puede reemplazar todas las ocurrencias de la palabra afloránica con "AF bajo rítmico" o ocurrencias de la palabra 'BMW' con "Bayerische Motoren Werke". Las palabras de reemplazo se pueden suministrar como texto plano o una fonemización de IPA.
Los métodos de diccionario de prononciación son:
list() enumera los diccionarios disponibles públicamente y sus palabras
Parámetros:
noneEjemplo:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() enumera los diccionarios personalizados y sus respectivas palabras
Parámetros:
noneEjemplo:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word agrega una nueva palabra a un diccionario personalizado.
lang [requerido] (cadena) - Language Family, por en o es .Diccionario - Use global para registrar una palabra a nivel mundial.word [requerido] (cadena): la palabra que se reemplazaráreplacement [requerido] (cadena) - el token de reemplazo. Puede ser una cadena simple o un token IPA.contentType [Opcional] (String): el tipo de contenido del reemplazo suministrado, puede ser basic (predeterminado) o ipa para reemplazos fonéticos.specialization [Opcional] (String): de forma predeterminada, el reemplazo suministrado se aplicará independientemente del código de voz, el código de idioma o el proveedor. Sin embargo, se pueden suministrar casos de borde, estos pueden ser válidos; Nombre del proveedor, código de idioma (es decir, EN-GB) o nombre de voz. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Para cada idioma, solo se permite una sola entrada de palabras. Sin embargo, cada palabra puede tener múltiples specializations . Cuando se registra una palabra por primera vez, siempre se crea una specialization default , lo que coincidirá con lo que se pasa. Las llamadas posteriores con diferentes especializaciones solo actualizarán la especialización dada. El reapaciado exacto que se utilizará está determinado por el siguiente orden de preferencia:
voice name > language dialect > provider name > default
Por ejemplo, un reemplazo especificado para el nombre de voz sara será elegido sobre un reemplazo especificado para el proveedor azure .
list_custom_words() enumera todas las palabras contenidas en un diccionario personalizado.
Parámetros:
lang [requerido] (cadena) - Familia de idiomas, por en o es - Use palabras agnósticas global para enumerar.
Ejemplo:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) El efecto de aplicar el diccionario de pronunciación se puede ver con el método script.preview() . Consulte la documentación del script para obtener más detalles.
Ejemplo:
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 )Respuesta:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } En este ejemplo, Bristol será fonemizado para asegurarse de que se pronuncie correctamente, pero como Bude no está en nuestro Dicciones A, queda como está. Los tokens de IPA exactos para las palabras en nuestras diccionas internas están obscucados.
Connector Recursos utilizados para monitorear las terceras integraciones Paty. Los resultados finales del recurso de maestría se pueden distribuir en aplicaciones externas a través del campo connectors . Ver documentación de conectores. Lista de aplicaciones actualmente compatibles:
Métodos disponibles:
retrieve() Después de registrar un conector en el API.Console, use este método para verificar si una conexión fue exitosa utilizando las credenciales proporcionadas.
Parámetros:
name * [requerido] (cadena) - El nombre del conector especificado en la consola.Ejemplo:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Verifique el estado de la conexión proporcionando connectionId devuelto en una respuesta de maestría.
Parámetros:
connection_id * [requerido] (string) - El ConnectionId devuelto mediante el recurso de maestría.Ejemplo:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)OrchestratorEl Orchestrator se utiliza para que trabajar con una gama de servicios de audio sea tan fácil como enviar una sola solicitud de API. Cada ruta aquí está cuidadosamente configurada para producir activos de audio de alta calidad y fácil de acceder.
Los métodos del orquestador son:
create_audio() crea una solicitud de habla TTS simple y le agrega una plantilla de sonido a través de la maestría.
Parámetros:
scriptText * [requerido] (str) - texto para sintetizar (TTS).soundTemplate (STR) - Plantilla de sonido para usar.voice * [requerido] (str) - nombre de voz para usar. create_three_sections() crea una solicitud de habla TTS con 3 secciones y le agrega una plantilla de sonido a través de la maestría.
Parámetros:
introText * [requerido] (str) - texto para sintetizar en la sección de introducción.mainText * [requerido] (str) - texto para sintetizar en la sección principal.outroText * [requerido] (str) - texto para sintetizar en la sección de outro.soundTemplate (STR) - Plantilla de sonido para usar.voice * [requerido] (str) - nombre de voz para usar. media_with_sound() combina un archivo multimedia preexistente (es decir, voz pregrabada) con una plantilla de sonido
Parámetros:
mediaId * [requerido] (Str) - MediaID del archivo de medios para usar como entrada.soundTemplate * [requerido] (str) - plantilla de sonido para usar.Este SDK proporciona una manera fácil de verificar los encabezados de seguridad de las llamadas de Apiaudio Webhook. Es muy recomendable que verifique los encabezados para proteger su servidor de cualquier ataque malicioso.
El método es:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Devolverá verdadero si el encabezado es válido, de lo contrario aumentará un error. Los parámetros para pasar son; payload es el objeto del cuerpo enviado por Apiaudio, sig_header es X-Aflr-Secret en los encabezados de solicitud enviados por Apiaudio, siendo secret su secreto webhook (puede obtenerlo en la consola Apiaudio) y tolerance es la tolerancia en segundos para las verificaciones de los cabezas, que por defecto a 300 segundos.
Por defecto, las advertencias emitidas por la API se registran en la salida de la consola. Además, algunos comportamientos se registran en el nivel informativo (p. Ej., "En progreso ..." indicadores durante tiempos de procesamiento más largos). El nivel de registro se puede controlar eligiendo desde los niveles estándar en la biblioteca logging de Python.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Hay un gancho anterior a Commit que se ejecutará antes de cometer un archivo. Esto es para mantener altos los estándares del código. Para habilitarlo, debes ejecutar make . Luego configurará el gancho previo al compromiso para GIT. ¡Eso es todo! Ahora, cada vez antes de comprometerse, se ejecutará contarle sobre los estándares.
Si usa VScode para cometer archivos, puede toparse con pre-commit command not found . Eso está bien, simplemente ejecute brew install pre-commit o su Administrador de paquetes favoritos de la lista aquí.
Si se topa con your pip version is old , simplemente ignórelo y use el terminal.
Si hay un problema y tiene prisa, puede agregar --no-verify al final del comando de confirmación, se omitirá los ganchos previos al comercio, por ejemplo git commit -m 'your commit message' --no-verify
Este proyecto tiene licencia bajo los términos de la licencia MIT.