我想使用mediapipe来运行实时音频的去噪(我已经有一个用tesonrflow训练的模型),没有视频输入,只是音频。我没有找到相关的用例,但这在理论上是可能的吗?
有很多方法可以做到,但这个概念仍然有效,当你变换和重新变换时,它们也会去除噪音并返回函数值。
[示例]:
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
: Logicals
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
audio = pyaudio.PyAudio()
stream = audio.open(format=FORMAT, channels=1, rate=RATE, input=True, frames_per_buffer=CHUNK)
file = tf.io.read_file("F:\temp\Python\Speech\Piano\Berklee44v4\prep_pianoE0_1.wav")
decoded_wav = tfio.audio.decode_wav( file, shape=None, dtype=tf.int16, name="decoded_wav" )
decoded_wav = tf.squeeze(decoded_wav, axis=-1)
decoded_wav_float = tf.cast( decoded_wav, dtype=tf.float32 )
print( decoded_wav )
stft = tf.signal.stft(decoded_wav_float, frame_length=256, frame_step=64)
stft = tf.abs(stft)
plt.subplot(2, 2, 1)
plt.plot(decoded_wav, lw=0.5)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.xlabel( "Spectrogram", fontsize=22 )
plt.subplot(2, 2, 2)
plt.plot(stft, lw=0.5)
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.xlabel( "stft", fontsize=22 )
plt.show()
plt.close()