Apiaudio adalah API.Audio Python 3 SDK resmi. SDK ini menyediakan akses mudah ke API API.Audio untuk aplikasi yang ditulis dalam Python.
Repositori ini secara aktif dikelola oleh laboratorium Aflorithmic. Sebagai contoh, resep dan referensi API, lihat dokumen API.Audio. Jangan ragu untuk menghubungi pertanyaan atau umpan balik!
Anda dapat melihat di sini Changelog kami yang diperbarui.
Mulailah dengan resep QuickStart kami.
Anda tidak memerlukan kode sumber ini kecuali Anda ingin memodifikasinya. Jika Anda ingin menggunakan paket, cukup jalankan:
pip install apiaudio -U
# or
pip3 install apiaudio -UInstal dari sumber dengan:
python setup.py install
# or
python3 setup.py installPython 3.6+
Buat file hello.py
touch hello . py Perpustakaan ini perlu dikonfigurasi dengan API-Key akun Anda yang tersedia di konsol API.Audio Anda. Impor Paket Apiaudio dan atur apiaudio.api_key dengan Api-key yang Anda dapatkan dari konsol:
import apiaudio
apiaudio . api_key = "your-key"Mari kita buat aset audio pertama kami.
✍️ Buat skrip baru, scriptText kami akan menjadi teks yang kemudian disintesis.
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )? Render scriptText yang dibuat pada langkah sebelumnya. Mari kita gunakan suara aria.
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )Sekarang mari kita bergabung dengan pidato yang baru saja kita buat dengan templat suara.
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )Unduh aset audio akhir ke direktori kerja Anda saat ini:
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath ) Mudah kan? ? Ini adalah file hello.py terakhir.
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 )Sekarang mari kita jalankan kode:
python hello.py
# or
python3 hello.pySetelah ini selesai, temukan aset audio yang diunduh dan mainkan!
import apiaudio Perpustakaan perlu dikonfigurasi dengan kunci rahasia akun Anda yang tersedia di dasbor afloritmik Anda. Setel apiaudio.api_key dengan API-Key yang Anda dapatkan dari dasbor:
apiaudio . api_key = "your-key" Anda juga dapat mengotentikasi menggunakan variabel lingkungan apiaudio_key dan Apiaudio SDK akan secara otomatis menggunakannya. Untuk mengatur, buka terminal dan ketik:
export apiaudio_key= < your-key > Jika Anda memberikan variabel lingkungan dan nilai otentikasi apiaudio.api_key , nilai apiaudio.api_key akan digunakan sebagai gantinya.
Untuk mengendalikan organisasi anak Anda, silakan gunakan metode berikut untuk mengasumsikan ID organisasi itu.
Atur ID Organisasi Anak Anda untuk None berhenti mengasumsikan suatu organisasi. Panggilan selanjutnya ke API akan menggunakan ID organisasi Anda sendiri.
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )Lihat Sumber Daya Organisasi untuk lebih banyak operasi yang dapat Anda lakukan tentang organisasi Anda.
Ada dua pendekatan untuk menggunakan sumber daya.
Pendekatan yang disarankan adalah mengimpor semua sumber daya langsung dari Apiaudio:
import apiaudio
apiaudio . Script . create () Atau, Anda dapat mengimpor kelas sumber daya yang ingin Anda gunakan terlebih dahulu, dan kemudian menggunakan metode sumber daya. Misalnya, menggunakan Script , kita bisa melakukan:
from apiaudio import Script
Script . create () Logika yang sama berlaku untuk sumber daya lain ( Speech , Voice , Sound ...)
OrganizationSumber daya/kelas organisasi memungkinkan Anda untuk melakukan beberapa pengambilan data tentang organisasi Anda dan organisasi anak Anda.
Metode organisasi adalah:
get_org_data() - Dapatkan data organisasi, termasuk orgid, orgname dll. org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - Sebutkan organisasi anak Anda. child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - Dapatkan kunci API Anda, URL Webhook dan Rahasia Webhook. secrets = apiaudio . Organization . get_secrets ()ScriptSumber daya/kelas skrip memungkinkan Anda untuk membuat, mengambil dan daftar skrip. Pelajari lebih lanjut tentang skrip di sini.
Metode skrip adalah:
create() - Buat skrip baru.
scriptText * [Diperlukan] (String) - Teks untuk skrip Anda. Skrip dapat berisi beberapa bagian dan tag SSML. Pelajari lebih lanjut tentang detail ScriptText di siniprojectName (String) - Nama proyek Anda. Nilai default adalah "default" (maks 60 karakter)moduleName (String) - Nama modul Anda. Nilai default adalah "default" (maks 60 karakter)scriptName (String) - Nama skrip Anda. Nilai default adalah "default" (maks 60 karakter)scriptId (String) - Pengidentifikasi Kustom untuk skrip Anda. Jika Parameter ScriptID disediakan, maka ProjectName, ModuleName dan ScriptName diatur ke nilai yang sama dengan ScriptIDversions (Kamus) - Kamus yang berisi versi berbeda dari teks skrip Anda, di mana kuncinya adalah nama versi, dan nilainya adalah scriptText yang terkait. Nama Versi v0 dicadangkan sebagai scriptText default. Nilai default adalah "{}"metadata (Kamus) - Metadata untuk skrip Anda. Ini terbatas pada ukuran 2KB. text = """
<<sectionName::hello>> Hello {{username|buddy}}
<<sectionName::bye>> Good bye from {{location|barcelona}}
"""
script = apiaudio . Script . create (
scriptText = text ,
projectName = "myProject" ,
moduleName = "myModule" ,
scriptName = "myScript" ,
scriptId = "id-1234" ,
metadata = { "author" : "sam" , "tags" : [ "demo" , "intro" ]}
)
# example 2 with versions
script = apiaudio . Script . create (
scriptText = "Default text" ,
versions = { "es" : "Hola" , "en" : "hello" }
) retrieve() - Ambil skrip dengan ID.
scriptId * [diperlukan] (string) - ID skrip yang ingin Anda ambil. Secara default mengambil versi utama (v0).version (String) - Versi skrip yang ingin Anda ambil. script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - Kembalikan skrip dengan penyorotan kamus yang diterapkan. Lihat Lexi untuk lebih banyak contoh cara menggunakan fitur kamus.
Parameter:
scriptId * [Diperlukan] (String) - ID skrip yang ingin Anda gunakan.voice * [diperlukan] (string) - suara yang akan digunakan untuk memberikan ucapan. Ini diperlukan karena output dapat tergantung pada suara, kode bahasa, atau penyedia.Contoh:
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() - Sebutkan semua skrip yang tersedia di organisasi Anda. Metode ini mendukung penyaringan.
projectName (String) - Mengembalikan skrip apa pun dengan nama proyek ini.moduleName (String) - Mengembalikan skrip apa pun dengan nama modulen ini, Catatan projectName juga perlu disediakan.scriptName (String) - Mengembalikan skrip apa pun dengan skrip ini, bukan keduanya projectName dan moduleName perlu disediakan.scriptId (String) - Mengembalikan skrip apa pun dengan skrip ini.verbose (bool) - daftar skrip dalam mode verbose ( True secara default). Atur ini ke False untuk mengembalikan hanya bidang projectName , moduleName , scriptName dan scriptId . scripts = apiaudio . Script . list () delete() - Menghapus skrip. Secara default ini akan menghapus semua versi skrip.
scriptId * [diperlukan] (string) - ID skrip yang akan dihapusversion (String) - Hapus versi tertentu. #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - Hapus banyak skrip.
Parameter:
projectName * [Diperlukan] (String) - Menghapus semua skrip dalam nama proyek ini.moduleName (String) - Menghapus semua skrip dalam nama modulen ini, Catatan projectName juga perlu disediakan.scriptName (String) - Menghapus semua skrip dalam skrip ini, perhatikan baik projectName dan moduleName perlu disediakan.Contoh:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - Ambil teks acak dari daftar kategori.
category (String) - Kategori dari mana teks acak diambil. Jika tidak ada kategori yang ditentukan, fungsi default untuk "FunFact" text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" , "FunFact" , "InspirationalQuote" "Joke" , "Joke", " "MovieSynopsis" ", " "Poem" , "PhilosophicalQuestion" , "Recipe" , "TriviaQuestion" . Script.DirectoryDaftar struktur direktori skrip Anda, yaitu ProjectName/Modulename/ScriptName
Metode script.directory adalah:
list_projects() - Daftar semua proyek.
Parameter:
Contoh:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - Daftar semua modul dalam ProjectPrefix.
Parameter:
projectPrefix * [Diperlukan] - Akan daftar modul yang dimulai dengan ProjectPrefix ini.Contoh:
#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() - Daftar semua modul dalam ProjectPrefix.
Parameter:
projectPrefix * [Diperlukan] - Akan mencantumkan nama skrip yang dimulai dengan ProjectPrefix ini.modulePrefix * [Diperlukan] - Akan daftar skripnames dimulai dengan ModulePrefix ini.Contoh:
#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"]SpeechPidato memungkinkan Anda untuk melakukan Text-to-Speech (TTS) dengan API kami menggunakan semua suara yang tersedia. Gunakan untuk membuat file audio ucapan dari skrip Anda.
Metode bicara adalah:
create() Kirim permintaan teks-ke-speech ke layanan teks-ke-speech kami.
Parameter:
scriptId * [diperlukan] (string) - ID skripversion (String) - Versi skrip yang akan diproduksi. Default adalah "".voice (String) - Nama Suara. Lihat daftar suara yang tersedia menggunakan sumber daya suara. Suara default adalah "Joanna".speed (String) - Kecepatan Suara. Kecepatan default adalah 100.effect (String) - Masukkan efek lucu di suara Anda. Anda dapat mencoba yang berikut: dark_father , chewie , 88b , 2r2d ,silencePadding (Integer) - Tambahkan bantalan diam ke trek bicara Anda (dalam milidetik). Default adalah 0 (tidak ada padding)audience (Dikt) - Tentukan nilai -nilai parameter dalam skrip Anda. Misalnya, jika dalam sumber naskah Anda memiliki scriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" , audiens harus: {"name": "Elon", "lastname": "Musk", "location": "Istanbul"} . Jika tidak disediakan, trek fallback akan dibuat.sync (BOOLEAN) - Izinkan Sync atau Async Speech Creation. Default itu True . Jika sync=False , Panggilan Buat Pidato akan mengembalikan pesan yang berhasil ketika penciptaan pidato dipicu. Untuk mengambil file, periksa metode Speech.retrieve() .sections (DICT) - Tentukan parameter untuk bagian tertentu dalam skrip. Kuncinya adalah nama bagian, dan nilainya adalah kamus lain dengan konfigurasi bagian (parameter yang valid adalah: suara, kecepatan, efek, silence_padding). Jika suatu bagian tidak ditemukan di sini, bagian tersebut akan secara otomatis mewarisi nilai suara, kecepatan, efek dan silence_padding yang Anda tentukan di atas (atau yang default jika Anda tidak menyediakannya). Lihat contoh di bawah ini dengan 2 bagian dan parameter konfigurasi yang berbeda digunakan.useDictionary (BOOL) - Berlaku Kamus Pengucapan untuk Teks Skrip.useTextNormalizer (BOOL) - Menerapkan normalisasi teks, yang dapat membantu menyelesaikan kesalahan tata bahasa dengan pengucapan TTS, misalnya 11:12 UHR -> 11 UHR 12. Catatan - Ini hanya berfungsi untuk suara Jerman saat ini. sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}Contoh sederhana:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)Contoh Lengkap:
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() ambil URL file ucapan.
Parameter:
scriptId * [diperlukan] (string) - ID skrip yang ingin Anda ambil.version (String) - Versi skrip yang akan diambil. Default adalah "".section (String) - Nama Bagian Script yang ingin Anda ambil. Jika tidak disediakan, semua bagian skrip akan dikembalikan.parameters (Dikt) - Dikt yang berisi parameter personalisasi skrip Anda. Jika tidak disediakan, trek fallback akan diambil. Bidang ini tergantung pada parameter yang Anda gunakan di bagian sumber daya skrip Anda. Untuk mengambil satu set parameter tertentu, Anda perlu membuat pidato dengan set parameter yang sama.Contoh:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" ) download() Unduh file ucapan di folder pilihan Anda.
Parameter:
scriptId * [diperlukan] (string) - ID skrip yang ingin Anda unduhversion (String) - Versi skrip yang akan diunduh. Default adalah "".section (String) - Nama Bagian Script yang ingin Anda ambil. Jika tidak disediakan, semua bagian skrip akan dikembalikan.parameters (Dikt) - Dikt yang berisi parameter personalisasi skrip Anda. Jika tidak disediakan, trek fallback akan diambil. Bidang ini tergantung pada parameter yang Anda gunakan di bagian sumber daya skrip Anda. Untuk mengambil satu set parameter tertentu, Anda perlu membuat pidato dengan set parameter yang sama.destination (String) - Jalur tujuan folder. Default adalah "." (folder saat ini)Contoh:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceSuara memungkinkan Anda untuk mengambil daftar suara yang tersedia dari API kami.
Metode suara adalah:
list() Sebutkan semua suara yang tersedia di API kami. Parameter semuanya opsional, dan dapat digunakan dalam kombinasi untuk mendapatkan suara yang sempurna untuk usecase Anda.
provider (String) - Coba salah satu dari: Google, Polly, Azure, MSNR (Aflorithmic), IBM, Yandex, Retro (Aflorithmic), Vocalid, Menyerupailanguage (String) - Misalnya bahasa Inggris, Spanyol, Prancis, Jerman, dll.accent (String) - Misalnya Amerika, Inggris, Netral, Portugis/Brasil, Lembut Amerika, Meksiko, Australiagender (string) - Coba dengan salah satu: pria, wanitaageBracket (String) - Coba dengan salah satu: dewasa, anak, 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, berpengetahuan, fokus, berita, pembaca berita, pewawancara, andal, ramah, ramah, bagus untuk membagikan informasi, sedikit ramahindustryExamples (String) - Cobalah dengan satu atau lebih (dipisahkan oleh koma) dari: kebugaran, bisnis, komersial, mode, perjalanan, buku audio, real estat, keyakinan, industri kesehatan, komersial, realestate, hiburan anak -anak, permainan, layanan pelanggan, pendidikan, mendongeng, hiburan, anak -anak, audiobook pendidikantimePerformance (String) - Kinerja waktu suara. Ada tiga kategori: lambat, sedang, cepat.sectionCharacterLimit (String) - Jumlah maksimum karakter yang dapat diproses oleh suara per skrip. Semua penyedia yang didukung dengan pengecualian vokalid memiliki batas 4000. all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters() Metode ini memungkinkan Anda melihat atribut mana yang dapat Anda filter suara, bersama dengan nilai yang diizinkan untuk setiap atribut. Nantinya Anda dapat menggunakan parameter dan nilai ini untuk memfilter suara yang ingin Anda daftarkan.
Parameter:
Contoh:
parameters = apiaudio . Voice . list_parameters ()SoundSuara memungkinkan Anda untuk merancang templat suara Anda sendiri dari skrip dan trek latar belakang. Untuk mendapatkan templat/proyek suara, pastikan Anda meminta pidato untuk sumber daya skrip Anda terlebih dahulu.
Metode suara adalah:
list() Sebutkan semua templat suara yang tersedia di API kami. Parameter semuanya opsional, dan dapat digunakan dalam kombinasi untuk mendapatkan suara yang sempurna untuk usecase Anda.
industryExamples (String) - Cobalah dengan satu atau lebih (dipisahkan oleh koma) dari: berita, perjalanan, bisnis, relaksasi, kebugaran, santai, cerita anak -anakcontents (String) - Coba dengan satu atau lebih (dipisahkan oleh koma) dari: intro, utama, outro, efek1, efek2, outro utama, droid_main, chewie_main, efek3, suasana, hanya efek efekgenre (String) - Coba dengan salah satu: elektronik, akustik, atmosfer, abstrak, rocktempo (string) - coba dengan salah satu: mid, up, down, uptempotags (string) - Try with one or more (separated by commas) of: intense, minimal, reflective, melodic, happy, nostalgic, focus, energetic, uplifting, active, relaxed, ambience, mysterious, positive, informative, workout, work, meditation, travel, full silence sound_templates = apiaudio . Sound . list () list_parameters() Metode ini memungkinkan Anda melihat atribut mana yang dapat Anda filter templat suara, bersama dengan nilai yang diizinkan untuk setiap atribut. Anda nanti dapat menggunakan parameter dan nilai ini untuk memfilter templat suara yang ingin Anda daftarkan.
Parameter:
Contoh:
parameters = apiaudio . Sound . list_parameters ()MasteringMastering memungkinkan Anda untuk membuat dan mengambil file audio yang dikuasai dari skrip Anda. Versi yang dikuasai berisi pidato skrip, trek latar belakang, parameter yang dipersonalisasi untuk audiens Anda dan proses penguasaan untuk meningkatkan kualitas audio seluruh trek. Untuk mendapatkan file audio yang dikuasai, pastikan Anda meminta pidato untuk sumber daya skrip Anda terlebih dahulu.
Metode penguasaan adalah:
create() Buat versi yang dikuasai dari skrip Anda dan pilih format audio.
Parameter:
scriptId * [Diperlukan] (String) - ID sumber daya skrip.version (String) - Versi skrip yang akan diproduksi. Default adalah "".soundTemplate (String) - Nama Templat Suara. Untuk daftar templat suara yang tersedia, periksa panggilan apiaudio.Sound.list_sound_templates() .public (BOOLEAN) - Bendera boolean yang memungkinkan untuk menyimpan file yang dikuasai di folder S3 publik. Nilai default False . PERINGATAN - Ini akan menyebabkan file Anda yang dikuasai menjadi publik bagi siapa pun di internet. Gunakan ini dengan risiko Anda sendiri.vast (boolean) - bendera boolean yang memungkinkan untuk membuat file luas dari file Anda yang dikuasai. Bendera vast hanya berfungsi jika public True . Nilai default False .endFormat (Daftar) - Daftar format audio yang akan diproduksi. Format yang valid adalah: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - Paksa panjang audio trek yang dikuasai (dalam detik).audience (Dikt) - Kamus yang berisi parameter personalisasi. Parameter ini tergantung pada jumlah parameter yang Anda gunakan dalam sumber daya skrip Anda. Dalam contoh dokumentasi skrip di atas, kami menggunakan 2 parameter: username dan location , dan dalam contoh berikut di bawah ini kami ingin menghasilkan skrip untuk nama pengguna salih dengan lokasi Barcelona . Jika audiens tidak disediakan, trek fallback akan dibuat.mediaFiles (Daftar) - Daftar Dikt yang berisi file media. Parameter ini tergantung pada tag file media yang digunakan dalam sumber daya skrip dan file media yang Anda miliki di akun Anda. Misalnya, jika skrip berisi <<media::myrecording>> Plus <<media::mysong>> , dan Anda ingin melampirkan myrecording ke mediaid = "12345", dan mysong ke mediaid = "67890" lalu mediaFiles = [{"myrecording":"12345", "mysong":"67890"}] .mediaVolumeTrim (float) - Floating Point Varible yang memungkinkan Anda untuk memangkas volume file media yang diunggah (dalam DB). Atribut ini memiliki jangkauan -12 hingga 12 dB yang valid dan berlaku untuk semua file media yang termasuk dalam satu panggilan penguasaan. Perlindungan kliping tidak disediakan sehingga hanya membuat penyesuaian tambahan.connectors (Daftar) - Daftar Dikt Menentukan Konfigurasi untuk Koneksi Pihak ke -3 tertentu. Untuk pedoman dalam konteks aplikasi pihak ke -3 yang didukung, lihat Dokumentasi Konektor.masteringPreset (String) - Mastering Preset untuk digunakan, ini memungkinkan fitur -fitur seperti kompresi sidechain 'yaitu ducking' lihat apiaudio.Mastering.list_presets() untuk daftar preset dan deskripsi mereka.share (Boolean) - Jika Anda ingin memiliki tautan yang dapat dibagikan dibuat dengan file audio Anda, gunakan flag ini. Jika Anda menempatkan share: True responsnya akan dikembalikan oleh parameter shareUrl . (Catatan: Jika Anda meletakkan bendera ini, file pribadi Anda akan dikonversi ke file publik.)Contoh:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() Membuat permintaan penguasaan berdasarkan murni pada file media yang diunggah. File media perlu diunggah sebelum memanggil fungsi ini. Lihat media.
Parameter:
timeline * [Diperlukan] (Daftar) - Objek Timeline. Objek garis waktu adalah daftar kamus, di mana masing -masing mewakili trek file audio. Setiap trek harus memiliki dua files kunci berikut dan contentType .
files * [Diperlukan] (Daftar) File adalah daftar kamus, di mana setiap entri harus memiliki 3 tombol, mediaId , startAt dan endAt berikut
files * [diperlukan] (str) Mediaid dari file yang telah diunggah.startAt * [wajib] (float) waktu yang harus dimulai oleh file media ini dalam hitungan detik.endAt * [wajib] (float) waktu yang harus diakhiri dengan file media ini pada detik. contentType * [diperlukan] (string) - Jenis konten yang dikandung trek ini, harus berupa sound atau speech
endFormat (Daftar) - Daftar format audio yang akan diproduksi. Format yang valid adalah: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - Mastering Preset untuk digunakan, ini memungkinkan fitur -fitur seperti kompresi sidechain 'yaitu ducking' lihat apiaudio.Mastering.list_presets() untuk daftar preset dan deskripsi mereka.
Contoh:
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() mengambil URL file yang dikuasai.
Parameter:
scriptId * [Diperlukan] (String) - ID sumber daya skrip.versions (String) - Versi skrip yang akan diambil. Default adalah "".parameters (Dikt) - Kamus yang berisi item pemirsa yang ingin Anda ambil. Jika parameter tidak disediakan, trek fallback akan diambil.public (BOOLEAN) - Bendera boolean yang memungkinkan untuk mengambil file yang dikuasai dari ember publik. Gunakan ini jika Anda ingin mengambil file yang dikuasai yang dibuat menggunakan public=True . Nilai default False .vast (Boolean) - Bendera Boolean yang memungkinkan untuk mengambil file luas dari file Anda yang dikuasai. Bendera vast hanya berfungsi jika public True . Nilai default False .endFormat (Daftar) - Daftar format audio yang akan diambil. Format yang valid adalah: ["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]Contoh:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) download() Unduh file yang dikuasai di folder pilihan Anda.
Parameter:
scriptId * [Diperlukan] (String) - ID sumber daya skrip.version (String) - Versi skrip yang akan diunduh. Default adalah "".parameters (Dikt) - Kamus yang berisi item pemirsa yang ingin Anda ambil. Jika parameter tidak disediakan, trek fallback akan diunduh.destination (String) - Jalur tujuan folder. Default adalah "." (folder saat ini)public (BOOLEAN) - Bendera boolean yang memungkinkan untuk mengambil file yang dikuasai dari ember publik. Gunakan ini jika Anda ingin mengambil file yang dikuasai yang dibuat menggunakan public=True . Nilai default False .vast (Boolean) - Bendera Boolean yang memungkinkan untuk mengambil file luas dari file Anda yang dikuasai. Bendera vast hanya berfungsi jika public True . Nilai default False .Contoh:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets() Daftar preset penguasaan yang tersedia.
Contoh:
presets = apiaudio . Mastering . list_presets ()
print ( presets )MediaMedia memungkinkan Anda untuk mengambil semua file yang tersedia di API.Audio untuk organisasi Anda.
Metode media adalah:
upload() - Unggah file ke database kami.
Parameter:
file_path * [diperlukan] (string) - jalur relatif ke file audio.tags (String) - Tag terpisah koma yang ingin Anda tambahkan ke file yang diunggah. Ini akan membuat pengambilan lebih mudah.Contoh:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - Sebutkan semua file dalam org.
Parameter:
mediaId (String) - Jika diteruskan, hanya akan mengembalikan file itu, atau objek kosong jika tidak ada.tags (String) - Tag terpisah koma yang ingin Anda tambahkan ke file yang diunggah. Jika lulus, akan mengembalikan semua file yang setidaknya berisi tag tersebut.downloadUrl (boolean): Jika benar, URL yang ditentukan ditambahkan ke setiap item pada array. Ini lambat untuk sejumlah besar file (masing -masing sekitar 1s).public (BOOLEAN): Jika benar, file media yang terdaftar akan menjadi file media publik yang disediakan oleh API.Audio. Default salah.Contoh:
# 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() Ini mengembalikan daftar dengan semua tag yang ditentukan pengguna yang unik.
Contoh:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - Metode ini mengembalikan URL yang ditetapkan untuk mengunduh file audio tertentu
mediaId * [wajib] (string): ID media untuk file yang akan diunduhContoh
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - Metode ini mengunduh file audio tertentu
mediaId * [wajib] (string): ID media untuk file yang akan diunduhdestination (String): Path to the Directory di mana file akan diunduh. Default adalah "."Contoh
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTSSynctts memungkinkan Anda untuk melakukan Text-to-Speech (TTS) sinkron dengan API kami menggunakan semua suara yang tersedia. Gunakan untuk membuat file audio ucapan dari teks dan nama suara. Responsnya berisi byte gelombang yang siap dimainkan atau ditulis ke file.
Metode synctts adalah:
create() Buat file ucapan TTS.
Parameter:
voice * [diperlukan] (string) - Nama suara. Lihat daftar suara yang tersedia menggunakan sumber daya suara.text * [Diperlukan] (String) - Teks yang ingin Anda lakukan dengan TTS. Batasnya adalah 800 karakter untuk file gelombang.metadata [opsional] ("penuh" atau "tidak ada") - tingkat metadata yang Anda inginkan. Mengembalikan daftar fonem (hanya tersedia untuk beberapa suara MSNR)Contoh:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheBirdcache adalah layanan caching yang disediakan oleh API.Audio yang menyediakan lapisan caching untuk pelanggan dengan menyimpan data di server API.Audio untuk penggunaan di masa depan. Ini memungkinkan Anda untuk mengambil file ucapan Anda dengan cepat.
Metode Birdcache adalah:
create() Buat file ucapan TTS.
Parameter:
type * [Diperlukan] (String) - Jenis acara. Jenis yang didukung adalah mastering dan speech .text * [Diperlukan] (String) - Teks yang ingin Anda lakukan dengan bicara/penguasaan. Lihat contoh untuk parameter personalisasi.voice * [diperlukan] (string) - suara untuk pembuatan pidato.audience * [Opsional] (Dikt) - Objek pasangan kunci untuk parameter personalisasi. Lihat contoh di bawah ini.soundTemplate [Opsional] (String) - Template suara untuk menguasai pembuatan. Hanya diperlukan saat jenisnya menguasai.Contoh:
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 DictionarySeringkali ketika bekerja dengan TTS, model dapat gagal untuk secara akurat mengucapkan kata-kata tertentu, misalnya merek, nama, dan lokasi umumnya salah pronor. Sebagai upaya pertama untuk memperbaikinya, kami telah memperkenalkan bendera Lexi kami, yang berfungsi dengan cara yang mirip dengan SSML. Misalnya, menambahkan <! Peadar> alih -alih peadar (yang merupakan salah satu pendiri kami) ke skrip Anda akan menyebabkan model menghasilkan pengucapan alternatif dari nama ini. Ini sangat berguna dalam kasus di mana kata -kata dapat memiliki banyak pengucapan, misalnya kota 'membaca' dan 'bagus'. Dalam hal ini menempatkan <! Reading> dan <! Nice> akan memastikan bahwa ini diucapkan dengan benar, mengingat skripnya:
" The city of <!nice> is a really nice place in the south of france."
Jika solusi ini tidak berfungsi untuk Anda, Anda dapat memanfaatkan fitur Lexi khusus (swalayan) kami.
Ini dapat digunakan untuk mencapai salah satu dari dua hal, mengoreksi kata tunggal, atau memperluas akronim. Misalnya, Anda dapat mengganti semua kemunculan kata afloritmik dengan "af rendah ritmik" atau kejadian kata 'BMW "dengan" Bayerische Motoren Werke ". Kata pengganti dapat disuplai sebagai teks biasa atau fonemisation IPA.
Metode Kamus Prononciation adalah:
list() mencantumkan kamus yang tersedia untuk umum dan kata -katanya
Parameter:
noneContoh:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts() mencantumkan kamus khusus dan kata -kata masing -masing
Parameter:
noneContoh:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_word menambahkan kata baru ke kamus khusus.
lang global wajib] (String) - Keluarga Bahasa, en esword [diperlukan] (string) - kata yang akan digantireplacement [diperlukan] (string) - Token pengganti. Dapat berupa string biasa atau token IPA.contentType [Opsional] (String) - Jenis konten dari penggantian yang disediakan, dapat berupa basic (default) atau ipa untuk penggantian fonetik.specialization [Opsional] (String) - Secara default penggantian yang disediakan akan berlaku terlepas dari suara, kode bahasa atau penyedia yang disediakan. Namun kasus tepi dapat disediakan, ini bisa valid; Nama Penyedia, Kode Bahasa (yaitu EN-GB) atau Nama Suara. # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r ) Untuk setiap bahasa, hanya satu entri kata yang diizinkan. Namun, setiap kata dapat memiliki beberapa specializations . Ketika sebuah kata pertama kali terdaftar, specialization default selalu dibuat, yang akan cocok dengan apa yang dilewati. Panggilan selanjutnya dengan spesialisasi yang berbeda hanya akan memperbarui spesialisasi yang diberikan. Pengacakan yang tepat yang akan digunakan ditentukan oleh urutan preferensi berikut:
voice name > language dialect > provider name > default
Misalnya, penggantian yang ditentukan untuk nama suara sara akan dipilih melalui penggantian yang ditentukan untuk penyedia azure .
list_custom_words() mencantumkan semua kata yang terkandung dalam kamus khusus.
Parameter:
lang [wajib] (String) - Keluarga Bahasa, en atau es - Gunakan global untuk daftar kata -kata agnostik bahasa.
Contoh:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" ) Efek menerapkan kamus pengucapan dapat dilihat dengan metode script.preview() . Lihat dokumentasi skrip untuk detail lebih lanjut.
Contoh:
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 )Tanggapan:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" } Dalam contoh ini, Bristol akan fonemisasi untuk memastikannya diucapkan dengan benar, tetapi karena Bude tidak ada dalam kamus kami, ia dibiarkan seperti apa adanya. Token IPA yang tepat untuk kata -kata dalam kamus internal kita dikejar.
Connector Sumber daya yang digunakan untuk memantau integrasi PATY ke -3. Hasil akhir dari sumber daya penguasaan dapat didistribusikan ke dalam aplikasi eksternal melalui bidang connectors . Lihat Dokumentasi Konektor. Daftar aplikasi yang saat ini didukung:
Metode yang tersedia:
retrieve() Setelah mendaftarkan konektor di API.Console, gunakan metode ini untuk memeriksa apakah koneksi berhasil menggunakan kredensial yang disediakan.
Parameter:
name * [Diperlukan] (String) - Nama konektor yang ditentukan dalam konsol.Contoh:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection() Periksa status koneksi dengan menyediakan connectionId yang dikembalikan dalam respons penguasaan.
Parameter:
connection_id * [Diperlukan] (String) - ConnectionID dikembalikan oleh Mastering Resource.Contoh:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)OrchestratorOrchestrator digunakan untuk membuat bekerja dengan berbagai layanan audio semudah mengirimkan permintaan API tunggal. Setiap rute di sini dikonfigurasi dengan cermat untuk menghasilkan aset audio berkualitas tinggi dan mudah diakses.
Metode orkestra adalah:
create_audio() Membuat permintaan ucapan TTS sederhana dan menambahkan templat suara ke dalamnya melalui penguasaan.
Parameter:
scriptText * [diperlukan] (str) - Teks untuk disintesis (TTS).soundTemplate (str) - Template suara untuk digunakan.voice * [diperlukan] (str) - Nama suara untuk digunakan. create_three_sections() Membuat permintaan pidato TTS dengan 3 bagian dan menambahkan templat suara ke dalamnya melalui penguasaan.
Parameter:
introText * [wajib] (str) - teks untuk disintesis di bagian intro.mainText * [wajib] (str) - Teks untuk disintesis di bagian utama.outroText * [wajib] (str) - Teks untuk disintesis di bagian Outro.soundTemplate (str) - Template suara untuk digunakan.voice * [diperlukan] (str) - Nama suara untuk digunakan. media_with_sound() menggabungkan file media yang sudah ada sebelumnya (yaitu suara pra-rekaman) dengan templat suara
Parameter:
mediaId * [wajib] (str) - Mediaid dari file media untuk digunakan sebagai input.soundTemplate * [diperlukan] (str) - Template suara untuk digunakan.SDK ini menyediakan cara mudah untuk memverifikasi header keamanan panggilan webhook apiaudio. Sangat disarankan bagi Anda untuk memverifikasi header untuk melindungi server Anda dari serangan jahat apa pun.
Metodenya adalah:
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance ) Ini akan mengembalikan true jika header valid, jika tidak maka akan menimbulkan kesalahan. Parameter yang harus dilewati adalah; payload menjadi objek tubuh yang dikirim oleh Apiaudio, sig_header menjadi X-Aflr-Secret di header permintaan yang dikirim oleh Apiaudio, secret menjadi rahasia webhook Anda (Anda bisa mendapatkannya di Konsol Apiaudio) dan tolerance menjadi toleransi dalam detik untuk cek header, yang default hingga 300 detik.
Secara default, peringatan yang dikeluarkan oleh API dicatat dalam output konsol. Selain itu, beberapa perilaku dicatat pada tingkat informasi (misalnya "sedang dalam proses ..." selama waktu pemrosesan yang lebih lama). Tingkat pencatatan dapat dikontrol dengan memilih dari level standar di pustaka logging Python.
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logs Ada kait pra-komit yang akan berjalan sebelum Anda melakukan file. Ini untuk menjaga standar kode tetap tinggi. Untuk mengaktifkannya, Anda harus menjalankan make . Maka itu akan mengatur kait pra-komit untuk git. Itu saja! Sekarang setiap kali sebelum Anda berkomitmen, itu akan berjalan untuk memberi tahu Anda tentang standar.
Jika Anda menggunakan vScode untuk melakukan file, Anda dapat menabrak pre-commit command not found kesalahan. Tidak apa-apa, cukup jalankan brew install pre-commit atau Manajer Paket Fave Anda dari daftar di sini.
Jika Anda menabrak your pip version is old , abaikan saja dan gunakan terminal.
Jika ada masalah dan Anda terburu-buru, Anda dapat menambahkan --no-verify di akhir perintah komit, itu akan melewatkan kait pra-komit, misalnya git commit -m 'your commit message' --no-verify
Proyek ini dilisensikan berdasarkan ketentuan lisensi MIT.