Apiaudioは公式のAPI.Audio Python 3 SDKです。このSDKは、Pythonで記述されたアプリケーションのAPI.AUDIO APIに簡単にアクセスできます。
このリポジトリは、Aflorithmic Labsによって積極的に維持されています。たとえば、レシピ、APIリファレンスについては、api.audio docsを参照してください。質問やフィードバックにご連絡ください!
ここで更新された変更ログを表示できます。
クイックスタートレシピを始めましょう。
変更したい場合を除き、このソースコードは必要ありません。パッケージを使用する場合は、実行するだけです。
pip install apiaudio -U
# or
pip3 install apiaudio -Uソースからインストール:
python setup.py install
# or
python3 setup.py installPython 3.6+
ファイルhello.pyを作成します
touch hello . pyこのライブラリは、API.Audioコンソールで使用できるアカウントのAPI-Keyで構成する必要があります。 APIAUDIOパッケージをインポートし、コンソールから入手したAPIKEYでapiaudio.api_keyを設定します。
import apiaudio
apiaudio . api_key = "your-key"最初のオーディオアセットを作成しましょう。
✍️新しいスクリプトを作成すると、 scriptText後で合成されるテキストになります。
script = apiaudio . Script . create ( scriptText = "Hello world" )
print ( script )?前のステップで作成されたScriptTextをレンダリングします。 Voice Ariaを使用しましょう。
response = apiaudio . Speech . create ( scriptId = script [ "scriptId" ], voice = "Aria" )
print ( response )それでは、サウンドテンプレートで作成したばかりのスピーチに参加しましょう。
response = apiaudio . Mastering . create (
scriptId = script . get ( "scriptId" ),
soundTemplate = "jakarta"
)
print ( response )最終的なオーディオアセットを現在の作業ディレクトリにダウンロードしてください。
filepath = apiaudio . Mastering . download ( scriptId = script [ "scriptId" ], destination = "." )
print ( filepath )簡単ですよね? ?これが最後の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 )次に、コードを実行しましょう。
python hello.py
# or
python3 hello.pyこれが完了したら、ダウンロードしたオーディオアセットを見つけて再生してください!
import apiaudioライブラリは、Aflorithmic Dashboardで使用できるアカウントのシークレットキーで構成する必要があります。ダッシュボードから得たapi-keyでapiaudio.api_key設定します。
apiaudio . api_key = "your-key" apiaudio_key Environment変数を使用して認証することもでき、Apiaudio SDKは自動的に使用します。セットアップするには、端子を開きます。
export apiaudio_key= < your-key >環境変数とapiaudio.api_key認証値の両方を提供する場合、代わりにapiaudio.api_key値が使用されます。
あなたの子供の組織を制御するために、次の方法を使用して、その組織IDを想定してください。
組織の仮定を停止するために、子供の組織IDをNoneに設定します。 APIへの後続の呼び出しは、独自の組織IDを使用します。
import apiaudio
apiaudio . set_assume_org_id ( 'child_org_id' )
# Stop using
apiaudio . set_assume_org_id ( None )組織については、組織のリソースを参照してください。組織について実行できます。
リソースを使用するには、2つのアプローチがあります。
推奨されるアプローチは、すべてのリソースをApiaudioから直接インポートすることです。
import apiaudio
apiaudio . Script . create ()または、最初に使用するリソースクラスをインポートしてから、リソースメソッドを使用することもできます。たとえば、 Scriptを使用するには、次のことができます。
from apiaudio import Script
Script . create ()同じロジックが他のリソースに適用されます( Speech 、 Voice 、 Sound ...)
Organizationリソース組織のリソース/クラスを使用すると、組織と児童組織に関するデータ検索を実行できます。
組織の方法は次のとおりです。
get_org_data() - orgid、orgnameなどを含む組織のデータを取得します。 org_data = apiaudio . Organization . get_org_data ()list_child_orgs() - 子供の組織をリストします。 child_orgs = apiaudio . Organization . list_child_orgs ()get_secrets() - APIキー、WebHook URL、WebHook Secretを取得します。 secrets = apiaudio . Organization . get_secrets ()Scriptリソーススクリプトリソース/クラスでは、スクリプトを作成、取得、リストすることができます。スクリプトの詳細については、こちらをご覧ください。
スクリプトメソッドは次のとおりです。
create() - 新しいスクリプトを作成します。
scriptText * [必須](文字列) - スクリプトのテキスト。スクリプトには、複数のセクションとSSMLタグを含めることができます。 ScriptTextの詳細の詳細については、こちらをご覧くださいprojectName (String) - プロジェクトの名前。デフォルト値は「デフォルト」(最大60文字)ですmoduleName (string) - モジュールの名前。デフォルト値は「デフォルト」(最大60文字)ですscriptName (string) - スクリプトの名前。デフォルト値は「デフォルト」(最大60文字)ですscriptId (string) - スクリプトのカスタム識別子。 ScriptIDパラメーターが提供されている場合、ProjectName、modulename、およびscriptNameがScriptIDと同じ値に設定されますversions (辞書) - スクリプトテキストの異なるバージョンを含む辞書。キーはバージョン名で、その値は関連するscriptTextです。バージョン名v0は、デフォルトのscriptTextとして予約されています。デフォルト値は「{}」ですmetadata (辞書) - スクリプト用のメタデータ。これはサイズが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() - IDでスクリプトを取得します。
scriptId * [必須](文字列) - 取得するスクリプトID。デフォルトでは、メインバージョン(V0)を取得します。version (文字列) - 取得するスクリプトバージョン。 script = apiaudio . Script . retrieve ( scriptId = "id-1234" , version = "abc" ) preview - 辞書の強調表示を適用したスクリプトを返します。辞書機能の使用方法の詳細については、Lexiを参照してください。
パラメーター:
scriptId * [必須](文字列) - 使用するスクリプトID。voice * [必須](文字列) - スピーチをレンダリングするために使用される音声。出力は音声、言語コード、またはプロバイダーに依存する可能性があるため、これが必要です。例:
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() - 組織で利用可能なすべてのスクリプトをリストします。この方法は、フィルタリングをサポートします。
projectName (String) - このProjectNameでスクリプトを返します。moduleName (string) - このモジュールに任意のスクリプトを返します。注projectNameも提供する必要があります。scriptName (string) - projectNameとmoduleName両方を提供する必要はなく、このスクリプト名でスクリプトを返します。scriptId (string) - このscriptidでスクリプトを返します。verbose (bool) - verboseモードのスクリプトをリストします(デフォルトではTrue )。これをFalseに設定して、 projectName 、 moduleName 、 scriptName 、 scriptIdフィールドのみを返します。 scripts = apiaudio . Script . list () delete() - スクリプトを削除します。デフォルトでは、これによりスクリプトのすべてのバージョンが削除されます。
scriptId * [必須](文字列) - 削除されるスクリプトのIDversion (文字列) - 特定のバージョンを削除します。 #deletes version 'en' from scriptId 'myworkout'
scripts = apiaudio . Script . delete ( scriptId = "myworkout" , version = "en" ) delete_multiple() - 複数のスクリプトを削除します。
パラメーター:
projectName * [必須](文字列) - このProjectName内のすべてのスクリプトを削除します。moduleName (string) - このモジュール内のすべてのスクリプトを削除すると、注projectNameも提供する必要があります。scriptName (string) - このscriptName内のすべてのスクリプトを削除するには、 projectNameとmoduleName両方を提供する必要があることに注意してください。例:
#deletes all scripts within the project 'awesome_demos'
scripts = apiaudio . Script . delete_multiple ( projectName = "awesome_demos" ) get_random_text() - カテゴリのリストからランダムテキストを取得します。
category (文字列) - ランダムテキストが取得されるカテゴリ。カテゴリが指定されていない場合、関数はデフォルトで"FunFact"になります text = apiaudio . Script . get_random_text ( category = "BibleVerse" )"BibleVerse" 、 "FunFact" 、 "InspirationalQuote" 、 "Joke" 、 "MovieSynopsis" 、 "Poem" 、 "PhilosophicalQuestion" 、 "Recipe" 、 "TriviaQuestion" 。 Script.Directoryリソーススクリプトのディレクトリ構造、すなわちprojectName/modulename/scriptNameをリストします
script.directoryメソッドは次のとおりです。
list_projects() - すべてのプロジェクトをリストします。
パラメーター:
例:
#Lists all project names
projects = apiaudio . Script . Directory . list_projects ()
print ( projects )
# example output: ["projectX", "projectY"] list_modules() - ProjectPrefix内のすべてのモジュールをリストします。
パラメーター:
projectPrefix * [必須] - このProjectPrefixから始まるモジュールを一覧表示します。例:
#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() - ProjectPrefix内のすべてのモジュールをリストします。
パラメーター:
projectPrefix * [必須] - このprojectPrefixから始まるスクリプト名をリストします。modulePrefix * [必須] - このmodulePrefixで始まるスクリプト名をリストします。例:
#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"]Speechリソーススピーチを使用すると、利用可能なすべての声を使用してAPIを使用してテキスト対スピーチ(TTS)を行うことができます。それを使用して、スクリプトからスピーチオーディオファイルを作成します。
音声方法は次のとおりです。
create()テキストからスピーチへのリクエストをテキストからスピーチサービスに送信します。
パラメーター:
scriptId * [必須](文字列) - スクリプトIDversion (文字列) - 作成されるスクリプトのバージョン。デフォルトは ""です。voice (文字列) - 音声名。音声リソースを使用して利用可能な音声のリストを参照してください。デフォルトの音声は「Joanna」です。speed (文字列) - 音声速度。デフォルト速度は100です。effect (文字列) - あなたの声に面白い効果を置きます。次のものを試すことができます: dark_father 、 chewie 、 88b 、 2r2d 、silencePadding (Integer) - 音声パディングをスピーチトラック(ミリ秒単位)に追加します。デフォルトは0です(パディングなし)audience (dict) - スクリプト内のパラメーターの値を指定します。たとえば、スクリプトリソースにscriptText="Hello {{name}} {{lastname}}, welcome to {{location}}" 、聴衆は{"name": "Elon", "lastname": "Musk", "location": "Istanbul"}である必要があります。提供されていない場合、フォールバックトラックが作成されます。sync (Boolean) - 同期または非同期の音声作成を許可します。デフォルトはTrueです。 sync=Falseの場合、音声作成の作成は、音声作成がトリガーされたときに成功メッセージを返します。ファイルを取得するには、 Speech.retrieve()メソッドを確認してください。sections (DICT) - スクリプト内の特定のセクションのパラメーターを指定します。キーはセクション名で、値はセクション構成を備えた別の辞書です(有効なパラメーターは、音声、速度、効果、silence_paddingです)。ここにセクションが見つからない場合、セクションは、上記で定義した音声、速度、効果、silence_padding値(またはそれらを提供しない場合はデフォルトの値)を自動的に継承します。 2つのセクションとさまざまな構成パラメーターが使用されている以下の例を参照してください。useDictionary (BOOL) - Scriptテキストに発音辞書を適用します。useTextNormalizer (bool) - テキストの正規化を適用します。これは、TTS発音で文法エラーを解決するのに役立ちます。たとえば、11:12 UHR-> 11 UHR 12。 sections = {
"firstsection" : {
"voice" : "Matthew" ,
"speed" : 110 ,
"silence_padding" : 100
},
"anothersection" : {
"voice" : "en-GB-RyanNeural" ,
"speed" : 100
}
}簡単な例:
response = apiaudio . Speech . create (
scriptId = "id-1234" ,
voice = "Joanna"
)完全な例:
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()ます。
パラメーター:
scriptId * [必須](文字列) - 取得するスクリプトID。version (文字列) - 取得するスクリプトのバージョン。デフォルトは ""です。section (文字列) - 取得するスクリプトセクション名。提供されていない場合、すべてのスクリプトセクションが返されます。parameters (dict) - スクリプトのパーソナライズパラメーターを含むdict。提供されていない場合、フォールバックトラックが取得されます。このフィールドは、スクリプトのリソースセクションで使用したパラメーターに依存します。特定のパラメーターセットを取得するには、同じパラメーターセットでスピーチを作成する必要があります。例:
audio_files = apiaudio . Speech . retrieve ( scriptId = "id-1234" )希望フォルダーにスピーチファイルをダウンロードしてdownload() 。
パラメーター:
scriptId * [必須](文字列) - ダウンロードしたいスクリプトIDversion (文字列) - ダウンロードされるスクリプトのバージョン。デフォルトは ""です。section (文字列) - 取得するスクリプトセクション名。提供されていない場合、すべてのスクリプトセクションが返されます。parameters (dict) - スクリプトのパーソナライズパラメーターを含むdict。提供されていない場合、フォールバックトラックが取得されます。このフィールドは、スクリプトのリソースセクションで使用したパラメーターに依存します。特定のパラメーターセットを取得するには、同じパラメーターセットでスピーチを作成する必要があります。destination (文字列) - フォルダー宛先パス。デフォルトは「」です。 (現在のフォルダー)例:
audio_files = apiaudio . Speech . download ( scriptId = "id-1234" , destination = "." )VoiceリソースVoiceを使用すると、APIから利用可能な声のリストを取得できます。
音声方法は次のとおりです。
list() APIで利用可能なすべての声をリストします。パラメーターはすべてオプションであり、USECaseに最適な音声を得るために組み合わせて使用できます。
provider (String)-Google、Polly、Azure、MSNR(Aflorithmic)、IBM、Yandex、Retro(Aflorithmic)、Vocalid、Loplessのいずれかを試してくださいlanguage (文字列) - 英語、スペイン語、フランス語、ドイツ語などaccent (文字列) - アメリカ、イギリス、ニュートラル、ポルトガル/ブラジル人、アメリカ人ソフト、メキシコ、オーストラリア人gender (文字列) - 男性、女性のいずれかを試してくださいageBracket (string) - 大人、子供、シニアのいずれかを試してみてくださいtags (文字列) - 安定した、自信、バランス、バランス、有益な、有益な、真剣な、教育的、ゆっくり、ストーリーテリング、落ち着き、深い、フォーマル、フォーマル、薄い、高速、楽しい、エネルギッシュ、緊張、緊張、非常に高速、平らな、低ピッチ、高ピッチ、高ピッチ、低ピッチ、低ピッチ、尖った、患者、肉体的、類似、協力、協力的、安定した、肉体的な責任ある、詩、知識豊富、集中、ニュースキャスター、ニュースリーダー、インタビュアー、信頼できる、フレンドリー、歓迎、情報を配るのに適しています。industryExamples (String) - フィットネス、ビジネス、コマーシャル、ファッション、ファッション、トラベル、トラベル、不動産、信仰、健康産業、コマーシャル、リアルテート、キッズエンターテイメント、ゲーム、顧客サービス、教育、ストーリーテリング、エンターテイメント、子供、教育オーディオブックの1つ以上(コンマで分離)を試してください。timePerformance (String) - 音声の時間パフォーマンス。 3つのカテゴリがあります:ゆっくり、中、高速。sectionCharacterLimit (String) - スクリプトセクションごとに音声が処理できる文字の最大量。 VocalIDを除くすべてのサポートされているプロバイダーの限界は4000です。 all_voices = apiaudio . Voice . list () french_voices = apiaudio . Voice . list ( language = "french" , tags = "steady, fun" ) list_parameters()このメソッドでは、各属性の許可された値とともに、どの属性が声をフィルタリングできるかを確認できます。後でこれらのパラメーターと値を使用して、リストする声をフィルタリングできます。
パラメーター:
例:
parameters = apiaudio . Voice . list_parameters ()SoundリソースSoundを使用すると、スクリプトとバックグラウンドトラックから独自のサウンドテンプレートを設計できます。サウンドテンプレート/プロジェクトを取得するには、最初にスクリプトリソースのスピーチをリクエストしてください。
健全な方法は次のとおりです。
list() APIで利用可能なすべてのサウンドテンプレートをリストします。パラメーターはすべてオプションであり、USECaseに最適なサウンドを得るために組み合わせて使用できます。
industryExamples (String) - ニュース、旅行、ビジネス、リラックス、フィットネス、リラックス、子供の物語の1つ以上(コンマで区切られた)で試してくださいcontents (文字列) - イントロ、メイン、アウトロ、エフェクト1、エフェクト2、メインアウトロ、droid_main、chewie_main、effect3、ambience、唯一の効果の1つ以上(コンマで分離)で試してくださいgenre (文字列) - 電子、音響、大気、抽象、ロックのいずれかを試してくださいtempo (String)-Mid、Up、Down、Uptempoのいずれかで試してくださいtags (文字列) - 1つ以上の(コンマで分離):激しい、最小、反射、メロディック、ハッピー、ノスタルジック、フォーカス、エネルギッシュ、高揚、アクティブ、リラックス、雰囲気、ポジティブ、有益、ワークアウト、仕事、瞑想、旅行、完全な沈黙 sound_templates = apiaudio . Sound . list () list_parameters()このメソッドでは、各属性の許可された値とともに、どの属性がサウンドテンプレートをフィルタリングできるかを確認できます。後でこれらのパラメーターと値を使用して、リストするサウンドテンプレートをフィルタリングできます。
パラメーター:
例:
parameters = apiaudio . Sound . list_parameters ()Masteringリソースマスタリングを使用すると、スクリプトのマスターされたオーディオファイルを作成および取得できます。マスターされたバージョンには、スクリプトのスピーチ、バックグラウンドトラック、視聴者向けのパーソナライズされたパラメーター、およびトラック全体のオーディオ品質を向上させるマスタリングプロセスが含まれています。マスターされたオーディオファイルを取得するには、最初にスクリプトリソースのスピーチをリクエストしてください。
マスタリング方法は次のとおりです。
create()スクリプトのマスターされたバージョンを作成し、オーディオ形式を選択します。
パラメーター:
scriptId * [必須](文字列) - スクリプトリソースID。version (文字列) - 作成されるスクリプトのバージョン。デフォルトは ""です。soundTemplate (string) - サウンドテンプレート名。使用可能なサウンドテンプレートのリストについては、 apiaudio.Sound.list_sound_templates() callを確認してください。public (boolean) - マスターされたファイルをパブリックS3フォルダーに保存できるブールフラグ。デフォルト値はFalseです。警告 - これにより、マスターされたファイルがインターネット内の誰にでも公開されます。あなた自身の責任でこれを使用してください。vast (Boolean) - マスターされたファイルの広大なファイルを作成できるブールフラグ。 vastフラグは、 publicがTrueである場合にのみ機能します。デフォルト値はFalseです。endFormat (リスト) - 作成されるオーディオ形式のリスト。有効なフォーマット["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]forceLength (int) - マスターされたトラックのオーディオ長を強制します(秒単位)。audience (dict) - パーソナライズパラメーターを含む辞書。このパラメーターは、スクリプトリソースで使用したパラメーターの数に依存します。上記のスクリプトドキュメントの例では、 usernameとlocation 2つのパラメーターを使用しました。以下の例では、ロケーションBarcelonaでユーザー名salihのスクリプトを作成します。視聴者が提供されていない場合、フォールバックトラックが作成されます。mediaFiles (リスト) - メディアファイルを含むDICTのリスト。このパラメーターは、スクリプトリソースで使用されるメディアファイルタグと、アカウントにあるメディアファイルに依存します。たとえば、スクリプトに<<media::myrecording>> plus <<media::mysong>>が含まれている場合、myrecordingをmediaId = "12345"に添付し、mysongにmediaFiles = [{"myrecording":"12345", "mysong":"67890"}] 。mediaVolumeTrim (float) - アップロードされたメディアファイルの量(db)をトリミングできるフローティングポイントバリブル。この属性は、-12〜12 dBの有効な範囲を持ち、単一のマスタリングコールに含まれるすべてのメディアファイルに適用されます。クリッピング保護は提供されていないため、増分調整のみを行います。connectors (リスト) - 特定のサードパーティ接続の構成を指定するDICTのリスト。サポートされているサードパーティアプリケーションのコンテキストでのガイドラインについては、コネクタのドキュメントを参照してください。masteringPreset (String) - 使用するマスタリングプリセットでapiaudio.Mastering.list_presets() 、Sidechain圧縮などの機能が可能になります。share (Boolean) - オーディオファイルで作成された共有リンクを作成したい場合は、このフラグを使用してください。 share: True応答はshareUrlパラメーターを返します。 (注:このフラグを置くと、プライベートファイルはパブリックファイルに変換されます。)例:
response = apiaudio . Mastering . create (
scriptId = "id-1234" ,
soundTemplate = "jakarta" ,
audience = { "username" : "salih" , "location" : "barcelona" }
) create_media_timeline() 、アップロードされたメディアファイルに純粋に基づいてマスタリングリクエストを作成します。この関数を呼び出す前に、メディアファイルをアップロードする必要があります。メディアを参照してください。
パラメーター:
timeline * [必須](リスト) - タイムラインオブジェクト。タイムラインオブジェクトは辞書のリストであり、それぞれがオーディオファイルのトラックを表します。各トラックには、次の2つのキーfilesとcontentType必要です。
files * [必須](リスト)ファイルは辞書のリストであり、各エントリには次の3つのキー、 mediaId 、 startAt 、およびendAtが必要です
files * [必須](str)アップロードされたファイルのmediaid。startAt * [必須](フロート)このメディアファイルが数秒で開始する時間。endAt * [必須](フロート)このメディアファイルが数秒で終了する時間。 contentType * [必須](文字列) - このトラックに含まれるコンテンツのタイプは、 soundまたはspeechである必要があります
endFormat (リスト) - 作成されるオーディオ形式のリスト。有効なフォーマット["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]
masteringPreset (String) - 使用するマスタリングプリセットでapiaudio.Mastering.list_presets() 、Sidechain圧縮などの機能が可能になります。
例:
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()マスターされたファイルURLを取得します。
パラメーター:
scriptId * [必須](文字列) - スクリプトリソースID。versions (文字列) - 取得するスクリプトのバージョン。デフォルトは ""です。parameters (DICT) - 取得する視聴者アイテムを含む辞書。パラメーターが提供されていない場合、フォールバックトラックが取得されます。public (boolean) - パブリックバケツからマスターされたファイルを取得できるブールフラグ。 public=Trueを使用して作成されたマスターされたファイルを取得する場合は、これを使用してください。デフォルト値はFalseです。vast (Boolean) - マスターされたファイルの広大なファイルを取得できるブールフラグ。 vastフラグは、 publicがTrueである場合にのみ機能します。デフォルト値はFalseです。endFormat (リスト) - 取得するオーディオ形式のリスト。有効なフォーマット["wav", "mp3" (default), "flac", "ogg", "mp3_very_low", "mp3_low", "mp3_medium", "mp3_high", "mp3_very_high", "mp3_alexa"]例:
mastered_files = apiaudio . Mastering . retrieve (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
) [希望]フォルダーにマスターされたファイルをdownload()ダウンロードします。
パラメーター:
scriptId * [必須](文字列) - スクリプトリソースID。version (文字列) - ダウンロードされるスクリプトのバージョン。デフォルトは ""です。parameters (DICT) - 取得する視聴者アイテムを含む辞書。パラメーターが提供されていない場合、フォールバックトラックがダウンロードされます。destination (文字列) - フォルダー宛先パス。デフォルトは「」です。 (現在のフォルダー)public (boolean) - パブリックバケツからマスターされたファイルを取得できるブールフラグ。 public=Trueを使用して作成されたマスターされたファイルを取得する場合は、これを使用してください。デフォルト値はFalseです。vast (Boolean) - マスターされたファイルの広大なファイルを取得できるブールフラグ。 vastフラグは、 publicがTrueである場合にのみ機能します。デフォルト値はFalseです。例:
mastered_files = apiaudio . Mastering . download (
scriptId = "id-1234" ,
parameters = { "username" : "salih" , "location" : "barcelona" }
destination = "."
) list_presets()利用可能なマスタリングプリセットをリストします。
例:
presets = apiaudio . Mastering . list_presets ()
print ( presets )Mediaリソースメディアを使用すると、組織用にAPI.Audioで利用可能なすべてのファイルを取得できます。
メディア方法は次のとおりです。
upload() - データベースにファイルをアップロードします。
パラメーター:
file_path * [必須](文字列) - オーディオファイルへの相対パス。tags (文字列) - アップロードされたファイルに追加するコンマ分離タグ。これにより、検索が容易になります。例:
apiaudio . Media . upload (
file_path = "./my_file.mp3" ,
tags = "tag1,tag2,tag3"
) list() - org内のすべてのファイルをリストします。
パラメーター:
mediaId (string) - 渡された場合、そのファイル、または存在しない場合は空のオブジェクトのみを返します。tags (文字列) - アップロードされたファイルに追加するコンマ分離タグ。渡された場合、少なくともそれらのタグを含むすべてのファイルを返します。downloadUrl (boolean):Trueの場合、配列上の各アイテムに処置されたURLが追加されます。これは、大量のファイル(それぞれ約1秒)で遅いです。public (boolean):真の場合、リストされているメディアファイルは、api.audioが提供するパブリックメディアファイルになります。デフォルトはfalseです。例:
# 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()これは、すべての一意のユーザー定義タグを使用してリストを返します。
例:
tags = apiaudio . Media . list_tags ()
print ( tags ) get_download_url() - このメソッドは、特定のオーディオファイルをダウンロードするために先行可能なURLを返します
mediaId * [必須](文字列):ファイルがダウンロードされるメディアID例
url = apiaudio . Media . get_download_url ( mediaId = "some-mediaId" )
print ( url ) download() - このメソッドは特定のオーディオファイルをダウンロードします
mediaId * [必須](文字列):ファイルがダウンロードされるメディアIDdestination (文字列):ファイルがダウンロードされるディレクトリへのパス。デフォルトは「」です。例
apiaudio . Media . download (
mediaId = "some_mediaId" ,
destination = "/my_destination_folder"
)SyncTTS ResourceSynctsを使用すると、利用可能なすべての声を使用してAPIを使用して、同期テキストツースピーチ(TTS)を行うことができます。それを使用して、テキストと音声名からスピーチオーディオファイルを作成します。応答には、ファイルに再生または書き込まれる準備ができた波バイトが含まれています。
Syncts Methodsは次のとおりです。
create()します。
パラメーター:
voice * [必須](文字列) - 音声名。音声リソースを使用して利用可能な音声のリストを参照してください。text * [必須](文字列) - TTSを実行したいテキスト。制限は、Waveファイルの800文字です。metadata [オプション](「フル」または「なし」) - 必要なメタデータのレベル。 Phonemeリストを返します(MSNRの声でのみ利用可能)例:
sync_tts = apiaudio . SyncTTS . create (
voice = "joanna" ,
text = "This is me creating synchronous text to speech" ,
metadata = "full"
)BirdcacheリソースBirdCacheは、API.Audioが提供するキャッシュサービスであり、将来の使用のためにAPI.Audioサーバーにデータを保存することにより、顧客にキャッシュレイヤーを提供します。これにより、その場でスピーチファイルを取得できます。
BirdCacheメソッドは次のとおりです。
create()します。
パラメーター:
type * [必須](文字列) - イベントのタイプ。サポートされているタイプはmasteringとspeechです。text * [必須](文字列) - スピーチ/マスタリングを行いたいテキスト。パーソナライズパラメーターの例を参照してください。voice * [必須](文字列) - 音声作成のための音声。audience * [オプション](dict) - パーソナライズパラメーターのキーペアオブジェクト。以下の例を参照してください。soundTemplate [optional](string) - 作成のマスタリングのためのサウンドテンプレート。タイプがマスタリングされているときにのみ必要です。例:
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リソース多くの場合、TTSを操作する場合、モデルは特定の単語を正確に発音できない場合があります。たとえば、ブランド、名前、場所は一般的に誤って考えられます。これを修正する最初の試みとして、SSMLと同様の方法で機能するLexiフラグを導入しました。たとえば、スクリプトにPeadar(私たちの創設者の1人である)の代わりに<!peadar>を追加すると、この名前の代替の発音がモデルになります。これは、単語が複数の発音を持つことができる場合に特に役立ちます。たとえば、都市の「読書」や「素敵な」などです。この例では、<!reading>と<!nice>を配置すると、スクリプトを考慮して、これらが正しく発音されることを保証します。
" The city of <!nice> is a really nice place in the south of france."
このソリューションが機能しない場合は、代わりにカスタム(セルフサービス)Lexi機能を利用できます。
これを使用して、単一の単語を修正するか、頭字語を拡大する2つのことのいずれかを達成できます。たとえば、lorlorithmicという単語のすべての発生を「Af af low rhythmic」または「bmw」という単語の発生に「Bayerische Motoren Werke」に置き換えることができます。交換単語は、プレーンテキストまたはIPAの音素化として提供できます。
発音辞書の方法は次のとおりです。
list()公開されている辞書とその単語をリストします
パラメーター:
none例:
# returns a list of public dictionaries
dictionaries = apiaudio . Lexi . list () list_custom_dicts()カスタム辞書とそれぞれの単語をリストします
パラメーター:
none例:
# returns a list of custom dictionaries
types = apiaudio . Lexi . list_custom_dicts () register_custom_wordカスタム辞書に新しい単語を追加します。
lang [exicle](string) - 言語ファミリ、例えばenまたはes globalを使用して単語をグローバルに登録します。word [必須](文字列) - 置き換える単語replacement [必須](文字列) - 交換トークン。プレーンストリングまたはIPAトークンのいずれかにすることができます。contentType [Optional](String) - 提供された交換のコンテンツタイプは、音声代替品のbasic (デフォルト)またはipaのいずれかです。specialization [オプション](文字列) - デフォルトでは、付属の音声、言語コード、またはプロバイダーに関係なく、付属の交換が適用されます。ただし、エッジケースを提供できますが、これらは有効です。プロバイダー名、言語コード(IE EN-GB)、または音声名。 # correct the word sapiens
r = apiaudio . Lexi . register_custom_word ( word = "sapiens" , replacement = "saypeeoons" , lang = "en" )
print ( r )各言語について、1つの単語のエントリのみが許可されます。ただし、各単語には複数のspecializationsがあります。単語が最初に登録されている場合、 default specializationが常に作成されます。これは、渡されるものと一致します。さまざまな専門化を伴う後続の呼び出しは、指定された専門化のみを更新します。使用される正確な補正は、次の好みの順序によって決定されます。
voice name > language dialect > provider name > default
たとえば、 sara音声名に指定された交換品は、プロバイダーazureに指定された交換用に選ばれます。
list_custom_words()カスタム辞書に含まれるすべての単語をリストします。
パラメーター:
lang [required](string) - 言語ファミリ、例えば、 enまたはes globalを使用して言語の不可知論の単語をリストします。
例:
# lists all words in the dictionary along with their replacements
words = apiaudio . Lexi . list_custom_words ( lang = "en" )発音辞書を適用する効果は、 script.preview()メソッドで見ることができます。詳細については、スクリプトドキュメントを参照してください。
例:
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 )応答:
{ "preview" : "The author of this repo has lived in two places in the UK, bude and <phoneme alphabet= " ipa " ph= " ### " > bristol </phoneme>" }この例では、 Bristol正しく発音されるように音声されますが、 Bude私たちの辞書にはないため、そのまま残されます。内部辞書の単語の正確なIPAトークンは、溶接されています。
Connectorリソース3番目のパティの統合の監視に使用されるリソース。マスタリングリソースの最終結果は、 connectorsフィールドを介して外部アプリケーションに配布できます。コネクタのドキュメントを参照してください。現在サポートされているアプリケーションのリスト:
利用可能な方法:
[API.Consoleにコネクタを登録した後、 retrieve()した後、この方法を使用して、提供された資格情報を使用して接続が成功したかどうかを確認します。
パラメーター:
name * [必須](文字列) - コンソールで指定されたコネクタの名前。例:
status = apiaudio . Connector . retrieve (
name = "julep"
) connection()マスタリング応答で返されたconnectionId提供することにより、接続のステータスを確認します。
パラメーター:
connection_id * [必須](文字列) - マスタリングリソースによって返されたConnectionID。例:
status = apiaudio . Connector . connection (
connection_id = "af2fe14a-aa6b-4a97-b430-a072c38b11ff"
)Orchestratorリソースオーケストレーターは、単一のAPIリクエストを送信するのと同じように、さまざまなオーディオサービスを使用するために使用されます。ここの各ルートは、高品質で簡単にアクセスできるオーディオアセットを生成するように慎重に構成されています。
オーケストレーターの方法は次のとおりです。
create_audio()シンプルなTTS音声リクエストを作成し、マスタリングを通じてサウンドテンプレートを追加します。
パラメーター:
scriptText * [必須](str) - 合成するテキスト(TTS)。soundTemplate (str) - 使用するサウンドテンプレート。voice * [必須](str) - 使用する音声名。 create_three_sections() 3つのセクションを使用してTTS音声リクエストを作成し、マスタリングを通じてサウンドテンプレートを追加します。
パラメーター:
introText * [必須](str) - イントロセクションで合成するテキスト。mainText * [必須](str) - メインセクションで合成するテキスト。outroText * [必須](str) - アウトロセクションで合成するテキスト。soundTemplate (str) - 使用するサウンドテンプレート。voice * [必須](str) - 使用する音声名。 media_with_sound() 、既存のメディアファイル(つまり、事前録音された音声)とサウンドテンプレートを組み合わせます
パラメーター:
mediaId * [required](str) - 入力として使用するメディアファイルのmediaid。soundTemplate * [必須](str) - 使用するサウンドテンプレート。このSDKは、Apiaudio Webhookコールセキュリティヘッダーを簡単に確認する簡単な方法を提供します。悪意のある攻撃からサーバーを保護するために、ヘッダーを確認することを強くお勧めします。
方法は次のとおりです。
apiaudio . Webhooks . verify ( payload , sig_header , secret , tolerance )ヘッダーが有効な場合にtrueを返します。そうしないと、エラーが発生します。渡すパラメーターは次のとおりです。 payload Apiaudioが送信したボディオブジェクト、 sig_header Apiaudioが送信したリクエストヘッダーでX-Aflr-Secretであり、 secretはWebhook Secret(Apiaudio Consoleでそれを取得できます)、ヘッダーチェックの数秒でのtoleranceであり、デフォルトで300秒になります。
デフォルトでは、APIによって発行された警告はコンソール出力に記録されます。さらに、一部の動作は、情報レベル(「進行中の...」のインジケーターなどのインジケーターなど)に記録されます。ロギングのレベルは、Pythonのloggingライブラリの標準レベルから選択することで制御できます。
apiaudio . set_logger_level ( "INFO" )
# apiaudio.set_logger_level("CRITICAL") - set the highest level to disable logsファイルをコミットする前に実行される事前コミットフックがあります。これは、コード標準を高く保つためです。それを有効にするには、 makeする必要があります。次に、Gitのコミット前フックをセットアップします。それだけです!コミットする前に毎回、基準についてお話しするために実行されます。
ファイルをコミットするためにVSCODEを使用する場合、エラーpre-commit command not foundにぶつかることがあります。大丈夫です。ここのリストからbrew install pre-commitまたはFave Package Managerを実行してください。
your pip version is oldエラーである場合は、無視して端末を使用してください。
問題があり、急いでいる場合は、Commitコマンドの最後に--no-verify git commit -m 'your commit message' --no-verify追加できます。
このプロジェクトは、MITライセンスの条件に基づいてライセンスされています。