从 Raspberry Pi 个值中读取语音 (ADC)

Read voice from Raspberry Pi values (ADC)

您好,我正在使用 ADC 读取语音(来自客户端 1),然后将其发送到客户端 2 可以读取的服务器。我试图将我获得的值注册到一个数组中,并通过 windows 媒体播放器读取它以确保声音录制良好,但我一无所获。

关于文件中应包含哪种类型的值以及如何正确读取它的任何帮助。

文件中的值是这样的:

4163 87401 39840 34224 8410 39539 84134 34412 40238 93974 7434 41739 34023 83412 41742 73903 93374 40341 24264 2400 42041 4174 22406 40939 93884 8419 37041 73933 77410 40745 44044 2385 39440 74114 13405 43940 14244 4455 41836 23993 83435 36738 63964 11397 38140 74044 12366 38041 24034 31403 38938 13954 17407 42340 23883 79398 39644 34183 99391...

使用 Python 您可以尝试以下操作将存储在文本中的原始样本转换为 wave 文件。请注意,您必须知道信号的采样频率,并且样本假设为 int16.

from __future__ import print_function
import scipy.io.wavfile as wavf
import numpy as np
from sys import argv

def txt2wav(in_f, out_f, fs):
    txtdata = np.genfromtxt(in_f, dtype='int16')
    wavf.write(out_f, int(fs), txtdata)

if __name__ == "__main__":
    if len(argv) != 4:
        print("usage: txt2wav.py input.txt out.wav samp_freq")
    elif len(argv) == 4:
        txt2wav(*argv[1:])