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