フィルター(APL for Audio)
フィルターは、ストリーミングオーディオクリップの音量レベル、持続時間、再生位置といった特性を変更します。1つのフィルターの出力を別のフィルターの入力として使用することで、フィルターを連続して適用することもできます。たとえば、あるオーディオクリップにTrim
フィルターを適用し、出力されたオーディオクリップをFadeIn
フィルターの入力として使うことができます。
フィルターの適用について
Alexaは、1つのフィルターの出力を次のフィルターの入力として渡すことで、指定した順序でフィルターを適用します。たとえば、オーディオをフェードインするフィルターの後に切り詰めを行うフィルターを適用した場合と、切り詰めるフィルターの後にフェードインするフィルターを適用した場合では出力結果が異なります。
フィルターの各プロパティはデータバインディングをサポートします。Alexaは、データバインディングコンテキストに基づいてフィルターを評価します。データバインディングコンテキストは、フィルターを定義するソースコンテキストです。
フィルター評価プロセスは以下の手順で行われます。
-
Alexaが
when
プロパティを評価します。when
プロパティがfalse
に評価されると、Alexaはフィルターをスキップし、配列の次のフィルターに進みます。 -
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%"
}
],
}
関連トピック
最終更新日: 2020 年 11 月 20 日