Aliases:
tf.contrib.signal.frame
tf.signal.frame
tf.signal.frame(
signal,
frame_length,
frame_step,
pad_end=False,
pad_value=0,
axis=-1,
name=None
)
Defined in tensorflow/python/ops/signal/shape_ops.py
.
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.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 scalarTensor
.frame_step
: The frame hop size in samples. An integer or scalarTensor
.pad_end
: Whether to pad the end ofsignal
withpad_value
.pad_value
: An optional scalarTensor
to use where the input signal does not exist whenpad_end
is True.axis
: A scalar integerTensor
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
: Ifframe_length
,frame_step
,pad_value
, oraxis
are not scalar.