从Rasberry Pi值(ADC)读取语音

时间:2015-05-13 18:19:31

标签: audio raspberry-pi 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 ...

1 个答案:

答案 0 :(得分:0)

使用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:])
相关问题