Apidio est le SDK officiel API.Audio Python 3. Ce SDK offre un accès facile à l'API.Audio API pour les applications écrites en Python.
Ce référentiel est activement maintenu par des laboratoires aflorithmiques. Pour des exemples, des recettes et une référence API, voir les documents API.Audio. N'hésitez pas à contacter les questions ou les commentaires!
Vous pouvez consulter ici notre modification mise à jour.
Commencez avec nos recettes QuickStart.
Vous n'avez pas besoin de ce code source, sauf si vous souhaitez le modifier. Si vous souhaitez utiliser le package, exécutez simplement:
pip install apiaudio -U
# or
pip3 install apiaudio -UInstaller à partir de la source avec:
python setup.py install
# or
python3 setup.py installPython 3.6+
Créer un fichier hello.py
touch hello . py Cette bibliothèque doit être configurée avec la touche API de votre compte qui est disponible dans votre console API.Audio. Importez le package Apiodio et définissez apiaudio.api_key avec la touche API que vous avez de la console:
import apiaudio
apiaudio . api_key = "your-key"Créons notre premier actif audio.
✍️ Créer un nouveau script, notre scriptText sera le texte qui sera plus tard synthétisé.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Rendez le ScriptText créé à l'étape précédente. Permet d'utiliser la voix Aria.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Rejoignons maintenant le discours que nous venons de créer avec un modèle sonore.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Téléchargez l'actif audio final dans votre répertoire de travail actuel:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Facile, non? ? Ceci est le dernier fichier 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 )Maintenant, exécutons le code:
python hello.py
# or
python3 hello.pyUne fois cela terminé, trouvez l'actif audio téléchargé et jouez-le!
import apiaudio La bibliothèque doit être configurée avec la clé secrète de votre compte qui est disponible dans votre tableau de bord aflorithmique. Réglez apiaudio.api_key avec la touche API que vous avez obtenue du tableau de bord:
apiaudio . api_key = "your-key" Vous pouvez également s'authentifier à l'aide de la variable d'environnement apiaudio_key et le SDK Apiodio l'utilisera automatiquement. Pour configurer, ouvrez le terminal et le type:
export apiaudio_key= < your-key > Si vous fournissez à la fois une variable d'environnement et une valeur d'authentification apiaudio.api_key , la valeur apiaudio.api_key sera utilisée à la place.
Afin de contrôler une organisation d'enfants, veuillez utiliser la méthode suivante pour supposer cet ID d'organisation.
Définissez votre ID d'organisation pour enfants pour None s'arrêter en supposant une organisation. Les appels ultérieurs à l'API utiliseront votre propre ID d'organisation.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )Voir la ressource de l'organisation pour plus d'opérations que vous pouvez effectuer sur votre organisation.
Il existe deux approches pour utiliser les ressources.
L'approche recommandée consiste à importer toutes les ressources directement à partir d'Apiodio:
import apiaudio
apiaudio . Script . create () Alternativement, vous pouvez importer les classes de ressources que vous souhaitez d'abord utiliser, puis utiliser les méthodes de ressources. Par exemple, pour utiliser Script , nous pourrions faire:
from apiaudio import Script
Script . create () La même logique s'applique aux autres ressources ( Speech , Voice , Sound ...)
OrganizationLa ressource / classe de l'organisation vous permet d'effectuer une récupération de données sur votre organisation et vos organisations d'enfants.
Les méthodes d'organisation sont:
get_org_data() - Obtenez des données des organisations, y compris Orgid, Orgname, etc. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Répertoriez vos organisations d'enfants. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Obtenez votre clé API, votre URL Webhook et le secret WebHook. secrets = apiaudio . Organization . get_secrets ()ScriptLa ressource / classe de script vous permet de créer, de récupérer et de répertorier les scripts. En savoir plus sur les scripts ici.
Les méthodes de script sont:
create() - Créer un nouveau script.
scriptText * [requis] (String) - Texte pour votre script. Un script peut contenir plusieurs sections et balises SSML. En savoir plus sur les détails de ScriptText iciprojectName (String) - le nom de votre projet. La valeur par défaut est "par défaut" (MAX 60 caractères)moduleName (String) - le nom de votre module. La valeur par défaut est "par défaut" (MAX 60 caractères)scriptName (String) - le nom de votre script. La valeur par défaut est "par défaut" (MAX 60 caractères)scriptId (String) - Identifiant personnalisé pour votre script. Si le paramètre scriptid est fourni, alors projectName, modulename et scriptname sont définis sur la même valeur que Scriptidversions (Dictionary) - Un dictionnaire contenant différentes versions de votre texte de script, où la clé est le nom de la version, et sa valeur est le scriptText associé. Le nom de la version v0 est réservé comme le scriptText par défaut. La valeur par défaut est "{}"metadata (dictionnaire) - métadonnées pour votre script. Ceci est limité à 2 Ko de taille. 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() - Récupérer un script par id.
scriptId * [requis] (String) - L'ID de script que vous souhaitez récupérer. Par défaut récupère la version principale (V0).version (String) - La version du script que vous souhaitez récupérer. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - Renvoyez un script avec le dictionnaire en surbrillance appliquée. Voir Lexi pour plus d'exemples d'utilisation de la fonctionnalité du dictionnaire.
Paramètres:
scriptId * [requis] (String) - L'ID de script que vous souhaitez utiliser.voice * [requise] (String) - La voix qui sera utilisée pour rendre la parole. Ceci est requis car la sortie peut dépendre de la voix, du code linguistique ou du fournisseur.Exemple:
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 tous les scripts disponibles dans votre organisation. Cette méthode prend en charge le filtrage.
projectName (String) - Renvoie tous les scripts avec ce nom ProjectN.moduleName (String) - Renvoie tous les scripts avec ce nom de module, note projectName doit également être fourni.scriptName (String) - Renvoie tous les scripts avec ce nom de script, pas à la fois projectName et moduleName doit être fourni.scriptId (String) - Renvoie tous les scripts avec ce scriptide.verbose (bool) - Liste des scripts en mode verbeux ( True par défaut). Définissez ceci sur False pour retourner uniquement les champs projectName , moduleName , scriptName et scriptId . scripts = apiaudio . Script . list () delete() - Supprime un script. Par défaut, cela supprimera toutes les versions du script.
scriptId * [requis] (String) - L'ID du script à supprimerversion (String) - Supprimer une version spécifique. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - Supprimer plusieurs scripts.
Paramètres:
projectName * [requis] (String) - supprime tous les scripts dans ce nom de projet.moduleName (String) - Supprime tous les scripts dans ce moduleName, Remarque projectName doit également être fourni.scriptName (String) - supprime tous les scripts dans ce nom de script, notez que projectName et moduleName doivent être fournis.Exemple:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - Récupérer le texte aléatoire à partir d'une liste de catégories.
category (chaîne) - La catégorie à partir de laquelle le texte aléatoire est récupéré. Si aucune catégorie n'est spécifiée, la fonction est par défaut "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" , "Joke" , " "MovieSynopsis" ", " "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.Directory ResourceRépertorie la structure du répertoire de vos scripts, c'est-à-dire ProjectName / Modulename / ScriptName
Script.Directory Les méthodes sont:
list_projects() - répertorie tous les projets.
Paramètres:
Exemple:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - répertorie tous les modules dans un projetPrefix.
Paramètres:
projectPrefix * [requis] - répertorie les modules à partir de ce projetPrefix.Exemple:
#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() - répertorie tous les modules dans un projectPrefix.
Paramètres:
projectPrefix * [requis] - Listera ScriptNames en commençant par ce projetPrefix.modulePrefix * [requis] - Listera ScriptNames en commençant par ce moduleprefix.Exemple:
#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"]SpeechLa parole vous permet de faire du texte vocable (TTS) avec notre API en utilisant toutes les voix disponibles. Utilisez-le pour créer un fichier audio discours à partir de votre script.
Les méthodes de discours sont:
create() Envoyez une demande de texte vocale à notre service de texte vocal.
Paramètres:
scriptId * [requis] (String) - L'ID de scriptversion (String) - La version du script à produire. La valeur par défaut est "".voice (String) - Nom de la voix. Voir la liste des voix disponibles à l'aide de la ressource vocale. La voix par défaut est "Joanna".speed (chaîne) - vitesse vocale. La vitesse par défaut est de 100.effect (String) - Mettez un effet drôle dans votre voix. Vous pouvez essayer les suivants: dark_father , chewie , 88b , 2r2d ,silencePadding (entier) - Ajoutez un rembourrage de silence à vos pistes de discours (en millisecondes). La valeur par défaut est 0 (pas de rembourrage)audience (Dict) - Spécifiez les valeurs des paramètres de votre script. Par exemple, si dans la ressource de script, vous avez scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" , le public devrait être: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Si ce n'est pas fourni, la piste de secours sera créée.sync (booléen) - Autoriser la création de discours synchronisée ou asynchrone. La valeur par défaut est True . Si sync=False , Speech Create Call renvoie un message de réussite lorsque la création de la parole est déclenchée. Pour récupérer les fichiers, vérifiez la méthode Speech.retrieve() .sections (Dict) - Spécifiez les paramètres pour des sections spécifiques dans le script. La clé est un nom de section, et la valeur est un autre dictionnaire avec la configuration de la section (les paramètres valides sont: voix, vitesse, effet, silence_padding). Si une section n'est pas trouvée ici, la section héritera automatiquement les valeurs de voix, de vitesse, d'effet et de silence_padding que vous avez définies ci-dessus (ou les par défaut si vous ne les fournissez pas). Voir un exemple ci-dessous avec 2 sections et différents paramètres de configuration utilisés.useDictionary (bool) - applique le dictionnaire de prononciation au texte du script.useTextNormalizer (bool) - applique la normalisation du texte, qui peut aider à résoudre les erreurs grammaticales avec les prononciations TTS, par exemple 11:12 UHR -> 11 UHR 12. Remarque - Cela ne fonctionne que pour les voix allemandes à l'heure actuelle. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Exemple simple:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Exemple complet:
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() Récupérer les URL du fichier de parole.
Paramètres:
scriptId * [requis] (String) - L'ID de script que vous souhaitez récupérer.version (String) - La version du script à récupérer. La valeur par défaut est "".section (chaîne) - Le nom de la section de script que vous souhaitez récupérer. S'il n'est pas fourni, toutes les sections de script seront renvoyées.parameters (Dict) - Dict contenant les paramètres de personnalisation de votre script. Si ce n'est pas fourni, la piste de secours sera récupérée. Ce champ dépend des paramètres que vous avez utilisés dans la section des ressources de votre script. Afin de récupérer un ensemble spécifique de paramètres, vous devez créer le discours avec le même ensemble de paramètres.Exemple:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() Téléchargez les fichiers vocaux dans votre dossier préféré.
Paramètres:
scriptId * [requis] (String) - L'ID de script que vous souhaitez téléchargerversion (String) - La version du script à télécharger. La valeur par défaut est "".section (chaîne) - Le nom de la section de script que vous souhaitez récupérer. S'il n'est pas fourni, toutes les sections de script seront renvoyées.parameters (Dict) - Dict contenant les paramètres de personnalisation de votre script. Si ce n'est pas fourni, la piste de secours sera récupérée. Ce champ dépend des paramètres que vous avez utilisés dans la section des ressources de votre script. Afin de récupérer un ensemble spécifique de paramètres, vous devez créer le discours avec le même ensemble de paramètres.destination (chaîne) - le chemin de destination du dossier. La valeur par défaut est "." (dossier actuel)Exemple:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceLa voix vous permet de récupérer une liste des voix disponibles à partir de notre API.
Les méthodes vocales sont:
list() Liste toutes les voix disponibles dans notre API. Les paramètres sont tous facultatifs et peuvent être utilisés en combinaison pour obtenir la voix parfaite pour votre usecase.
provider (String) - Essayez l'un de: Google, Polly, Azure, MSNR (Aflorithmic), Ibm, Yandex, rétro (aflorithmique), Vocalid, ressemblelanguage (chaîne) - par exemple l'anglais, l'espagnol, le français, l'allemand, etc.accent (String) - par exemple américain, britannique, neutre, portugais / brésilien, doux américain, mexicain, australiengender (chaîne) - Essayez avec l'un des: hommes, femmesageBracket (String) - Essayez avec l'un des: adulte, enfant, seniortags (chaîne) - Essayez avec un ou plusieurs (séparés par des virgules) de: stable, confiant, équilibré, informatif, sérieux, pédagogique, lent, narration, calme, clair, profond, formel, triste, mince, rapide, optimiste, amusant, énergique, tendu, très rapide bien informé, concentré, Newscastery, lecteur de journaux, intervieweur, fiable, amical, accueillant, bon pour distribuer des informations, légèrement amicaleindustryExamples (String) - Essayez avec un ou plusieurs (séparés par des virgules) de: fitness, affaires, commercial, mode, voyage, livre audio, immobilier, foi, industrie de la santé, comercial, réel, divertissement pour enfants, jeux clienttimePerformance (String) - La performance temporelle de la voix. Il y a trois catégories: lent, moyen, rapide.sectionCharacterLimit (String) - La quantité maximale de caractères que la voix peut traiter par section de script. Tous les fournisseurs pris en charge à l'exception de Vocalid ont la limite de 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Cette méthode vous permet de voir quels attributs vous pouvez filtrer les voix, ainsi que les valeurs autorisées pour chaque attribut. Vous pouvez ensuite utiliser ces paramètres et valeurs pour filtrer les voix que vous souhaitez énumérer.
Paramètres:
Exemple:
parameters = apiaudio . Voice . list_parameters ()SoundLe son vous permet de concevoir votre propre modèle de son à partir d'un script et une piste d'arrière-plan. Afin d'obtenir un modèle / projet sonore, assurez-vous d'abord de demander un discours pour votre ressource de script.
Les méthodes sonores sont:
list() Liste tous les modèles sonores disponibles dans notre API. Les paramètres sont tous facultatifs et peuvent être utilisés en combinaison pour obtenir le son parfait pour votre usecase.
industryExamples (String) - Essayez avec un ou plusieurs (séparés par des virgules) de: News, Travel, Business, Relaxation, Fitness, Relax, Children Storiescontents (String) - Essayez avec un ou plusieurs (séparés par les virgules) de: Intro, Main, outro, Effect1, Effect2, Main outro, Droid_Main, Chewie_Main, Effect3, Ambience, Only Effetsgenre (String) - Essayez avec l'un des: électroniques, acoustiques, atmosphériques, abstraits, rocktempo (String) - Essayez avec l'un de: Mid, Up, Down, Uptempotags (String) - Essayez avec un ou plusieurs (séparés par des virgules) de: intense, minimal, réfléchissant, mélodique, heureux, nostalgique, focus, énergique, édifiant, actif, détendu, ambiance, mystérieux, positif, informatif, entraînement, travail, méditation, voyage, plein silence sound_templates = apiaudio . Sound . list () list_parameters() Cette méthode vous permet de voir quels attributs vous pouvez filtrer les modèles de son, ainsi que les valeurs autorisées pour chaque attribut. Vous pouvez ensuite utiliser ces paramètres et valeurs pour filtrer les modèles sonores que vous souhaitez énumérer.
Paramètres:
Exemple:
parameters = apiaudio . Sound . list_parameters ()Mastering ResourceLa maîtrise vous permet de créer et de récupérer un fichier audio maîtrisé de votre script. Une version maîtrisée contient la parole du script, une piste d'arrière-plan, des paramètres personnalisés pour votre public et un processus de mastering pour améliorer la qualité audio de toute la piste. Afin d'obtenir un fichier audio maîtrisé, assurez-vous d'abord de demander un discours pour votre ressource de script.
Les méthodes de maîtrise sont:
create() Créez une version maîtrisée de votre script et choisissez le format audio.
Paramètres:
scriptId * [requis] (String) - L'ID de ressource de script.version (String) - La version du script à produire. La valeur par défaut est "".soundTemplate (String) - le nom du modèle sonore. Pour la liste des modèles sonores disponibles, consultez l'appel apiaudio.Sound.list_sound_templates() .public (booléen) - drapeau booléen qui permet de stocker le fichier maîtrisé dans un dossier public S3. La valeur par défaut est False . AVERTISSEMENT - Cela entraînera que vos fichiers maîtrisés seront publics à quiconque sur Internet. Utilisez-le à vos risques et périls.vast (booléen) - Flag booléen qui permet de créer un vaste fichier de votre fichier maîtrisé. Le vast drapeau ne fonctionne que si public est True . La valeur par défaut est False .endFormat (liste) - Liste des formats audio à produire. Les formats valides sont: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - Forcer la longueur audio de la piste maîtrisée (en secondes).audience (dict) - Dictionnaire contenant les paramètres de personnalisation. Ce paramètre dépend du nombre de paramètres que vous avez utilisés dans votre ressource de script. Dans l'exemple de documentation de script ci-dessus, nous avons utilisé 2 paramètres: username et location , et dans l'exemple suivant ci-dessous, nous voulons produire le script pour le nom d'utilisateur salih avec l'emplacement Barcelona . Si le public n'est pas fourni, la piste de secours sera créée.mediaFiles (liste) - Liste des dicts contenant les fichiers multimédias. Ce paramètre dépend des balises de fichier multimédia utilisées dans la ressource de script et les fichiers multimédias que vous avez dans votre compte. Par exemple, si le script contient <<media::myrecording>> plus <<media::mysong>> , et vous voulez joindre MyRecording à MediaId = "12345", et mysong à MediaId = "67890" puis mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (Float) - VaUble de point flottant qui vous permet de couper le volume des fichiers multimédias téléchargés (en dB). Cet attribut a une plage valide de -12 à 12 dB et s'applique à tous les fichiers multimédias inclus dans un seul appel de maîtrise. La protection d'écrêtage n'est pas fournie, donc effectuer uniquement des ajustements incrémentiels.connectors (liste) - Liste des dicts spécifiant la configuration pour une connexion tierce particulière. Pour des directives dans le contexte de l'application tierceuse prise en charge, voir la documentation des connecteurs.masteringPreset (String) - Le maître prédéfini à utiliser, cela permet des fonctionnalités telles que la compression SideChain 'ie Ducking' voir apiaudio.Mastering.list_presets() pour une liste de préréglages et leurs descriptions.share (booléen) - Si vous souhaitez que un lien partageable soit créé avec votre fichier audio, utilisez ce drapeau. Si vous mettez share: True la réponse sera renvoyée paramètre shareUrl . (Remarque: si vous mettez ce drapeau, vos fichiers privés seront convertis en fichiers publics.)Exemple:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() crée une demande de maîtrise basée uniquement sur les fichiers multimédias téléchargés. Les fichiers multimédias devront être téléchargés avant d'appeler cette fonction. Voir les médias.
Paramètres:
timeline * [requis] (liste) - L'objet de chronologie. Un objet Timeline est une liste de dictionnaires, par laquelle chacun représente une piste des fichiers audio. Chaque piste doit avoir les deux files de touches suivants et contentType .
files * [requis] (Liste) Les fichiers sont une liste des dictionnaires, par laquelle chaque entrée doit avoir les 3 clés suivantes, mediaId , startAt et endAt
files * [requis] (Str) Le MediaId du fichier qui a été téléchargé.startAt * [requis] (float) L'heure à laquelle ce fichier multimédia doit démarrer en quelques secondes.endAt * [requis] (float) Le temps où ce fichier multimédia doit se terminer en quelques secondes. contentType * [requis] (String) - Le type de contenu sur lequel cette piste contient doit être sound ou speech
endFormat (liste) - Liste des formats audio à produire. Les formats valides sont: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - Le maître prédéfini à utiliser, cela permet des fonctionnalités telles que la compression SideChain 'ie Ducking' voir apiaudio.Mastering.list_presets() pour une liste de préréglages et leurs descriptions.
Exemple:
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() récupère les URL de fichier maîtrisé.
Paramètres:
scriptId * [requis] (String) - L'ID de ressource de script.versions (String) - La version du script à récupérer. La valeur par défaut est "".parameters (dict) - Dictionnaire contenant l'élément d'audience que vous souhaitez récupérer. Si les paramètres ne sont pas fournis, la piste de secours sera récupérée.public (booléen) - drapeau booléen qui permet de récupérer le fichier maîtrisé du seau public. Utilisez-le si vous souhaitez récupérer un fichier maîtrisé créé à l'aide public=True . La valeur par défaut est False .vast (booléen) - Flag booléen qui permet de récupérer le vaste fichier de votre fichier maîtrisé. Le vast drapeau ne fonctionne que si public est True . La valeur par défaut est False .endFormat (liste) - Liste des formats audio à récupérer. Les formats valides sont: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Exemple:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() Téléchargez les fichiers maîtrisés dans votre dossier préféré.
Paramètres:
scriptId * [requis] (String) - L'ID de ressource de script.version (String) - La version du script à télécharger. La valeur par défaut est "".parameters (dict) - Dictionnaire contenant l'élément d'audience que vous souhaitez récupérer. Si les paramètres ne sont pas fournis, la piste de secours sera téléchargée.destination (chaîne) - le chemin de destination du dossier. La valeur par défaut est "." (dossier actuel)public (booléen) - drapeau booléen qui permet de récupérer le fichier maîtrisé du seau public. Utilisez-le si vous souhaitez récupérer un fichier maîtrisé créé à l'aide public=True . La valeur par défaut est False .vast (booléen) - Flag booléen qui permet de récupérer le vaste fichier de votre fichier maîtrisé. Le vast drapeau ne fonctionne que si public est True . La valeur par défaut est False .Exemple:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() Liste les préréglages de maîtrise disponibles.
Exemple:
presets = apiaudio . Mastering . list_presets ()
print ( presets )MediaMedia vous permet de récupérer tous les fichiers disponibles dans API.AUDIO pour votre organisation.
Les méthodes médiatiques sont:
upload() - Télécharger des fichiers dans nos bases de données.
Paramètres:
file_path * [requis] (String) - chemin relatif vers le fichier audio.tags (chaîne) - Tags séparés par virgules que vous souhaitez ajouter à votre fichier téléchargé. Cela facilitera la récupération.Exemple:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Listez tous les fichiers dans un org.
Paramètres:
mediaId (String) - Si cela est passé, ne renvoie pas ce fichier, ou un objet vide s'il n'existe pas.tags (chaîne) - Tags séparés par virgules que vous souhaitez ajouter à votre fichier téléchargé. S'il est passé, renvoie tous les fichiers qui contiennent au moins ces balises.downloadUrl (Boolean): Si vrai, une URL présidée est ajoutée à chaque élément du tableau. Ceci est lent pour une grande quantité de fichiers (environ 1s chacun).public (booléen): Si vrai, les fichiers multimédias répertoriés seront les fichiers médias publics fournis par API.AUDIO. La valeur par défaut est fausse.Exemples:
# 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() Cela renvoie une liste avec toutes les balises définies par l'utilisateur unique.
Exemple:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - Cette méthode renvoie une URL présidée pour télécharger un fichier audio spécifique
mediaId * [requis] (String): ID de média pour le fichier à téléchargerExemple
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - Cette méthode télécharge un fichier audio spécifique
mediaId * [requis] (String): ID de média pour le fichier à téléchargerdestination (chaîne): Chemin vers le répertoire où le fichier sera téléchargé. La valeur par défaut est "."Exemple
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTSSyctts vous permet de faire du texte vocale synchrone (TTS) avec notre API en utilisant toutes les voix disponibles. Utilisez-le pour créer un fichier audio discours à partir d'un texte et d'un nom de voix. La réponse contient des octets de vagues prêts à être lus ou écrits dans un fichier.
Les méthodes de syctts sont:
create() Créer un fichier de discours TTS.
Paramètres:
voice * [requis] (String) - le nom de la voix. Voir la liste des voix disponibles à l'aide de la ressource vocale.text * [requis] (String) - Le texte avec lequel vous souhaitez faire TTS. La limite est de 800 caractères pour les fichiers WAVE.metadata [facultative] ("complète" ou "Aucun") - le niveau de métadonnées que vous souhaitez. Renvoie des listes de phonèmes (uniquement disponibles pour certaines voix MSNR)Exemple:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheBirdCache est un service de mise en cache fourni par API.Audio qui fournit la couche de mise en cache du client en stockant des données dans des serveurs API.audio pour une utilisation future. Cela vous permet de récupérer vos fichiers vocaux à la volée.
Les méthodes de BirdCache sont:
create() Créer un fichier de discours TTS.
Paramètres:
type * [requis] (String) - Type de l'événement. Les types pris en charge mastering et speech .text * [requis] (String) - Le texte avec lequel vous souhaitez faire la parole / la maîtrise. Voir l'exemple des paramètres de personnalisation.voice * [requise] (String) - La voix de la création de la parole.audience * [Facultatif] (Dict) - L'objet de paire de clés pour les paramètres de personnalisation. Voir l'exemple ci-dessous.soundTemplate [Facultatif] (String) - Le modèle de son pour la création de maîtrise. Nécessaire uniquement lorsque le type se maîtrise.Exemple:
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 DictionarySouvent, lorsque vous travaillez avec TTS, les modèles peuvent ne pas prononcer avec précision des mots spécifiques, par exemple les marques, les noms et les emplacements sont généralement mal prononcés. En première tentative de résoudre ce problème, nous avons introduit notre drapeau Lexi, qui fonctionne de la même manière que SSML. Par exemple, l'ajout de <! Peadar> au lieu de Peadar (qui est l'un de nos fondateurs) à votre script amènera le modèle à produire une prononciation alternative de ce nom. Ceci est particulièrement utile dans les cas où les mots peuvent avoir plusieurs prononciations, par exemple les villes «lecture» et «belle». Dans ce cas, placer <! Reading> et <! Nice> veillera à ce que ceux-ci soient correctement prononcés, étant donné le script:
" The city of <!nice> is a really nice place in the south of france."
Si cette solution ne fonctionne pas pour vous, vous pouvez plutôt utiliser notre fonctionnalité Lexi personnalisée (libre-service).
Cela peut être utilisé pour réaliser l'une des deux choses, corriger des mots uniques ou en expansion des acronymes. Par exemple, vous pouvez remplacer toutes les occurrences du mot aflorithmique par «AF bas rythmique» ou occurrences du mot «BMW» avec «Bayerische Motor Werke». Les mots de remplacement peuvent être fournis en texte brut ou une phonémisation IPA.
Les méthodes du dictionnaire de prononciation sont:
list() répertorie les dictionnaires accessibles au public et leurs mots
Paramètres:
noneExemple:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() répertorie les dictionnaires personnalisés et leurs mots respectifs
Paramètres:
noneExemple:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word ajoute un nouveau mot à un dictionnaire personnalisé.
lang [requis] (String) - Famille de langues, par exemple en ou es .Dictionary - Utilisez global pour enregistrer un mot à l'échelle mondiale.word [requis] (String) - le mot qui sera remplacéreplacement [requis] (String) - Le jeton de remplacement. Peut être une chaîne simple ou un jeton IPA.contentType [Facultatif] (String) - Le type de contenu du remplacement fourni peut être basic (par défaut) ou ipa pour les remplacements phonétiques.specialization [Facultatif] (String) - Par défaut, le remplacement fourni s'appliquera quelle que soit la voix, le code linguistique ou le fournisseur fourni. Cependant, les caisses de bord peuvent être fournies, celles-ci peuvent être valides; Nom du fournisseur, code linguistique (ie en-gb) ou nom de voix. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Pour chaque langue, une seule entrée de mot est autorisée. Cependant, chaque mot peut avoir plusieurs specializations . Lorsqu'un mot est enregistré pour la première fois, une specialization default est toujours créée, ce qui correspondra à ce qui est passé. Les appels suivants avec différentes spécialisations ne mettront à jour la spécialisation donnée. La réparation exacte qui sera utilisée est déterminée par l'ordre de préférence suivant:
voice name > language dialect > provider name > default
Par exemple, un remplacement spécifié pour le nom de la voix sara sera choisi sur un remplacement spécifié pour le fournisseur azure .
list_custom_words() répertorie tous les mots contenus dans un dictionnaire personnalisé.
Paramètres:
lang [requis] (String) - Famille de langues, par exemple en ou es - Utilisez global pour répertorier les mots agnostiques de la langue.
Exemple:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) L'effet de l'application du dictionnaire de prononciation peut être vu avec la méthode script.preview() . Voir la documentation du script pour plus de détails.
Exemple:
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 )Réponse:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } Dans cet exemple, Bristol sera phonémisé pour s'assurer qu'il est correctement prononcé, mais comme Bude n'est pas dans nos dictionnaires, il est laissé tel quel. Les jetons IPA exacts pour les mots de nos dictionnaires internes sont obscurcis.
Connector Ressource utilisée pour surveiller les intégrations PATY de la 3e. Les résultats finaux de la maîtrise des ressources peuvent être distribués dans des applications externes via le champ connectors . Voir la documentation des connecteurs. Liste des applications actuellement prises en charge:
Méthodes disponibles:
retrieve() Après avoir enregistré un connecteur dans l'API.Console, utilisez cette méthode pour vérifier si une connexion a réussi à utiliser des informations d'identification fournies.
Paramètres:
name * [requis] (String) - le nom du connecteur spécifié dans la console.Exemple:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Vérifiez l'état de la connexion en fournissant connectionId renvoyé dans une réponse de maîtrise.
Paramètres:
connection_id * [requis] (String) - Le connexion Aid est renvoyé par la maîtrise de la ressource.Exemple:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)OrchestratorL'orchestrateur est utilisé pour faciliter le travail avec une gamme de services audio que l'envoi d'une seule demande d'API. Chaque itinéraire ici est soigneusement configuré pour produire des actifs audio de haute qualité et faciles d'accès.
Les méthodes d'orchestrateur sont:
create_audio() crée une demande de discours TTS simple et y ajoute un modèle sonore via la maîtrise.
Paramètres:
scriptText * [requis] (str) - texte à synthétiser (tts).soundTemplate (STR) - Modèle de son à utiliser.voice * [requise] (str) - Nom de la voix à utiliser. create_three_sections() crée une demande de discours TTS avec 3 sections et y ajoute un modèle sonore via la maîtrise.
Paramètres:
introText * [requis] (str) - texte à synthétiser dans la section d'introduction.mainText * [requis] (str) - texte à synthétiser dans la section principale.outroText * [requis] (str) - texte à synthétiser dans la section outro.soundTemplate (STR) - Modèle de son à utiliser.voice * [requise] (str) - Nom de la voix à utiliser. media_with_sound() combine un fichier multimédia préexistant (c'est-à-dire la voix préenregistrée) avec un modèle sonore
Paramètres:
mediaId * [requis] (Str) - MediaId du fichier multimédia à utiliser comme entrée.soundTemplate * [requis] (str) - modèle de son à utiliser.Ce SDK fournit un moyen facile de vérifier les en-têtes de sécurité d'appel APIADIO WEBHOOK. Il est fortement recommandé pour vous de vérifier les en-têtes afin de protéger votre serveur de toute attaque malveillante.
La méthode est:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Il reviendra vrai si l'en-tête est valide, sinon il augmentera une erreur. Les paramètres à passer sont; payload étant l'objet corporel envoyé par Apiodio, sig_header étant X-Aflr-Secret dans les en-têtes de demande envoyés par Apiodio, secret étant votre secret Webhook (vous pouvez l'obtenir dans la console Apidio) et tolerance étant la tolérance en quelques secondes pour les vérifications de l'en-tête, ce qui est par défaut à 300 secondes.
Par défaut, les avertissements émis par l'API sont enregistrés dans la sortie de la console. De plus, certains comportements sont connectés au niveau d'information (par exemple "en cours ..." Indicateurs pendant des temps de traitement plus longs). Le niveau de journalisation peut être contrôlé en choisissant parmi les niveaux standard dans la bibliothèque logging de Python.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Il y a un crochet pré-engagé qui s'exécutera avant de commettre un fichier. Il s'agit de maintenir les normes de code élevées. Pour l'activer, vous devriez make . Ensuite, il mettra en place le crochet pré-Commiss pour Git. C'est tout! Maintenant, à chaque fois que vous vous engagez, il se déroulera pour vous parler des normes.
Si vous utilisez VSCODE pour commettre des fichiers, vous pouvez vous lancer dans pre-commit command not found . C'est OK, il suffit d'exécuter brew install pre-commit ou votre gestionnaire de package préféré à partir de la liste ici.
Si vous vous heurtez à your pip version is old erreur, ignorez-la et utilisez le terminal.
S'il y a un problème et que vous êtes pressé, vous pouvez ajouter --no-verify à la fin de la commande Commit, il sautera les crochets pré- git commit -m 'your commit message' --no-verify
Ce projet est concédé sous licence de la licence du MIT.