Cepstrogram[data]
plots the array of power cepstra computed on each partition of data.
Cepstrogram[data,n]
uses partitions of length n.
Cepstrogram[data,n,d]
uses partitions with offset d.
Cepstrogram[data,n,d,wfun]
applies a smoothing window wfun to each partition.
Cepstrogram[data,n,d,wfun,m]
pads partitions with zeros to length m prior to the computation of the transform.
Cepstrogram
Cepstrogram[data]
plots the array of power cepstra computed on each partition of data.
Cepstrogram[data,n]
uses partitions of length n.
Cepstrogram[data,n,d]
uses partitions with offset d.
Cepstrogram[data,n,d,wfun]
applies a smoothing window wfun to each partition.
Cepstrogram[data,n,d,wfun,m]
pads partitions with zeros to length m prior to the computation of the transform.
Details and Options
- Cepstrogram computes and plots an array of cepstra computed on partitions of data.
- The power cepstrum for each partition is computed as the squared inverse Fourier transform of the log-power spectrum.
- Use CepstrogramArray to get the numerical array of cepstra.
- The partition length n and offset d can be expressed as an integer number (interpreted as number of samples) or as time or sample quantities.
- Cepstrogram[list] uses partitions of length
and offset
, where m is Length[list]. - In Cepstrogram[list,n,d,wfun], the smoothing window wfun can be specified using a window function that will be sampled between
and
or a list of length n. The default window is DirichletWindow, which effectively does no smoothing. - The data can be any of the following:
-
list 1D numerical array audio an Audio or Sound object video a Video object - For multichannel audio objects, the cepstrogram is computed over the sum of all channels.
- Cepstrogram accepts all Graphics options with the following additions and changes: [List of all options]
-
AspectRatio 1/3 ratio of height to width ClippingStyle None how to show cells whose values are clipped ColorFunction Automatic how each cell should be colored ColorFunctionScaling True whether to scale the argument to ColorFunction ColorRules Automatic rules for determining colors from values DataRange Automatic the range of
and
values to assume DataReversed False whether to reverse the order of rows FourierParameters {1,-1} Fourier parameters Frame Automatic whether to draw a frame around the plot MaxPlotPoints ∞ the maximum number of points to include Mesh False whether to draw a mesh MeshStyle GrayLevel[-1+GoldenRatio] the style to use for a mesh Padding Automatic padding scheme PaddingSize {0,0} amount of padding PlotLegends None legends for datasets -
AlignmentPoint Center the default point in the graphic to align with AspectRatio 1/3 ratio of height to width Axes False whether to draw axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} style specifications for the axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic ClippingStyle None how to show cells whose values are clipped ColorFunction Automatic how each cell should be colored ColorFunctionScaling True whether to scale the argument to ColorFunction ColorRules Automatic rules for determining colors from values ContentSelectable Automatic whether to allow contents to be selected CoordinatesToolOptions Automatic detailed behavior of the coordinates tool DataRange Automatic the range of
and
values to assume DataReversed False whether to reverse the order of rows Epilog {} primitives rendered after the main plot FormatType TraditionalForm the default format type for text FourierParameters {1,-1} Fourier parameters Frame Automatic whether to draw a frame around the plot FrameLabel None frame labels FrameStyle {} style specifications for the frame FrameTicks Automatic frame ticks FrameTicksStyle {} style specifications for frame ticks GridLines None grid lines to draw GridLinesStyle {} style specifications for grid lines ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels etc. ImageSize Automatic the absolute size at which to render the graphic LabelStyle {} style specifications for labels MaxPlotPoints ∞ the maximum number of points to include Mesh False whether to draw a mesh MeshStyle GrayLevel[-1+GoldenRatio] the style to use for a mesh Method Automatic details of graphics methods to use Padding Automatic padding scheme PaddingSize {0,0} amount of padding PlotLabel None an overall label for the plot PlotLegends None legends for datasets PlotRange All range of values to include PlotRangeClipping False whether to clip at the plot range PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic the final display region to be filled PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} primitives rendered before the main plot RotateLabel True whether to rotate y labels on the frame Ticks Automatic axes ticks TicksStyle {} style specifications for axes ticks
List of all options
Examples
open all close allBasic Examples (2)
Scope (2)
By default, a suitable window size and offset are chosen:
a = \!\(\*AudioBox[""]\);Cepstrogram[a]Specify the window size that corresponds to the quefrency range:
Cepstrogram[a, 64]Use a specific window size and offset:
Cepstrogram[a, 64, 32]Use a larger window size to get a bigger quefrency range:
Cepstrogram[a, 256, 64]Specify a smoothing window function:
Cepstrogram[a, 256, 64, HammingWindow]Cepstrogram[a, 256, 64, None]Process the audio track of a video:
Cepstrogram[\!\(\*VideoBox[""]\)]Options (50)
AspectRatio (3)
By default, Cepstrogram uses a fixed height to width ratio for the plot:
Cepstrogram[IconizedObject[«sawtooth wave»]]Make the height the same as the width with AspectRatio1:
Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> 1]AspectRatioFull adjusts the height and width to tightly fit inside other constructs:
plot = Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> Full];{Framed[Pane[plot, {200, 150}]], Framed[Pane[plot, {200, 100}]]}Axes (4)
By default, Cepstrogram uses a frame instead of axes:
Cepstrogram[IconizedObject[«sawtooth wave»]]Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True]Use AxesOrigin to specify where the axes intersect:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesOrigin -> {0, 0}]Turn each axis on individually:
{Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> {True, False}], Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> {False, True}]}AxesLabel (3)
Axes are not labeled by default:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True]Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesLabel -> Label]Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesLabel -> {Label1, Label2}]AxesOrigin (2)
The position of the axes is determined automatically:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True]Specify an explicit origin for the axes:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesOrigin -> {2000, 60}]AxesStyle (4)
Change the style for the axes:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesStyle -> Red]Specify the style of each axis:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesStyle -> {{Thick, Red}, {Thick, Blue}}]Use different styles for the ticks and the axes:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> Red]Use different styles for the labels and the axes:
Cepstrogram[IconizedObject[«sawtooth wave»], Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> Gray]Frame (4)
Cepstrogram uses a frame by default:
Cepstrogram[ \!\(\*AudioBox[""]\)]Use FrameFalse to turn off the frame:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False]Draw a frame on the left and right edges:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> {{True, True}, {False, False}}]Draw a frame on the left and bottom edges:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> {{True, False}, {True, False}}]FrameLabel (2)
Place a label along the bottom of a plot:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameLabel -> {{"Bottom", None}, {None, None}}]Place labels on each of the edges in the frame:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameLabel -> {{"Bottom", "Top"}, {"Left", "Right"}}]FrameStyle (2)
Specify the style of the frame:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameStyle -> Directive[StandardGray, Thick]]Specify style for each frame edge:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameStyle -> {{Directive[StandardGreen, Thick], Directive[Red]}, {Directive[StandardGray, Thick], Directive[StandardBlue]}}]FrameTicks (6)
Frame ticks are placed automatically by default:
Cepstrogram[ \!\(\*AudioBox[""]\)]By default, the top and right edges have neither tick marks nor tick labels:
Cepstrogram[ \!\(\*AudioBox[""]\)]Use All to include tick labels on all edges:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> All]Place tick marks at the specified positions:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> {{{.001, .005, .008}, None}, {Automatic, Automatic}}]Draw frame tick marks at the specified positions with specific labels:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> {{{{.001, a}, {.005, b}, {.008, c}}, Automatic}, {{{.1, a}, {.5, b}, {.8, c}}, Automatic}}]Specify the lengths for tick marks as a fraction of the plot size:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> {{{{.001, a, .05}, {.005, b, .1}, {.008, c, .1}}, Automatic}, {{{.1, a, .1}, {.5, b, .2}, {.8, c, .2}}, Automatic}}]Use different sizes in the positive and negative directions for tick marks:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> {{{{.001, a, {.05, .1}}, {.005, b, {.1, .1}}, {.008, c, {.1, .1}}}, Automatic}, {Automatic, Automatic}}]Specify a style for frame ticks:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicks -> {{{{.001, a, {.05, .1}, Directive[Thick, Blue, Dashed]}, {.005, b, {.1, .1}, Directive[Thick, Red]}, {.008, c, {.1, .1}, Directive[Thick, Green]}}, Automatic}, {Automatic, Automatic}}]FrameTicksStyle (3)
By default, the frame ticks and frame tick labels use the same styles as the frame:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameStyle -> Directive[Red]]Specify an overall style for the ticks, including the labels:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicksStyle -> Directive[Blue, Thick]]Use different styles for each frame edge:
Cepstrogram[ \!\(\*AudioBox[""]\), FrameTicksStyle -> {{Directive[Red, Thick], Directive[Blue, Thick]}, {Directive[StandardGray, Thick], Directive[Darker@Green, Thick]}}, FrameTicks -> All]ImageSize (7)
Use named sizes such as Tiny, Small, Medium and Large:
{Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> Tiny], Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> Small]}Specify the width of the plot:
{Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> 150], Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> 1.5, ImageSize -> 150]}Specify the height of the plot:
{Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> {Automatic, 120}], Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> 2, ImageSize -> {Automatic, 120}]}Allow the width and height to be up to a certain size:
{Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> UpTo[200]], Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> 2, ImageSize -> UpTo[200]]}Specify the width and height for a graphic, padding with space if necessary:
Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> {200, 200}, Background -> StandardBlue]Setting AspectRatioFull will fill the available space:
Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> Full, ImageSize -> {200, 200}, Background -> StandardBlue]Use maximum sizes for the width and height:
{Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> {UpTo[200], UpTo[100]}], Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> 1, ImageSize -> {UpTo[200], UpTo[300]}]}Use ImageSizeFull to fill the available space in an object:
Framed[Pane[Cepstrogram[IconizedObject[«sawtooth wave»], ImageSize -> Full, Background -> StandardBlue], {200, 100}]]Specify the image size as a fraction of the available space:
Framed[Pane[Cepstrogram[IconizedObject[«sawtooth wave»], AspectRatio -> Full, ImageSize -> {Scaled[0.5], Full}, Background -> StandardBlue], {400, 150}]]Ticks (6)
Ticks are placed automatically on each axis:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True]Use TicksNone to draw axes without any tick marks:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, Ticks -> None]Place tick marks at the specified positions:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, Ticks -> {{.5, 1, 1.6}, {.005, .007, .01}}]Draw tick marks at the specified positions with specific labels:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, Ticks -> {{{.5, a}, {1, b}, {1.6, c}}, {{.005, d}, {.007, e}, {.01, f}}}]Specify the lengths for ticks as a fraction of graphics size:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, Ticks -> {{{.5, a, .05}, {1, b, .1}, {1.6, c, .2}}, {{.005, d, .05}, {.007, e, .1}, {.01, f, .2}}}]Use different sizes in the positive and negative directions for ticks:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, Ticks -> {Automatic, {{.005, d, {.05, .05}}, {.007, e, {.1, .1}}, {.01, f, {.2, .2}}}}]Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True,
Ticks -> {{{.5, a, .05, Directive[Red, Thick]}, {1, b, .1,
Directive[Red]}, {1.6, c, .2,
Directive[Red, Dashed, Thick]}}, {{.005, d, .05,
Directive[Blue, Thick]}, {.007, e, .1, Directive[Blue]}, {.01,
f, .2, Directive[Blue, Dashed, Thick]}}}]TicksStyle (4)
By default, the ticks and tick labels use the same styles as the axis:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True]Specify an overall ticks style, including the tick labels:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, TicksStyle -> Red]Specify ticks style for each of the axes:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, TicksStyle -> {Directive[Red, Thick], Directive[Blue, Thick]}]Use a different style for the tick labels and tick marks:
Cepstrogram[ \!\(\*AudioBox[""]\), Frame -> False, Axes -> True, TicksStyle -> Directive[Red, Thick], LabelStyle -> Blue]Applications (2)
Detect the effect of a "flanger" (time-varying comb filter) in a recording:
a = \!\(\*AudioBox[""]\);The spectrogram is not very useful in showing the effect:
Spectrogram[a]The cepstrogram allows a decoupling of the components from the signal and the flanger:
Cepstrogram[a]i = [image];Cepstrogram[Flatten[ImageData[i]], 512, 64, HannWindow]Properties & Relations (2)
On multichannel Sound or Audio, cepstrogram is computed on the sum of the channels:
a = \!\(\*AudioBox[""]\);AudioChannels[a]Cepstrogram[a] === Cepstrogram@Total@AudioChannelSeparate[a]Create a cepstrogram from the CepstrogramArray:
chirp = Table[SawtoothWave[( i/100) + ((i/1000))^2], {i, 10000}];
ca = CepstrogramArray[chirp];ListDensityPlot[Transpose[Abs[ca]][[ ;; (Last@Dimensions[ca] / 2)]], Frame -> None, AspectRatio -> 1 / 3]Comparison with the Cepstrogram output:
Cepstrogram[chirp, Frame -> False]Neat Examples (1)
Text
Wolfram Research (2017), Cepstrogram, Wolfram Language function, https://reference.wolfram.com/language/ref/Cepstrogram.html (updated 2024).
CMS
Wolfram Language. 2017. "Cepstrogram." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/Cepstrogram.html.
APA
Wolfram Language. (2017). Cepstrogram. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Cepstrogram.html
BibTeX
@misc{reference.wolfram_2026_cepstrogram, author="Wolfram Research", title="{Cepstrogram}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/Cepstrogram.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_cepstrogram, organization={Wolfram Research}, title={Cepstrogram}, year={2024}, url={https://reference.wolfram.com/language/ref/Cepstrogram.html}, note=[Accessed: 13-June-2026]}