AudioBlockMap[f,audio,dur]
audio の重なり合ない長さ dur のパーティションに f を 適用する.
AudioBlockMap[f,audio,{dur,offset}]
audio のオフセット offset のパーティションに f を 適用する.
AudioBlockMap[f,audio,{dur,offset,wfun}]
audio のパーティションに wfun を適用した後に f を適用する.
AudioBlockMap
AudioBlockMap[f,audio,dur]
audio の重なり合ない長さ dur のパーティションに f を 適用する.
AudioBlockMap[f,audio,{dur,offset}]
audio のオフセット offset のパーティションに f を 適用する.
AudioBlockMap[f,audio,{dur,offset,wfun}]
audio のパーティションに wfun を適用した後に f を適用する.
詳細とオプション
- AudioBlockMap[f,audio,…]は,値が f を audio のパーティションに適用した結果であるTimeSeriesを返す.時点は対応するパーティションの中心である.
- 関数 f は,名前付きの引数を使ってさまざまな形式のパーティションデータに作用する.
-
#AudioData または #1 各パーティションの生の音声データ(デフォルト) #FourierData 各パーティションのフーリエ変換 #MagnitudeSpectrum フーリエ変換の大きさ #PowerSpectrum 各パーティションのパワースペクトル - 時間変数 dur と offset は秒単位のスカラー,時点,あるいはQuantityオブジェクトのサンプルとして与えることができる.
から
まででサンプルされた窓関数,あるいはパーティションの長さにリサンプルされた値のリストを使って平滑化窓 wfun を指定することができる.デフォルトでは平滑化は行われない.これは,DirichletWindowに等しい.- 次は使用可能なオプションである.
-
Alignment Center タイムスタンプとパーティションの揃え方 FourierParameters {-1,1} フーリエパラメータ MetaInformation None 追加的なメタ情報を含む MissingDataMethod None 欠落値に使用するメソッド Padding Automatic 充填スキーム PaddingSize Automatic 充填量 ResamplingMethod "Interpolation" パスのリサンプリングに使用するメソッド - 次は,Alignmentの可能な設定である.
-
Left 各パーティションの始まりの時間を返す Center 各パーティションの中心の時間を返す Right 各パーティションの終りの時間を返す a -1(左)から1(右)までのスケールされた揃え方 - 次は,Paddingの可能な設定である.
-
None 充填は行わず,サンプル数の少ないパーティションを除去する 0 ゼロ(無音)充填 val 一定の値 "Fixed" 境界値の繰返し "Periodic" 完全な音声の循環的繰り返し "Reflected" 境界上の音声の鏡映 "Reversed" 完全な音声の反転
例題
すべて開く すべて閉じる例 (1)
a = \!\(\*AudioBox[""]\);max = AudioBlockMap[Max, a, Quantity[20, "Milliseconds"]]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[max, PlotStyle -> Red]]スコープ (7)
関数指定 (5)
関数 f はTimeSeriesがサポートする任意の値を返す:
a = Import["ExampleData/rule30.wav"];
stdev = AudioBlockMap[StandardDeviation, a, .04]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[stdev, PlotStyle -> Red, PlotRange -> {-1, 1}]]minmax = AudioBlockMap[MinMax, a, .04]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[minmax, PlotStyle -> {Orange, Darker[Green]}, PlotRange -> {-1, 1}]]a = \!\(\*AudioBox[""]\);f[values_] := Blend[{Green, Yellow, Red}, Max[values]]colors = AudioBlockMap[f, AudioNormalize@a, .05]["Values"]Column[{AudioPlot[a, FrameTicks -> None, ImageSize -> Medium],
ArrayPlot[{colors}, ImageSize -> Medium]}]関数 f はパーティションデータのフーリエ変換に使うことができる:
a = \!\(\*AudioBox[""]\);res = AudioBlockMap[Arg@#FourierData[[100]]&, AudioNormalize@a, .05]Show[ListLinePlot[res, PlotStyle -> Red, PlotRange -> All], AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All]]関数 f はパーティションデータのマグニチュードスペクトルに使うことができる:
a = \!\(\*AudioBox[""]\);マグニチュードスペクトルの2番目に大きいピークの位置を求める:
res = AudioBlockMap[FindPeaks[#MagnitudeSpectrum][[2, 1]]&, AudioNormalize@a, .05]Show[ListLinePlot[res, PlotStyle -> Red, PlotRange -> All], AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All]]関数 f はパーティションデータのパワースペクトルに使うことができる:
a = \!\(\*AudioBox[""]\);各パワースペクトルにローパスフィルタをかけて,結果を平滑化する:
res = AudioBlockMap[LowpassFilter[#PowerSpectrum, .4]&, AudioNormalize@a, .05]MatrixPlot[Log@res["Values"]]パーティション指定 (2)
a = \!\(\*AudioBox[""]\);max = AudioBlockMap[Max, a, 0.05]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[max, PlotStyle -> Red]]max = AudioBlockMap[Max, a, {0.05, 0.02}]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[max, PlotStyle -> Red]]max = AudioBlockMap[Max, a, {0.05, 0.02, HammingWindow}]Show[AudioPlot[a, AspectRatio -> 1 / 2, PlotRange -> All], ListLinePlot[max, PlotStyle -> Red]]パーティションサイズとオフセットは,時間Quantity,"Samples" Quantity,あるいは,秒単位の継続時間として解釈される数で指定することができる:
a = Import["ExampleData/rule30.wav"];
AudioBlockMap[Max, a, 1]% == AudioBlockMap[Max, a, Quantity[1, "Seconds"]]AudioBlockMap[Max, a, Quantity[44100, "Samples"]]オプション (2)
Alignment (1)
結果のTimeSeriesのタイムスタンプは,デフォルトで,各パーティションの中央に置かれる:
audio = Import["ExampleData/rule30.wav"];audioplot = AudioPlot[audio, AspectRatio -> 1 / 2, PlotRange -> All, PlotRangePadding -> Scaled[.05], GridLines -> {Table[i, {i, 0, QuantityMagnitude@Duration@audio, .3}], None}];max = AudioBlockMap[Max, audio, .3];
Show[audioplot,
ListPlot[max, PlotStyle -> Red, Filling -> Axis, PlotMarkers -> Automatic, PlotRange -> {-1, 1}]]中央揃えはAlignment->0と同じである:
max = AudioBlockMap[Max, audio, .3, Alignment -> 0];
Show[audioplot,
ListPlot[max, PlotStyle -> Red, Filling -> Axis, PlotMarkers -> Automatic, PlotRange -> {-1, 1}]]Alignment->Rightを使って計算された特性を各パーティションの末尾に返す:
max = AudioBlockMap[Max, audio, .3, Alignment -> Right];
Show[audioplot,
ListPlot[max, PlotStyle -> Red, Filling -> Axis, PlotMarkers -> Automatic, PlotRange -> {-1, 1}]]max = AudioBlockMap[Max, audio, .3, Alignment -> -.5];
Show[audioplot,
ListPlot[max, PlotStyle -> Red, Filling -> Axis, PlotMarkers -> Automatic, PlotRange -> {-1, 1}]]Padding (1)
デフォルトで,不完全なパーティションは右側を0で充填される:
audio = Audio[Range[10.], SampleRate -> 1];
AudioBlockMap[#&, audio, 4, Padding -> Automatic]["Values"]AudioBlockMap[#&, audio, 4, Padding -> "Periodic"]["Values"]Padding->Noneを使って不完全なパーティションを計算から削除する:
AudioBlockMap[#&, audio, 4, Padding -> None]["Values"]アプリケーション (3)
a = Import["ExampleData/rule30.wav"];
dBrms = AudioBlockMap[20Log10[Sqrt@Mean[# ^ 2]]&, a, {Quantity[50, "Milliseconds"], Quantity[5, "Milliseconds"]}];ListLinePlot[dBrms]Histogram[dBrms, 40]𝒟 = KernelMixtureDistribution[dBrms, 1]Table[Plot[f[𝒟, x], {x, -50, 0}, Filling -> Axis, PlotLabel -> f], {f, {PDF, CDF}}]Moment[𝒟, 1]Quantile[𝒟, 0.95]//Quieta = \!\(\*AudioBox[""]\);
AudioPlot[a]amplitude = AudioBlockMap[Max[.02, Sqrt@Mean[# ^ 2]]&, a, {.01, .005}]AudioNormalize[a / Audio[amplitude]]AudioPlot[%]a = \!\(\*AudioBox[""]\);m = AudioBlockMap[{Hue[Max@#], Disk[{0, 0}, Max@#]}&, a, {.1, .01, HannWindow}]Graphics[{Opacity[.5], MapThread[{#1[[1]], Translate[#1[[2]], {#2, 0}]}&, {m["Values"], m["Times"]}]}]特性と関係 (1)
AudioBlockMapを使うと多くのAudioLocalMeasurements特性が計算できる:
a = Import["ExampleData/rule30.wav"];AudioBlockMap[Max, a, {.5, .5, None}, Padding -> None] == AudioLocalMeasurements[a, "Max", PartitionGranularity -> {.5, .5, None}, PaddingSize -> 0]インタラクティブな例題 (1)
a = \!\(\*AudioBox[""]\);cf[x_] := Blend[{Green, Yellow, Red}, x]
Table[cf[i], {i, 0, 1, .1}]fps = 30;disks = AudioBlockMap[{cf[Max@#], Disk[{0, 0}, Max@#]}&, a, {.1, 1 / fps}]["Values"];
RandomSample[disks, 2]ListAnimate[Table[
Graphics[d, PlotRange -> 1], {d, disks}], fps, TransitionEffect -> "Fade"]ListAnimate[Table[
Graphics[d, PlotRange -> 1], {d, Rest@FoldList[Flatten@Append[#1 /. Opacity[x_] -> Opacity[Clip[x - .1, {0, 1}]], {Opacity[1], #2}]&, {}, disks]}], fps, TransitionEffect -> "Fade"]テキスト
Wolfram Research (2016), AudioBlockMap, Wolfram言語関数, https://reference.wolfram.com/language/ref/AudioBlockMap.html (2019年に更新).
CMS
Wolfram Language. 2016. "AudioBlockMap." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/AudioBlockMap.html.
APA
Wolfram Language. (2016). AudioBlockMap. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/AudioBlockMap.html
BibTeX
@misc{reference.wolfram_2026_audioblockmap, author="Wolfram Research", title="{AudioBlockMap}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/AudioBlockMap.html}", note=[Accessed: 16-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_audioblockmap, organization={Wolfram Research}, title={AudioBlockMap}, year={2019}, url={https://reference.wolfram.com/language/ref/AudioBlockMap.html}, note=[Accessed: 16-August-2026]}