AudioPlot
更多信息和选项
- AudioPlot 返回单个图形,显示对应 audio 通道的波形.
- AudioPlot 与 Graphics 的选项基本相同,但有如下添加和变动: [所有选项的列表]
-
Appearance Automatic 绘图外观 AspectRatio 1/6 绘图的宽高比 Axes {True,False} 是否绘制数轴 AxesOrigin {0,0} 数轴是否交叉 ColorFunction Automatic 如何决定波形的颜色 ColorFunctionScaling False 是否按比例缩放颜色函数参数 Frame True 是否为绘图加上边框 MaxPlotPoints Automatic 显示样本数的最大值 PlotLayout Automatic 使用的布局 PlotRange Automatic 包含数值的范围 PlotRangeClipping True 是否在绘图范围处进行裁剪 PlotStyle Automatic 绘制对象时使用的绘制样式 PlotTheme $PlotTheme 绘图的整体主题 - Appearance 的可能设置选项包括:
-

"Continuous" 连续图形 
"Discrete" 离散图形 
"ContinuousAbs" 绝对值的连续图形 
"DiscreteAbs" 绝对值的离散图形 - 可将绘图布局指定为 PlotLayout->{individual,combination},其中 individual 为每个音频对象指定布局,combination 指定如何结合多个音频对象.
- individual 的可能设置包括:
-

"Averaged" 通道平均值的波形 
"Overlaid" 通道的覆盖波形 
"Vertical" 垂直网格中的通道波形 - combination 布局的可能设置包括:
-

"Overlaid" 音频对象的覆盖波形 
"Vertical" 将对象的波形绘制在垂直网格中 - PlotRange 支持如下特殊设置:
-
t {{0,t},Automatic} 绘制最初 t 秒 {t1,t2} {{t1,t2},Automatic} 绘制 t1 到 t2 秒的波形 - 时间 ti 可为一个时间量(如 Quantity[0.1,"Minutes"])或样本数量(如 Quantity[1000,"Samples"]).
- ColorData["DefaultPlotColors"] 给出 PlotStyle 使用的默认颜色序列.
所有选项的列表
范例
打开所有单元 关闭所有单元基本范例 (3)
AudioPlot[\!\(\*AudioBox[""]\)]AudioPlot[\!\(\*AudioBox[""]\)]AudioPlot[\!\(\*VideoBox[""]\)]范围 (9)
基本用途 (4)
mono = AudioGenerator["Sin", .01];
AudioPlot[mono]stereo = ExampleData[{"Sound", "Piano"}, "Audio"];
AudioPlot[stereo]multi = AudioChannelCombine[Table[AudioGenerator[i, .01], {i, {"Sin", "Sawtooth", "Triangle"}}]];
AudioPlot[multi]AudioPlot[{\!\(\*AudioBox[""]\), \!\(\*AudioBox[""]\)}]外观显示 (5)
a = Import["ExampleData/rule30.wav"];
AudioPlot[a, Appearance -> "Discrete", Frame -> None, Axes -> None, PlotRange -> All]a = Import["ExampleData/rule30.wav"];
AudioPlot[a, PlotStyle -> RGBColor[0, 2/3, 0], PlotRange -> All]a = Import["ExampleData/rule30.wav"];
AudioPlot[a, PlotTheme -> "Marketing", PlotRange -> All]a = ExampleData[{"Sound", "Piano"}, "Audio"];
AudioPlot[a, Epilog -> {Dashed, Red, Line[{{1, -1}, {1, 1}}]}]a = Audio["ExampleData/rule30.wav"];hfc = Rescale@AudioLocalMeasurements[a, "HighFrequencyContent"];Quiet@AudioPlot[a, PlotRange -> {All, All}, Appearance -> "DiscreteAbs", ColorFunction -> Function[{x, y}, ColorData["SunsetColors"]@hfc[x]]]选项 (37)
Appearance (4)
a = Audio["ExampleData/rule30.wav"];
AudioPlot[a, PlotRange -> {All, All}]AudioPlot[a, Appearance -> "Discrete", PlotRange -> {All, All}]AudioPlot[a, Appearance -> "DiscreteAbs", PlotRange -> {All, All}]a = ExampleData[{"Sound", "Piano"}, "Audio"];
AudioPlot[a]AudioPlot[a, Appearance -> "DiscreteAbs"]a = ExampleData[{"Sound", "Piano"}, "Audio"];
b = Audio["ExampleData/rule30.wav"];
AudioPlot[{a, b}, Appearance -> "DiscreteAbs"]使用 MaxPlotPoints 选项来控制 "Discrete" 和 "DiscreteAbs" 视图中竖直条的密度是可能的:
a = Audio["ExampleData/rule30.wav"];
AudioPlot[a, Appearance -> "DiscreteAbs", MaxPlotPoints -> 40, PlotRange -> {All, All}]AspectRatio (1)
AspectRatio 控制图形的宽高比:
mono = Audio["ExampleData/rule30.wav"];
AudioPlot[mono, ImageSize -> Small, AspectRatio -> 1]通过 "Vertical" 布局,AspectRatio 的设置可以控制各个波形的宽高比:
stereo = ExampleData[{"Sound", "Piano"}, "AudioFile"];
AudioPlot[stereo, AspectRatio -> 1]Axes (1)
所有 Axes 相关的选项指的是单通道图形中的轴:
mono = Audio["ExampleData/rule30.wav"];
stereo = ExampleData[{"Sound", "Piano"}, "AudioFile"];AudioPlot[mono, Axes -> False]AudioPlot[stereo, Axes -> False]AxesOrigin (1)
AxesOrigin 指的是单通道图形:
mono = Audio["ExampleData/rule30.wav"];
stereo = ExampleData[{"Sound", "Piano"}, "AudioFile"];AudioPlot[mono, Axes -> True, AxesOrigin -> {1, .5}]AudioPlot[stereo, Axes -> True, AxesOrigin -> {1, .5}]ColorFunction (5)
a = AudioGenerator[{"Sawtooth", 2}];
AudioPlot[a, ColorFunction -> Function[{x, y}, Blend[{Red, Green}, x]]]AudioPlot[a, ColorFunction -> Function[{x, y}, Blend[{Red, Green}, y]]]a = AudioGenerator[{"Sawtooth", 2}];AudioPlot[a, ColorFunction -> Function[{x, y}, If[x > .6, Red, Blue]]]ColorFunction 可用于可视化音频对象的属性:
a = ExampleData[{"Audio", "PianoScale"}];f0 = AudioLocalMeasurements[a, "FundamentalFrequency"];f0 = Rescale[TimeSeries[DeleteMissing[f0//Normal, 1, 2]]]Quiet@AudioPlot[a, ColorFunction -> Function[{x, y}, ColorData["SolarColors"][f0[x]]]]对于着色波形,ColorFunction 的优先级高于 PlotStyle:
audio = AudioGenerator[{"Sawtooth", 2}];AudioPlot[audio, ColorFunction -> Function[{x, y}, Hue[x]], PlotStyle -> Orange]ColorFunction 适用于 Appearance 的任意设置:
a = Audio["ExampleData/rule30.wav"];AudioPlot[a, ColorFunction -> Function[{x, y}, Hue[y]], Appearance -> "DiscreteAbs", PlotRange -> {All, All}]ColorFunctionScaling (1)
FillingStyle (2)
a = Audio["ExampleData/car.mp3"];
AudioPlot[a, FillingStyle -> Opacity[.3], MaxPlotPoints -> 200]a = ExampleData[{"Audio", "Piano"}];
AudioPlot[a, FillingStyle -> {RGBColor[1, 0.5, 0], RGBColor[0, 2/3, 0]}]a1 = Import["ExampleData/rule30.wav"];
a2 = ExampleData[{"Audio", "Piano"}];AudioPlot[{a1, a2}, FillingStyle -> Opacity[.3]]AudioPlot[{a1, a2}, FillingStyle -> {RGBColor[1, 0.5, 0], RGBColor[0, 2/3, 0]}]AudioPlot[{a1, a2}, FillingStyle -> {{RGBColor[1/3, 1/3, 1]}, {RGBColor[0, 2/3, 0], RGBColor[2/3, 0, 0]}}]FrameTicks (5)
设置 Automatic 只独立于 PlotRange 对
轴生成两个刻度:
a = Audio["ExampleData/rule30.wav"];AudioPlot[a, FrameTicks -> {None, Automatic}, PlotRange -> {All, All}]指定各个轴的 FrameTicks 是可能的:
a = ExampleData[{"Audio", "Piano"}];
AudioPlot[a, FrameTicks -> {{Automatic, All}, {None, All}}]a = ExampleData[{"Audio", "Piano"}];yticks = {-.8, 0, .8};AudioPlot[a, FrameTicks -> {{yticks, None}, {None, None}}]a = ExampleData[{"Audio", "Piano"}];yticks = {{-.8, -.8}, {0, "zero"}, {.8, .8}};AudioPlot[a, FrameTicks -> {{yticks, None}, {None, None}}]audio = Import["ExampleData/rule30.wav"];ticks[min_, max_] := Table[i, {i, 0, max, Round[(max - min) / 6, .1]}]AudioPlot[audio, FrameTicks -> {ticks, Automatic}]MaxPlotPoints (1)
MaxPlotPoints 控制所显示的最大点数:
a = 2.Import["ExampleData/rule30.wav"];AudioPlot[a, MaxPlotPoints -> 5000]AudioPlot[a, MaxPlotPoints -> 40]PlotLabel (2)
PlotLayout (3)
a = ExampleData[{"Audio", "Piano"}];AudioPlot[a, PlotLayout -> "Vertical"]AudioPlot[a, PlotLayout -> "Overlaid"]AudioPlot[a, PlotLayout -> "Averaged"]a1 = Import["ExampleData/rule30.wav"];
a2 = ExampleData[{"Audio", "Piano"}];AudioPlot[{a1, a2}, PlotLayout -> "Vertical"]AudioPlot[{a1, a2}, PlotLayout -> "Overlaid"]a1 = Import["ExampleData/rule30.wav"];
a2 = ExampleData[{"Audio", "Piano"}];AudioPlot[{a1, a2}, PlotLayout -> {"Overlaid", "Vertical"}, MaxPlotPoints -> 500, PlotLabel -> {"Overlaid", "Vertical"}, PlotRange -> All]AudioPlot[{a1, a2}, PlotLayout -> {"Averaged", "Overlaid"}, MaxPlotPoints -> 500, PlotLabel -> {"Averaged", "Overlaid"}, PlotRange -> All]PlotRange (4)
AudioPlot[ExampleData[{"Sound", "Piano"}, "Audio"], PlotRange -> 1]使用时间 Quantity 指定
范围:
a = AudioGenerator["Sin", 10];
AudioPlot[a, PlotRange -> Quantity[10, "Milliseconds"]]使用 "Samples" Quantity:
AudioPlot[a, PlotRange -> Quantity[200, "Samples"]]a = ExampleData[{"Sound", "Piano"}, "Audio"];
AudioPlot[a, PlotRange -> {Quantity[100, "Milliseconds"], Quantity[120, "Milliseconds"]}]a = ExampleData[{"Sound", "Piano"}, "AudioFile"];
AudioPlot[a, PlotRange -> {Automatic, {0, 1}}]PlotStyle (4)
PlotStyle 指定要绘制的波形的样式:
a = Audio["ExampleData/rule30.wav"];AudioPlot[a, PlotStyle -> RGBColor[1, 0.5, 0]]AudioPlot[a, PlotStyle -> Directive[RGBColor[0, 0, 1], Opacity[.3]]]a = ExampleData[{"Audio", "Piano"}];AudioPlot[a, PlotStyle -> {RGBColor[1, 0.5, 0], RGBColor[0, 2/3, 0]}]AudioPlot 将对多个音频对象进行自动样式化:
a1 = ExampleData[{"Audio", "Piano"}];
a2 = Audio["ExampleData/rule30.wav"];AudioPlot[{a1, a2}]a1 = ExampleData[{"Audio", "Piano"}];
a2 = Audio["ExampleData/rule30.wav"];AudioPlot[{a1, a2}, PlotStyle -> Opacity[.5]]AudioPlot[{a1, a2}, PlotStyle -> {RGBColor[1, 0.5, 0], RGBColor[0, 2/3, 0]}]AudioPlot[{a1, a2}, PlotStyle -> {{RGBColor[0, 2/3, 0], RGBColor[1/3, 1/3, 1]}, {RGBColor[1, 0.5, 0]}}]PlotTheme (3)
AudioPlot[ExampleData[{"Audio", "Piano"}], PlotTheme -> "Business"]AudioPlot[ExampleData[{"Audio", "Piano"}], PlotTheme -> "Business", PlotStyle -> ColorData[96]]AudioPlot[ExampleData[{"Audio", "Piano"}], PlotTheme -> "Minimal"]应用 (3)
a = ExampleData[{"Sound", "FluteScale"}, "Audio"];silence = AudioIntervals[a, "Inaudible", 0.1];
AudioPlot[a, Epilog -> {RGBColor[1, 0, 0, .2], Rectangle[{#[[1]], -1}, {#[[2]], 1}]& /@ silence}]Multicolumn[AudioPlot[ExampleData[#, "AudioFile"], PlotLabel -> #[[2]], PlotTheme -> "Minimal"]& /@ ExampleData["Sound"][[ ;; 12]], 3]在波形上方显示 TimeSeries:
a = Audio["ExampleData/car.mp3"];ts = AudioLocalMeasurements[a, "RMSAmplitude"];Show[AudioPlot[a], ListLinePlot[ts, PlotStyle -> Pink]]互动范例 (1)
巧妙范例 (1)
a = AudioChannelMix[ExampleData[{"Audio", "Drums"}], 1];plot = AudioPlot[a, AspectRatio -> 1 / 3, PlotStyle -> White, Background -> Black, Frame -> False, Axes -> False]RegionProduct[ImageMesh@plot, Line[{{0.}, {20}}]]Printout3D[%, "waveform.stl"]文本
Wolfram Research (2016),AudioPlot,Wolfram 语言函数,https://reference.wolfram.com/language/ref/AudioPlot.html (更新于 2024 年).
CMS
Wolfram 语言. 2016. "AudioPlot." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2024. https://reference.wolfram.com/language/ref/AudioPlot.html.
APA
Wolfram 语言. (2016). AudioPlot. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/AudioPlot.html 年
BibTeX
@misc{reference.wolfram_2026_audioplot, author="Wolfram Research", title="{AudioPlot}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/AudioPlot.html}", note=[Accessed: 09-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_audioplot, organization={Wolfram Research}, title={AudioPlot}, year={2024}, url={https://reference.wolfram.com/language/ref/AudioPlot.html}, note=[Accessed: 09-August-2026]}