Python tensorflow ffmpeg contrib输出

Python tensorflow ffmpeg contrib输出,python,ffmpeg,tensorflow,Python,Ffmpeg,Tensorflow,首先,我想说的是,我对TensorFlow和机器学习完全陌生。 我正在看contrib部分,我看到了解码音频文件的示例,我想知道解码音频文件的向量输出是什么?我正在运行的代码如下所示: import tensorflow as tf from tensorflow.contrib import ffmpeg with tf.Session() as sess: audio_binary = tf.read_file('test.wav') waveform = ffmpeg.de

首先,我想说的是,我对TensorFlow和机器学习完全陌生。
我正在看contrib部分,我看到了解码音频文件的示例,我想知道解码音频文件的向量输出是什么?我正在运行的代码如下所示:

import tensorflow as tf
from tensorflow.contrib import ffmpeg
with tf.Session() as sess:
    audio_binary = tf.read_file('test.wav')
    waveform = ffmpeg.decode_audio(audio_binary, file_format='wav',
                                   samples_per_second=16000, channel_count=1)
    audio = waveform.eval()

然后,
audio
变量变成一个
numpy.ndarray
类型,它是一个单元素列表列表(总共约620000个元素),所有元素都在-0.50218207和0.39030123之间浮动。我的问题是:这些数字意味着什么?这是我完全不知道的某种标准音频表示吗?

波形中的每个浮点值都表示相应音频在离散时刻的振幅,具体取决于采样率(在这种情况下,每1/16000秒)。如果你看的是2个声道的音频,而不是1个声道,你会有另一个类似的数据阵列,从而得到一个等间距时间序列数据的2d矩阵


您可以通过查找周期周期或振幅变化来确定该波形分量的频率/基音。从正到负再到反的交叉可能代表基频,而较小的周期内振荡可能代表声音的谐波和泛音。通常使用快速傅里叶变换或类似方法进行此类分析。TensorFlow的实现肯定会让人着迷。

这更像是一个ffmpeg问题,而不是TensorFlow/机器学习问题吗?你读过ffmpeg文档吗?