По пути tensorflow можно найти следующее замечание:

Untitled

Упоминание stft в тестах: питоновский файлик

Файл - с классами, которые напоминают функции ниже

https://github.com/tensorflow/tflite-micro/tree/main/tensorflow/lite/experimental/microfrontend/lib

https://github.com/tensorflow/tflite-micro/tree/main/tensorflow/lite/experimental/microfrontend/lib

Проходка по функциям из get_dataset.py


ds_train <- get_training_data(Flags) <- 
<- get_preprocess_audio_func(model_settings,is_training=True, background_data=background_data)

get_preprocess_audio_func():

1. wav_decoder = tf.cast(next_element['audio'], tf.float32)
2. wav_decoder = wav_decoder/tf.reduce_max(wav_decoder)
3. wav_decoder = tf.pad(wav_decoder,[[0,desired_samples-tf.shape(wav_decoder)[-1]]])
4. scaled_foreground = tf.multiply(wav_decoder, foreground_volume_placeholder_)
5. padded_foreground = tf.pad(scaled_foreground, time_shift_padding_placeholder_, mode='CONSTANT')
6. sliced_foreground = tf.slice(padded_foreground, time_shift_offset_placeholder_, [desired_samples])
7. sliced_foreground = tf.clip_by_value(background_add, -1.0, 1.0) 
8. stfts = tf.signal.stft(sliced_foreground, frame_length=model_settings['window_size_samples'], 
                         frame_step=model_settings['window_stride_samples'], fft_length=None,
                         window_fn=tf.signal.hann_window)

tf.pad()

Для tflite: tensorflow/tensorflow/lite/kernels/pad.cc

С++: tensorflow/tensorflow/core/ops/array_ops.cc

tf.multiply()

C++: tensorflow/tensorflow/lite/kernels/mul.cc

tf.slice()

C++: tensorflow/tensorflow/lite/kernels/slice.cc

tf.clip_by_value()

tf.signal.stft()

Из файла __init__ по пути D:\Jupyter-notebook\jupvenv\lib\python3.8\site-packages\tensorflow:

from tensorflow.python.ops.array_ops import pad_v2 as pad
from tensorflow.python.ops.math_ops import multiply
from tensorflow.python.ops.array_ops import slice
from tensorflow.python.ops.clip_ops import clip_by_value
from ._api.v2 import signal

Из файла __init__ по пути D:\Jupyter-notebook\jupvenv\lib\python3.8\site-packages\tensorflow\_api\v2\signal:

from tensorflow.python.ops.signal.spectral_ops import stft