tf.contrib.signal.frame( signal, frame_length, frame_step, pad_end=False, pad_value=0, axis=-1, name=None )
Defined in tensorflow/contrib/signal/python/ops/shape_ops.py
.
See the guide: Signal Processing (contrib) > Framing variable length sequences
Expands signal
's axis
dimension into frames of frame_length
.
Slides a window of size frame_length
over signal
's axis
dimension with a stride of frame_step
, replacing the axis
dimension with [frames, frame_length]
frames.
If pad_end
is True, window positions that are past the end of the axis
dimension are padded with pad_value
until the window moves fully past the end of the dimension. Otherwise, only window positions that fully overlap the axis
dimension are produced.
For example:
pcm = tf.placeholder(tf.float32, [None, 9152]) frames = tf.contrib.signal.frame(pcm, 512, 180) magspec = tf.abs(tf.spectral.rfft(frames, [512])) image = tf.expand_dims(magspec, 3)
signal
: A [..., samples, ...]
Tensor
. The rank and dimensions may be unknown. Rank must be at least 1.frame_length
: The frame length in samples. An integer or scalar Tensor
.frame_step
: The frame hop size in samples. An integer or scalar Tensor
.pad_end
: Whether to pad the end of signal
with pad_value
.pad_value
: An optional scalar Tensor
to use where the input signal does not exist when pad_end
is True.axis
: A scalar integer Tensor
indicating the axis to frame. Defaults to the last axis. Supports negative values for indexing from the end.name
: An optional name for the operation.A Tensor
of frames with shape [..., frames, frame_length, ...]
.
ValueError
: If frame_length
, frame_step
, pad_value
, or axis
are not scalar.
© 2018 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/contrib/signal/frame