Apiaudio ist die offizielle API.Audio Python 3 SDK. Dieser SDK bietet einen einfachen Zugriff auf die API.Audio -API für Bewerbungen in Python.
Dieses Repository wird von anlorithmischen Labors aktiv aufrechterhalten. Beispiele finden Sie in Rezepten und API -Referenzen die API.AUDIO -Dokumente. Fühlen Sie sich frei, mit Fragen oder Feedback in Kontakt zu treten!
Sie können hier unseren aktualisierten ChangeLog anzeigen.
Beginnen Sie mit unseren QuickStart -Rezepten.
Sie benötigen diesen Quellcode nicht, es sei denn, Sie möchten ihn ändern. Wenn Sie das Paket verwenden möchten, führen Sie einfach aus:
pip install apiaudio -U
# or
pip3 install apiaudio -UInstallieren Sie von Quelle mit:
python setup.py install
# or
python3 setup.py installPython 3.6+
Erstellen Sie eine Datei hello.py
touch hello . py Diese Bibliothek muss mit dem API-Key Ihres Kontos konfiguriert werden, der in Ihrer API.AUDIO-Konsole verfügbar ist. Importieren Sie das Apiaudio-Paket und setzen Sie apiaudio.api_key mit dem Api-Key, den Sie aus der Konsole erhalten haben:
import apiaudio
apiaudio . api_key = "your-key"Lassen Sie uns unser erstes Audio -Asset erstellen.
✍️ Erstellen Sie ein neues Skript, unser scriptText ist der Text, der später synthetisiert wird.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Rendern Sie den SkriptText, der im vorherigen Schritt erstellt wurde. Verwenden wir Spracharie.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Lassen Sie uns nun der Rede anschließen, die wir gerade mit einer Tonvorlage erstellt haben.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Laden Sie das endgültige Audio -Asset in Ihr aktuelles Arbeitsverzeichnis herunter:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Einfach richtig? ? Dies ist die letzte hello.py -Datei.
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 )Lassen Sie uns nun den Code ausführen:
python hello.py
# or
python3 hello.pySobald dies abgeschlossen ist, finden Sie das heruntergeladene Audio -Asset und spielen Sie es!
import apiaudio Die Bibliothek muss mit dem geheimen Schlüssel Ihres Kontos konfiguriert werden, der in Ihrem ordlistischen Dashboard verfügbar ist. Setzen Sie apiaudio.api_key mit dem api-key, den Sie vom Dashboard erhalten haben:
apiaudio . api_key = "your-key" Sie können auch authentifizieren, indem Sie die Umgebungsvariable apiaudio_key mithilfe der APIADIO SDK automatisch verwenden. Öffnen Sie zum Einrichten das Terminal und den Typ:
export apiaudio_key= < your-key > Wenn Sie sowohl eine Umgebungsvariable als auch apiaudio.api_key -Authentifizierungswert bereitstellen, wird stattdessen der Wert apiaudio.api_key verwendet.
Um eine von Ihnen zu kontrollierende Kinderorganisation zu kontrollieren, verwenden Sie bitte die folgende Methode, um diese Organisations -ID anzunehmen .
Stellen Sie Ihre Kinderorganisations -ID auf None , um eine Organisation zu übernehmen. Nachfolgende Anrufe an der API verwenden Ihre eigene Organisations -ID.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )Weitere Vorgänge finden Sie in der Organisationsressource, die Sie über Ihre Organisation ausführen können.
Es gibt zwei Ansätze, um die Ressourcen zu nutzen.
Der empfohlene Ansatz besteht darin, alle Ressourcen direkt aus Apiaudio zu importieren:
import apiaudio
apiaudio . Script . create () Alternativ können Sie die Ressourcenklassen importieren, die Sie zuerst verwenden möchten, und dann die Ressourcenmethoden verwenden. Um Script zum Beispiel zu verwenden, könnten wir:
from apiaudio import Script
Script . create () Die gleiche Logik gilt für andere Ressourcen ( Speech , Voice , Sound ...)
OrganizationMit der Organisationsressource/Klasse können Sie einige Datenabrufe über Ihre Organisation und Ihre Kinderorganisationen durchführen.
Organisationsmethoden sind:
get_org_data() - Organisationen Daten, einschließlich Orgid, orgname usw. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Listen Sie Ihre Kinderorganisationen auf. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Holen Sie sich Ihren API -Schlüssel, Ihre Webhook -URL und Ihr Webhook Secret. secrets = apiaudio . Organization . get_secrets ()ScriptMit der Skriptressource/Klasse können Sie Skripte erstellen, abrufen und auflisten. Erfahren Sie hier mehr über Skripte.
Skriptmethoden sind:
create() - Erstellen Sie ein neues Skript.
scriptText * [Erforderlich] (String) - Text für Ihr Skript. Ein Skript kann mehrere Abschnitte und SSML -Tags enthalten. Erfahren Sie hier mehr über SkriptText -DetailsprojectName (String) - Der Name Ihres Projekts. Standardwert ist "Standard" (max. 60 Zeichen)moduleName (String) - Der Name Ihres Moduls. Standardwert ist "Standard" (max. 60 Zeichen)scriptName (String) - Der Name Ihres Skripts. Standardwert ist "Standard" (max. 60 Zeichen)scriptId (String) - benutzerdefinierte Kennung für Ihr Skript. Wenn scrptId -Parameter bereitgestellt werden, werden ProjectName, ModulenName und SkriptName auf denselben Wert wie scriptID festgelegtversions (Dictionary) - Ein Wörterbuch mit verschiedenen Versionen Ihres Skripttextes, wobei der Schlüssel der Versionsname ist, und sein Wert ist der zugehörige scriptText . Der Versionsname v0 ist als Standard scriptText reserviert. Standardwert ist "{}"metadata (Wörterbuch) - Metadaten für Ihr Skript. Dies ist auf eine Größe von 2 KB begrenzt. 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() - Abrufen Sie ein Skript per ID ab.
scriptId * [Erforderlich] (String) - Die Skript -ID, die Sie abrufen möchten. Standardmäßig ruft die Hauptversion (V0) ab.version (String) - Die Skriptversion, die Sie abrufen möchten. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - Geben Sie ein Skript mit dem angewendeten Wörterbuch zurück. Weitere Beispiele für die Verwendung der Wörterbuchfunktion finden Sie in Lexi.
Parameter:
scriptId * [Erforderlich] (String) - Die Skript -ID, die Sie verwenden möchten.voice * [Erforderlich] (String) - Die Stimme, mit der die Sprache reduziert wird. Dies ist erforderlich, da die Ausgabe von Sprachcode oder Anbieter abhängig sein kann.Beispiel:
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() - Listen Sie alle in Ihrer Organisation verfügbaren Skripte auf. Diese Methode unterstützt die Filterung.
projectName (String) - Geben Sie alle Skripte mit diesem Projektnamen zurück.moduleName (String) - Geben Sie alle Skripte mit diesem Modulennamen zurück, Hinweis projectName muss auch geliefert werden.scriptName (String) - Gibt alle Skripte mit diesem Skriptnamen zurück, nicht sowohl projectName als auch moduleName müssen geliefert werden.scriptId (string) - Gibt alle Skripte mit diesem SkriptID zurück.verbose (BOOL) - Listen Sie Skripte im ausführlichen Modus (standardmäßig True ). Legen Sie dies auf False , um nur den projectName , moduleName , scriptName und scriptId -Felder zurückzugeben. scripts = apiaudio . Script . list () delete() - löscht ein Skript. Standardmäßig löscht dies alle Versionen des Skripts.
scriptId * [erforderlich] (String) - Die ID des zu löschenden Skriptsversion (String) - Löschen Sie eine bestimmte Version. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - Mehrere Skripte löschen.
Parameter:
projectName * [Erforderlich] (String) - Löscht alle Skripte in diesem Projektnamen.moduleName (String) - Löscht alle Skripte innerhalb dieses Modulennamens, Hinweis projectName muss auch geliefert werden.scriptName (String) - Löscht alle Skripte in diesem Skriptnamen, beachten Sie, dass projectName als auch moduleName angegeben werden müssen.Beispiel:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - Zufälliger Text aus einer Liste von Kategorien abrufen.
category (String) - Die Kategorie, aus der der zufällige Text abgerufen wird. Wenn keine Kategorie angegeben ist, stand der Funktion standardmäßig "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" , "Joke" "MovieSynopsis" ", " "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.Directory ResourceListet die Verzeichnisstruktur Ihrer Skripte auf, dh ProjectName/ModuName/SkriptName
Script.Directory -Methoden sind:
list_projects() - listet alle Projekte auf.
Parameter:
Beispiel:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - listet alle Module in einem Projektprefix auf.
Parameter:
projectPrefix * [Erforderlich] - wird mit diesem Projektprefix Module auflisten.Beispiel:
#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() - listet alle Module in einem Projektprefix auf.
Parameter:
projectPrefix * [Erforderlich] - wird mit diesem Projektprefix die Skriptnamen auflisten.modulePrefix * [Erforderlich] - wird mit diesem ModulePrefix -Skriptnamen angeführt.Beispiel:
#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"]SpeechMit der Sprache können Sie mit unserer API alle verfügbaren Stimmen mit unserer API Text-to-Speech (TTS) durchführen. Verwenden Sie es, um eine Sprach -Audio -Datei aus Ihrem Skript zu erstellen.
Sprachmethoden sind:
create() Senden Sie eine Text-zu-Speech-Anfrage an unseren Text-zu-Sprach-Dienst.
Parameter:
scriptId * [erforderlich] (String) - die Skript -IDversion (String) - Die Version des zu erzeugenden Skripts. Standard ist "".voice (String) - Sprachname. Siehe die Liste der verfügbaren Stimmen mithilfe der Sprachressource. Standard Stimme ist "Joanna".speed (String) - Sprachgeschwindigkeit. Die Standardgeschwindigkeit beträgt 100.effect (Zeichenfolge) - Geben Sie in Ihrer Stimme einen lustigen Effekt ein. Sie können die folgenden ausprobieren: dark_father , chewie , 88b , 2r2d ,silencePadding (Ganzzahl) - Fügen Sie Ihren Sprachspuren (in Millisekunden) eine Stillepolsterung hinzu. Standard ist 0 (keine Polsterung)audience (Diktat) - Geben Sie die Werte von Parametern in Ihrem Skript an. Wenn Sie in der Skriptressource beispielsweise scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" : {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Wenn nicht zur Verfügung gestellt, wird der Fallback -Track erstellt.sync (boolean) - Ermöglichen Sie die Synchronisierung oder eine asynchronisierte Sprachkreation. Standard ist True . Wenn sync=False , gibt Rede Create Call eine Erfolgsnachricht zurück, wenn die Spracherstellung ausgelöst wird. Um die Dateien abzurufen, überprüfen Sie die Methode Speech.retrieve() .sections (DICT) - Geben Sie Parameter für bestimmte Abschnitte im Skript an. Der Schlüssel ist ein Abschnittsname, und der Wert ist ein weiteres Wörterbuch mit der Abschnittskonfiguration (gültige Parameter sind: Sprache, Geschwindigkeit, Effekt, Silence_Padding). Wenn hier ein Abschnitt nicht gefunden wird, erbt der Abschnitt automatisch die von Ihnen oben definierten Sprach-, Geschwindigkeits-, Effekt- und Silence_Padding -Werte (oder die Standardwerte, wenn Sie sie nicht bereitstellen). Siehe ein Beispiel unten, da 2 Abschnitte und verschiedene Konfigurationsparameter verwendet werden.useDictionary (BOOL) - Anwendet das Aussprachewörterbuch auf den Skripttext.useTextNormalizer (BOOL) - Wendet die Textnormalisierung an, die dazu beitragen kann, grammatikalische Fehler mit TTS -Aussprachen zu beheben, z. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Einfaches Beispiel:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Vollständiges Beispiel:
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() Abrufen Sie die Sprachdatei -URLs ab.
Parameter:
scriptId * [Erforderlich] (String) - Die Skript -ID, die Sie abrufen möchten.version (String) - Die Version des zu abgerufenen Skripts. Standard ist "".section (Zeichenfolge) - Der Skriptabschnittsname, den Sie abrufen möchten. Wenn nicht angegeben, werden alle Skriptabschnitte zurückgegeben.parameters (DICT) - DICT, die die Personalisierungsparameter Ihres Skripts enthalten. Wenn nicht zur Verfügung gestellt, wird der Fallback -Track abgerufen. Dieses Feld hängt von den Parametern ab, die Sie im Ressourcenabschnitt Ihres Skripts verwendet haben. Um einen bestimmten Parametersatz abzurufen, müssen Sie die Sprache mit demselben Parametersatz erstellen.Beispiel:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() die Sprachdateien in Ihrem bevorzugten Ordner herunter.
Parameter:
scriptId * [Erforderlich] (String) - Die Skript -ID, die Sie herunterladen möchtenversion (String) - Die Version des zum Herunterladens des Skripts. Standard ist "".section (Zeichenfolge) - Der Skriptabschnittsname, den Sie abrufen möchten. Wenn nicht angegeben, werden alle Skriptabschnitte zurückgegeben.parameters (DICT) - DICT, die die Personalisierungsparameter Ihres Skripts enthalten. Wenn nicht zur Verfügung gestellt, wird der Fallback -Track abgerufen. Dieses Feld hängt von den Parametern ab, die Sie im Ressourcenabschnitt Ihres Skripts verwendet haben. Um einen bestimmten Parametersatz abzurufen, müssen Sie die Sprache mit demselben Parametersatz erstellen.destination (Zeichenfolge) - Der Ordner Zielpfad. Standard ist "." (aktueller Ordner)Beispiel:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceMit Voice können Sie eine Liste der verfügbaren Stimmen von unserer API abrufen.
Sprachmethoden sind:
list() Listen Sie alle verfügbaren Stimmen in unserer API auf. Die Parameter sind alle optional und können in Kombination verwendet werden, um die perfekte Stimme für Ihre Usecase zu erhalten.
provider (String) - Versuchen Sie eine von: Google, Polly, Azure, MSNR (AFLORITMIC), IBM, YANDEX, RETRO (AFLORITMISCH), VOCALID, EXIMBElanguage (String) - zB Englisch, Spanisch, Französisch, Deutsch usw.accent (String) - z. B. Amerikaner, Britisch, neutral, portugiesisch/brasilianisch, amerikanisch weich, mexikanisch, australischgender (String) - Versuchen Sie es mit einem von männlich, weiblichageBracket (Saite) - Versuchen Sie es mit einem von: Erwachsenen, Kind, 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 point, kenntnisreicher, fokussierter, Newscastery, Newsreader, Interviewer, zuverlässig, freundlich, einladend, gut für die Ausgabe von Informationen, etwas freundlichindustryExamples (String) - Probieren Sie mit einem oder mehreren (getrennt von Commas) von: Fitness, Wirtschaft, Werbespot, Mode, Reisen, Hörbuch, Immobilien, Glauben, Gesundheitsindustrie, Comercial, Realestate, Kinderunterhaltung, Spiele, Kundendienst, Bildung, Geschichtenerzählen, Unterhaltung, Kinder, Bildungsabteilung AudioBooktimePerformance (String) - Die Zeitleistung der Stimme. Es gibt drei Kategorien: langsam, mittel, schnell.sectionCharacterLimit (String) - Die maximale Anzahl von Zeichen, die die Stimme pro Skript verarbeiten kann. Alle unterstützten Anbieter mit Ausnahme von Vocalid haben die Grenze von 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Mit dieser Methode können Sie feststellen, welche Attribute Sie zusammen mit den zulässigen Werten für jedes Attribut filtern können. Sie können diese Parameter und Werte später verwenden, um die Stimmen zu filtern, die Sie auflisten möchten.
Parameter:
Beispiel:
parameters = apiaudio . Voice . list_parameters ()SoundMit Sound können Sie Ihre eigene Soundvorlage aus einem Skript und einem Hintergrund -Track entwerfen. Um eine solide Vorlage/ein Projekt zu erhalten, stellen Sie sicher, dass Sie zuerst eine Sprache für Ihre Skriptressource angefordert haben.
Tonmethoden sind:
list() Listen Sie alle verfügbaren Tonvorlagen in unserer API auf. Die Parameter sind alle optional und können in Kombination verwendet werden, um den perfekten Sound für Ihre Usecase zu erhalten.
industryExamples (String) - Versuchen Sie es mit einem oder mehreren (getrennt von Commas) von: Nachrichten, Reisen, Geschäft, Entspannung, Fitness, Entspannung, Kindergeschichtencontents (String) - Versuchen Sie es mit einem oder mehreren (durch Kommas getrennt) von: Intro, Main, Outro, Effect1, Effect2, Hauptauslöschgenre (String) - Versuchen Sie es mit einem von: elektronisch, akustisch, atmosphärisch, abstrakt, Gesteintempo (String) - Versuchen Sie es mit einem von: Mid, Up, Down, UpTempotags (String) - Versuchen Sie es mit einem oder mehreren (durch Kommas getrennt) von: intensiv, minimal, reflektierend, melodisch, glücklich, nostalgisch, fokussierend, energisch, erhebend, aktiv, entspannt, ambienhaft, mysteriös, positiv, informativ, trainiert, Arbeit, Meditation, Reisen, volles Schweigen sound_templates = apiaudio . Sound . list () list_parameters() Mit dieser Methode können Sie sehen, welche Attribute Sie die Tonvorlagen zusammen mit den zulässigen Werten für jedes Attribut filtern können. Sie können diese Parameter und Werte später verwenden, um die Tonvorlagen zu filtern, die Sie auflisten möchten.
Parameter:
Beispiel:
parameters = apiaudio . Sound . list_parameters ()Mastering -RessourceMit Mastering können Sie eine masterte Audiodatei Ihres Skripts erstellen und abrufen. Eine Mastered -Version enthält die Sprache des Skripts, einen Hintergrund -Track, personalisierte Parameter für Ihr Publikum und einen Mastering -Prozess, um die Audioqualität des gesamten Tracks zu verbessern. Um eine Mastered -Audio -Datei zu erhalten, stellen Sie sicher, dass Sie zuerst eine Sprache für Ihre Skriptressource angefordert haben.
Mastering -Methoden sind:
create() Erstellen Sie eine gemasterte Version Ihres Skripts und wählen Sie das Audio -Format.
Parameter:
scriptId * [Erforderlich] (String) - Die Skriptressourcen -ID.version (String) - Die Version des zu erzeugenden Skripts. Standard ist "".soundTemplate (String) - Der Name der Tonvorlage. Die Liste der verfügbaren Soundvorlagen finden Sie unter apiaudio.Sound.list_sound_templates() call.public (booleale) - Boolean Flag, mit der die Mastered -Datei in einem öffentlichen S3 -Ordner gespeichert werden kann. Der Standardwert ist False . Warnung - Dies führt dazu, dass Ihre Mastered -Dateien für alle im Internet öffentlich sind. Verwenden Sie dies auf eigenes Risiko.vast (boolescher) - Boolean Flag, mit dem eine riesige Datei Ihrer Mastered -Datei erstellt werden kann. Die vast Flagge funktioniert nur, wenn public True ist. Der Standardwert ist False .endFormat (Liste) - Liste der zu erzeugenden Audioformate. Gültige Formate sind: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - Erzwingen Sie die Audiolänge der Mastered Track (in Sekunden).audience (Diktat) - Wörterbuch, das die Personalisierungsparameter enthält. Dieser Parameter hängt von der Anzahl der Parameter ab, die Sie in Ihrer Skriptressource verwendet haben. Im obigen Beispiel für Skriptdokumentation haben wir 2 Parameter verwendet: username und location , und im folgenden Beispiel möchten wir das Skript für den Benutzernamen salih mit dem Standort Barcelona erstellen. Wenn das Publikum nicht bereitgestellt wird, wird der Fallback -Track erstellt.mediaFiles (Liste) - Liste der Diktate, die die Mediendateien enthalten. Dieser Parameter hängt von den in der Skriptressource verwendeten Mediendatei -Tags und den Mediendateien in Ihrem Konto ab. Zum Beispiel, wenn das Skript <<media::myrecording>> plus <<media::mysong>> enthält und Sie MyRecording an mediaId = "12345" und MySong an MediaId = "67890" dann mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] :mediaVolumeTrim (Float) - Schwimmpunktvariable, mit der Sie die Lautstärke der hochgeladenen Mediendateien (in DB) abschneiden können. Dieses Attribut hat einen gültigen Bereich von -12 bis 12 dB und gilt für alle Mediendateien, die in einem einzigen Mastering -Anruf enthalten sind. Der Schutzschutz wird nicht bereitgestellt, daher nehmen Sie nur inkrementelle Anpassungen vor.connectors (List) - Liste der Diktate, die die Konfiguration für eine bestimmte Verbindung von Drittanbietern angeben. Richtlinien im Zusammenhang mit der antretenden Anwendung der Drittanbieter finden Sie unter Dokumentation der Connectors.masteringPreset (String) - Das zu verwendende Mastering -Voreinstellung ermöglicht Funktionen wie die Sidechain -Komprimierung "dh ducking" siehe apiaudio.Mastering.list_presets() für eine Liste von Voreinstellungen und ihre Beschreibungen.share (boolean) - Wenn Sie einen gemeinsam genutzbaren Link mit Ihrer Audio -Datei erstellen möchten, verwenden Sie dieses Flag. Wenn Sie share: True Die Antwort wird shareUrl -Parameter zurückgegeben. (Hinweis: Wenn Sie dieses Flag einfügen, werden Ihre privaten Dateien in öffentliche Dateien konvertiert.)Beispiel:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() erstellt eine Mastering -Anforderung, die nur auf hochgeladenen Mediendateien basiert. Mediendateien müssen vor dem Aufrufen dieser Funktion hochgeladen werden. Siehe Medien.
Parameter:
timeline * [Erforderlich] (Liste) - das Timeline -Objekt. Ein Timeline -Objekt ist eine Liste von Wörterbüchern, wobei jeder eine Spur von Audiodateien darstellt. Jeder Track muss die folgenden zwei files und contentType haben.
files * [Erforderliche] (Listen) Dateien sind eine Liste von Wörterbüchern, wobei jeder Eintrag die folgenden 3 Schlüssel, mediaId , startAt und endAt haben muss
files * [Erforderlich] (STR) Die mediale der Datei, die hochgeladen wurde.startAt * [Erforderlich] (Schweben Sie) Die Zeit, in der diese Mediendatei in Sekunden beginnen sollte.endAt * [Erforderlich] (schweben) Die Zeit, in der diese Mediendatei in Sekunden endet. contentType * [Erforderlich] (String) - Der Typ des Inhalts, den dieser Track enthält, sollte entweder sound oder speech sein
endFormat (Liste) - Liste der zu erzeugenden Audioformate. Gültige Formate sind: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - Das zu verwendende Mastering -Voreinstellung ermöglicht Funktionen wie die Sidechain -Komprimierung "dh ducking" siehe apiaudio.Mastering.list_presets() für eine Liste von Voreinstellungen und ihre Beschreibungen.
Beispiel:
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() ruft die Mastered -Datei -URLs ab.
Parameter:
scriptId * [Erforderlich] (String) - Die Skriptressourcen -ID.versions (String) - Die Version des zu abgerufenen Skripts. Standard ist "".parameters (DICT) - Wörterbuch mit dem Publikumselement, das Sie abrufen möchten. Wenn keine Parameter bereitgestellt werden, wird der Fallback -Track abgerufen.public (Boolesche) - Boolesche Flagge, mit der die Mastered -Datei aus dem öffentlichen Eimer abgerufen werden kann. Verwenden Sie dies, wenn Sie eine mit public=True erstellte masterte Datei abrufen möchten. Der Standardwert ist False .vast (boolescher) - Boolean Flag, mit dem die große Datei Ihrer Mastered -Datei abgerufen werden kann. Die vast Flagge funktioniert nur, wenn public True ist. Der Standardwert ist False .endFormat (Liste) - Liste der zu abgerufenen Audioformate. Gültige Formate sind: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Beispiel:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() die Mastered -Dateien in Ihrem bevorzugten Ordner herunter.
Parameter:
scriptId * [Erforderlich] (String) - Die Skriptressourcen -ID.version (String) - Die Version des zum Herunterladens des Skripts. Standard ist "".parameters (DICT) - Wörterbuch mit dem Publikumselement, das Sie abrufen möchten. Wenn keine Parameter bereitgestellt werden, wird der Fallback -Track heruntergeladen.destination (Zeichenfolge) - Der Ordner Zielpfad. Standard ist "." (aktueller Ordner)public (Boolesche) - Boolesche Flagge, mit der die Mastered -Datei aus dem öffentlichen Eimer abgerufen werden kann. Verwenden Sie dies, wenn Sie eine mit public=True erstellte masterte Datei abrufen möchten. Der Standardwert ist False .vast (boolescher) - Boolean Flag, mit dem die große Datei Ihrer Mastered -Datei abgerufen werden kann. Die vast Flagge funktioniert nur, wenn public True ist. Der Standardwert ist False .Beispiel:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() Listen Sie die verfügbaren Mastering -Voreinstellungen auf.
Beispiel:
presets = apiaudio . Mastering . list_presets ()
print ( presets )MediaMit Medien können Sie alle in API.AUDIO verfügbaren Dateien für Ihre Organisation abrufen.
Medienmethoden sind:
upload() - Laden Sie Dateien in unsere Datenbanken hoch.
Parameter:
file_path * [Erforderlich] (String) - Relativer Pfad zur Audio -Datei.tags (String) - Komma -getrennte Tags, die Sie Ihrer hochgeladenen Datei hinzufügen möchten. Dies wird das Abrufen erleichtern.Beispiel:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Listen Sie alle Dateien in einer Organisation auf.
Parameter:
mediaId (String) - Wenn übergeben, gibt diese Datei oder ein leeres Objekt nur dann zurück, wenn sie nicht vorhanden ist.tags (String) - Komma -getrennte Tags, die Sie Ihrer hochgeladenen Datei hinzufügen möchten. Wenn bestehen, gibt es alle Dateien zurück, die diese Tags zumindest enthalten.downloadUrl (Boolean): Wenn wahr, wird jedem Element im Array eine vorgewiesene URL hinzugefügt. Dies ist für eine große Anzahl von Dateien langsam (jeweils etwa 1s).public (boolean): Wenn wahr, sind die aufgeführten Mediendateien die von API.AUDIO bereitgestellten öffentlichen Mediendateien. Standard ist falsch.Beispiele:
# 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() Dies gibt eine Liste mit allen eindeutigen benutzerdefinierten Tags zurück.
Beispiel:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - Diese Methode gibt eine vorgewiesene URL zum Herunterladen einer bestimmten Audiodatei zurück
mediaId * [Erforderlich] (String): Medien -ID für die zum Herunterladen von DateiBeispiel
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - Diese Methode lädt eine bestimmte Audiodatei herunter
mediaId * [Erforderlich] (String): Medien -ID für die zum Herunterladen von Dateidestination (Zeichenfolge): Pfad zum Verzeichnis, in dem die Datei heruntergeladen wird. Standard ist "."Beispiel
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTS RessourceMit Synctts können Sie mit unserer API alle verfügbaren Stimmen mit unserer API Synchronous Text-to-Speech (TTS) durchführen. Verwenden Sie es, um eine Sprach -Audio -Datei aus einem Text und einem Sprachnamen zu erstellen. Die Antwort enthält Wellenbytes, die bereit sind, in eine Datei gespielt oder geschrieben zu werden.
Synctts -Methoden sind:
create() Erstellen Sie eine TTS -Sprachdatei.
Parameter:
voice * [Erforderlich] (String) - Der Sprachname. Siehe die Liste der verfügbaren Stimmen mithilfe der Sprachressource.text * [Erforderlich] (Zeichenfolge) - Der Text, mit dem Sie TTs machen möchten. Die Grenze beträgt 800 Zeichen für Wellendateien.metadata [optional] ("full" oder "keine") - Die gewünschte Metadaten. Gibt Phonem -Listen zurück (nur für einige MSNR -Stimmen verfügbar)Beispiel:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)Birdcache -RessourceBirdcache ist ein von API.AUDIO erbrachte Caching -Service, der die Caching -Ebene für den Kunden bereitstellt, indem Daten in API.AUDIO -Servern für die zukünftige Verwendung gespeichert werden. Auf diese Weise können Sie Ihre Sprachdateien im laufenden Flug abrufen.
Birdcache -Methoden sind:
create() Erstellen Sie eine TTS -Sprachdatei.
Parameter:
type * [Erforderlich] (String) - Typ des Ereignisses. Unterstützte Typen sind mastering und speech .text * [Erforderlich] (String) - Der Text, mit dem Sie Sprache/Mastering führen möchten. Siehe das Beispiel für Personalisierungsparameter.voice * [Erforderlich] (String) - Die Stimme für die Erstellung von Sprachen.audience * [Optional] (Diktat) - Das Schlüsselpaarobjekt für Personalisierungsparameter. Siehe das Beispiel unten.soundTemplate [Optional] (String) - Die Tonvorlage für die Mastering -Erstellung. Nur benötigt, wenn der Typ beherrscht.Beispiel:
birdcache = apiaudio . Birdcache . create (
type = "mastering" ,
voice = "linda" ,
text = "This is {{username|me}} creating synchronous text to speech" ,
audience = { "username" : [ "salih" , "sam" , "timo" ]},
soundTemplate = "electronic"
)Pronunciation Dictionary -RessourceBei der Arbeit mit TTS können die Modelle häufig bestimmte Wörter nicht genau aussprechen, beispielsweise werden Marken, Namen und Standorte üblicherweise falsch gepriesen. Als erster Versuch, dies zu beheben, haben wir unsere Lexi -Flagge vorgestellt, die ähnlich wie SSML funktioniert. Wenn Sie beispielsweise <! Peadar> anstelle von Peadar (der einer unserer Gründer ist) in Ihr Skript hinzuzufügen, erzeugt das Modell eine alternative Aussprache dieses Namens. Dies ist besonders nützlich in Fällen, in denen Wörter mehrere Aussprachen haben können, zum Beispiel die Städte "Lesen" und "nett". In diesem Fall wird das Platzieren von <!! Reading> und <! Nice> dafür sorgen, dass diese angesichts des Skripts richtig ausgesprochen werden:
" The city of <!nice> is a really nice place in the south of france."
Wenn diese Lösung für Sie nicht funktioniert, können Sie stattdessen unsere benutzerdefinierte (Self-Serve) -LEXI-Funktion verwenden.
Dies kann verwendet werden, um eines von zwei Dingen zu erreichen, einzelne Wörter zu korrigieren oder Akronyme zu erweitern. Beispielsweise können Sie alle Vorkommen des Wortes Aflorithmic durch „af niedrig rhythmisch“ oder das Wort 'BMW' mit „Bayerische Motoren Werke“ ersetzen. Ersatzwörter können als einfacher Text oder als IPA -Phonemisierung geliefert werden.
Aussprache -Wörterbuchmethoden sind:
list() listet die öffentlich verfügbaren Wörterbücher und ihre Worte auf
Parameter:
noneBeispiel:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() listet die benutzerdefinierten Wörterbücher und ihre jeweiligen Wörter auf
Parameter:
noneBeispiel:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word fügt einem benutzerdefinierten Wörterbuch ein neues Wort hinzu.
lang [Erforderlich] (String) - Sprachfamilie, en . es Dictionary - Verwenden Sie global , um ein Wort global zu registrieren.word [erforderlich] (String) - Das Wort, das ersetzt wirdreplacement [Erforderlich] (String) - Der Ersatztoken. Kann entweder eine einfache Zeichenfolge oder ein IPA -Token sein.contentType [Optional] (String) - Der Inhaltstyp des angegebenen Ersatzes kann entweder basic (Standard) oder ipa für phonetische Ersatz sein.specialization [optional] (String) - Standardmäßig gilt der ausgelieferte Ersatz unabhängig von der angegebenen Sprache, Sprachcode oder Anbieter. Es können jedoch Kantenfälle geliefert werden, diese können entweder gültig sein. Anbietername, Sprachcode (dh EN-GB) oder Sprachname. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Für jede Sprache ist nur ein einzelner Worteintrag gestattet. Jedes Wort kann jedoch mehrere specializations haben. Wenn zum ersten Mal ein Wort registriert wird, wird immer eine default erstellt, die übereinstimmt specialization was übergeben wird. Nachfolgende Anrufe mit unterschiedlichen Spezialisierungen aktualisieren nur die angegebene Spezialisierung. Die genaue Verwendung, die verwendet wird, wird durch die folgende Präferenzreihenfolge bestimmt:
voice name > language dialect > provider name > default
Beispielsweise wird ein für den Sprachnamen sara angegebener Ersatz über einen für den Anbieter azure angegebenen Ersatz ausgewählt.
list_custom_words() listet alle in einem benutzerdefinierten Wörterbuch enthaltenen Wörter auf.
Parameter:
lang [Erforderlich] (String) - Sprachfamilie, z. B. en oder es - Verwenden Sie global , um Sprachwörter aufzulisten.
Beispiel:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) Die Auswirkung der Anwendung des Aussprachewörterbuchs ist mit der script.preview() -Methode zu sehen. Weitere Informationen finden Sie in der Skriptdokumentation.
Beispiel:
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 )Antwort:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } In diesem Beispiel wird Bristol phonemisiert, um sicherzustellen, dass es korrekt ausgesprochen wird, aber da Bude nicht in unserer A Dictionaires ist, bleibt es so wie es ist. Die genauen IPA -Token für Wörter in unseren internen Wörterbuch sind obsfuziert.
Connector Ressource zur Überwachung der 3. Paty -Integrationen. Endergebnisse der Mastering -Ressource können über connectors -Feld in externe Anwendungen verteilt werden. Siehe Dokumentation der Connectors. Liste der derzeit unterstützten Anwendungen:
Verfügbare Methoden:
retrieve() verwenden Sie nach der Registrierung eines Anschlusses in der API.Console diese Methode, um zu überprüfen, ob eine Verbindung unter Verwendung der angegebenen Anmeldeinformationen erfolgreich war.
Parameter:
name * [Erforderlich] (String) - Der Name des in der Konsole angegebenen Anschlusss.Beispiel:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Überprüfen Sie den Status der Verbindung, indem Sie connectionId in einer Mastering -Antwort zurückgeben.
Parameter:
connection_id * [Erforderlich] (String) - Die durch Mastering -Ressource zurückgegebene Verbindung.Beispiel:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)Orchestrator -RessourceDer Orchestrator wird verwendet, um die Arbeit mit einer Reihe von Audio -Diensten so einfach zu gestalten wie das Senden einer einzelnen API -Anfrage. Jede Route hier ist sorgfältig konfiguriert, um qualitativ hochwertige und einfach zugängliche Audio-Assets zu erstellen.
Orchestrator -Methoden sind:
create_audio() erstellt eine einfache TTS -Sprachanforderung und fügt ihr durch Mastering eine Tonvorlage hinzu.
Parameter:
scriptText * [Erforderlich] (STR) - Text zum Synthese (TTS).soundTemplate (STR) - Sound -Vorlage zu verwenden.voice * [Erforderlich] (STR) - Name der Sprache zu verwenden. create_three_sections() erstellt eine TTS -Sprachanforderung mit 3 Abschnitten und fügt ihr durch Mastering eine Tonvorlage hinzu.
Parameter:
introText * [Erforderlich] (STR) - Text zum Synthetisieren im Intro -Abschnitt.mainText * [Erforderlich] (STR) - Text zum Synthese im Hauptabschnitt.outroText * [Erforderlich] (STR) - Text zum Synthese im Outro -Abschnitt.soundTemplate (STR) - Sound -Vorlage zu verwenden.voice * [Erforderlich] (STR) - Name der Sprache zu verwenden. media_with_sound() kombiniert eine bereits bestehende Mediendatei (dh eine aufgezeichnete Stimme) mit einer Tonvorlage
Parameter:
mediaId * [Erforderlich] (STR) - MediaId der Mediendatei als Eingabe.soundTemplate * [Erforderlich] (STR) - Sound -Vorlage zu verwenden.Dieser SDK bietet eine einfache Möglichkeit, Apiaudio Webhook -Call -Sicherheits -Header zu überprüfen. Es wird Ihnen dringend empfohlen, die Header zu überprüfen, um Ihren Server vor böswilligen Angriffen zu schützen.
Die Methode ist:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Es wird wahr zurückgegeben, wenn der Header gültig ist, andernfalls erhöht er einen Fehler. Die zu übergebenen Parameter sind; payload ist das von Apiaudio gesendete Körperobjekt, sig_header ist X-Aflr-Secret in den von Apiaudio gesendeten Anfrage-Headern, secret ist Ihr Webhook-Geheimnis (Sie können es in der Apiaudio-Konsole erhalten) und tolerance ist die Toleranz in Sekundenschnelle für die Headerprüfungen, die zu 300 Sekunden liegen.
Standardmäßig werden von der API ausgegebene Warnungen in der Konsolenausgabe protokolliert. Darüber hinaus sind einige Verhaltensweisen auf der Informationsebene angemeldet (z. B. in Arbeit ... "Indikatoren während längerer Verarbeitungszeiten). Die Protokollierung kann kontrolliert werden, indem die Standardebenen in der logging von Python ausgewählt werden.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Es gibt einen Pre-Commit-Haken, der ausgeführt wird, bevor Sie eine Datei begehen. Dies soll die Codestandards hoch halten. Um es zu aktivieren, sollten Sie make . Anschließend wird der Pre-Commit-Haken für Git eingerichtet. Das ist alles! Jedes Mal, bevor Sie sich verpflichten, wird es Ihnen gelten, Ihnen von den Standards zu erzählen.
Wenn Sie VSCODE zum Festlegen von Dateien verwenden, können Sie pre-commit command not found . Das ist in Ordnung. Führen Sie hier hier einfach brew install pre-commit oder Ihren FaVe-Paket-Manager aus.
Wenn Sie in your pip version is old Fehler, ignorieren Sie sie einfach und verwenden Sie das Terminal.
Wenn git commit -m 'your commit message' --no-verify ein Problem gibt und Sie in Eile sind, können Sie hinzufügen --no-verify am Ende des Befehl
Dieses Projekt ist gemäß den Bedingungen der MIT -Lizenz lizenziert.