tf.signal.frame
View source on GitHub |
Expands signal
's axis
dimension into frames of frame_length
.
tf.signal.frame( signal, frame_length, frame_step, pad_end=False, pad_value=0, axis=-1, name=None )
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.compat.v1.placeholder(tf.float32, [None, 9152]) frames = tf.signal.frame(pcm, 512, 180) magspec = tf.abs(tf.signal.rfft(frames, [512])) image = tf.expand_dims(magspec, 3)
Args | |
---|---|
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. |
Returns | |
---|---|
A Tensor of frames with shape [..., frames, frame_length, ...] . |
Raises | |
---|---|
ValueError | If frame_length , frame_step , pad_value , or axis are not scalar. |
© 2020 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/versions/r1.15/api_docs/python/tf/signal/frame