code: def step_preprocess(x, step, hparams):
    
    original_channel_size = common_layers.shape_list(x)[-1]
  
    if hparams.add_position_timing_signal:
      x = add_position_timing_signal(x, step, hparams)
  
    if hparams.add_step_timing_signal:
      x = add_step_timing_signal(x, step, hparams)
  
    if ((hparams.add_position_timing_signal or hparams.add_position_timing_signal)
        and hparams.add_or_concat_timing_signal == "concat"):
      # linear projection to the original dimension of x
      x = common_layers.dense(
          x, original_channel_size, activation=None, use_bias=False)
  
    if hparams.add_sru:
      x = common_layers.sru(x)
  
    return x
docs: Preprocess the input at the beginning of each step.
  
    Args:
      x: input tensor
      step: step
      hparams: model hyper-parameters
  
    Returns:
      preprocessed input.