フィルター(APL for Audio)



フィルター(APL for Audio)

フィルターは、ストリーミングオーディオクリップの音量レベル、持続時間、再生位置といった特性を変更します。1つのフィルターの出力を別のフィルターの入力として使用することで、フィルターを連続して適用することもできます。たとえば、あるオーディオクリップにTrimフィルターを適用し、出力されたオーディオクリップをFadeInフィルターの入力として使うことができます。

フィルターの適用について

Alexaは、1つのフィルターの出力を次のフィルターの入力として渡すことで、指定した順序でフィルターを適用します。たとえば、オーディオをフェードインするフィルターの後に切り詰めを行うフィルターを適用した場合と、切り詰めるフィルターの後にフェードインするフィルターを適用した場合では出力結果が異なります。

フィルターの各プロパティはデータバインディングをサポートします。Alexaは、データバインディングコンテキストに基づいてフィルターを評価します。データバインディングコンテキストは、フィルターを定義するソースコンテキストです。

フィルター評価プロセスは以下の手順で行われます。

  1. Alexaがwhenプロパティを評価します。whenプロパティがfalseに評価されると、Alexaはフィルターをスキップし、配列の次のフィルターに進みます。

  2. Alexaがフィルターのtypeプロパティを評価します。Alexaがtypeの値を認識しない場合、Alexaは配列の次のフィルターに進みます。詳細については、フィルターの種類を参照してください。

フィルターの種類

APL for Audioがサポートしているフィルターは次の2種類です。

  • ビルトイン:必須プロパティのセットを使用するAPLビルトインフィルターです。FadeInなどがあります。次のビルトインフィルターを利用できます。
    • Trimフィルター:特定のポイントでオーディオクリップの再生を開始または停止します。
    • FadeInフィルター:オーディオクリップの音量を0%から入力値にまで上げます。
    • FadeOutフィルター:オーディオクリップの音量を入力値から0%にまで下げます。
    • Volumeフィルター:オーディオクリップの音量を指定した値で調整します。
  • ユーザー定義:ユーザー定義のフィルターを、適用するフィルターの配列にインフレートします。Alexaは、フィルター適用ルールに基づいて配列内のフィルターを適用します。すべてのフィルターの適用を完了したら、再生を再開します。

標準のフィルタープロパティ

すべてのオーディオフィルターは次のプロパティをサポートします。

プロパティ デフォルト/必須 説明
description 文字列 "" 開発者が指定するこのフィルターの説明です(任意)。
type 文字列 必須 フィルターの種類です。すべてのフィルターに指定する必要があります。
when ブール値 true trueの場合、フィルターを適用します。falseの場合、フィルターをスキップします。

Trimフィルター

Trimフィルターを使用すると、特定のポイントでオーディオクリップの再生を開始したり、特定のポイントで再生を停止したり、その両方を実行したりできます。

Trimフィルターには、標準のフィルタープロパティに加えて、次のプロパティがあります。

プロパティ デフォルト/必須 説明
end 時間 null オーディオクリップを終了する時間を指定します。この時間以降のすべてが切り詰められます。このプロパティが指定されなかった場合やnullが指定された場合、残りの再生時間、オーディオクリップが再生されます。
start 時間 0 オーディオが開始する時間です。この時間以前のすべてが切り詰められます。

クリップボードにコピーされました。

{
    "type": "Audio",
    "source": "https://amazon.com/rainforestSoundEffect.mp3"
    "filter": [
        {
            "type": "Trim",
            "start": 2000,
            "end": 9000
        }
    ],
}    

FadeInフィルター

FadeInフィルターを使用すると、音量が0%から入力値まで、直線的に増加します。

FadeInフィルターには、標準のフィルタープロパティに加えて、次のプロパティがあります。

プロパティ デフォルト/必須 説明
duration 時間 必須 音量を上げるミリ秒数を指定します。durationがオーディオクリップの長さよりも長い場合、上げる音量は指定した時間全体に適用され、オーディオクリップが最大音量に達することはありません。

クリップボードにコピーされました。

{
    "type": "Audio",
    "source": "https://amazon.com/rainforestSoundEffect.mp3"
    "filter": [
        {
            "type": "FadeIn",
            "duration": 2000
        }
    ],
}

FadeOutフィルター

FadeOutフィルターを使用すると、音量が入力値から0%まで、直線的に減少します。

FadeOutフィルターには、標準のフィルタープロパティに加えて、次のプロパティがあります。

プロパティ デフォルト/必須 説明
duration 時間 必須 音量を下げるミリ秒数を指定します。このプロパティは時間の単位で表されます。durationがオーディオクリップの長さよりも長い場合、下げる音量は指定した時間全体に適用され、オーディオクリップは下がった音量から開始します。

クリップボードにコピーされました。

{
    "type": "Audio",
    "source": "https://amazon.com/rainforestSoundEffect.mp3"
    "filter": [
        {
            "type": "FadeOut",
            "duration": 2000
        }
    ],
}

Volumeフィルター

Volumeフィルターを使用すると、定義した分だけオーディオクリップの音量を上げたり下げたりできます。

Volumeフィルターには、標準のフィルタープロパティに加えて、次のプロパティがあります。

プロパティ デフォルト/必須 説明
amount 数値または文字列 必須 オーディオクリップの音量を調整する量を指定します。amountは、数値またはパーセンテージで指定できます。出力音量は、amountの値をかけたオーディオクリップの音量と同じです。

Volumeフィルターに上限はありません。最高の結果を得るには、オーサリングツールで音量の大幅な上昇をテストし、クリップが想定どおりに再生されることを確認してください。

音量は、クリップの元の音量に対して相対的に調整されます。調整しても、デバイスの設定は変更されません。たとえば、100%はクリップの元の音量を表し、200%は通常音量の2倍を表します。

Volumeフィルターに数値を指定した場合の例

クリップボードにコピーされました。

{
    "type": "Audio",
    "source": "https://amazon.com/rainforestSoundEffect.mp3"
    "filter": [
        {
            "type": "Volume",
            "amount": 0.5
        }
    ],
}

Volumeフィルターにパーセンテージを指定した場合の例

クリップボードにコピーされました。

{
    "type": "Audio",
    "source": "https://amazon.com/rainforestSoundEffect.mp3"
    "filter": [
        {
            "type": "Volume",
            "amount": "50%"
        }
    ],
}