0
我有一個數據的csv文件,記錄在數據採集中心,頻率爲500Hz,我試圖將其轉換爲wav格式。我對Python有特殊要求,只是將這些數字(16位整數提供給wave
包)提供,並且不起作用。我應該如何從簡單的數字流構造一個wav文件?如何將500Hz csv數據文件轉換爲wav音頻文件?
我試過下面的代碼,其中包括規範化,並且我將dtype
設置爲float32,以便根據文檔here使用32位浮點格式,但它不會生成任何聲音。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import numpy as np
import scipy.io.wavfile
from numpy import *
csv_array = np.loadtxt('trimmed.csv', delimiter=',', dtype=float32)
min = np.amin(csv_array)
max = np.amax(csv_array)
med = (max + min)/2
def f(x):
return (x - med) * (1 - (-1))/(max - min)
f = np.vectorize(f)
wav_array = f(csv_array)
scipy.io.wavfile.write('output.wav', 500, csv_array)
謝謝你的回答,我試過你的方式,基本上我得到的是一個空白的,沒有聲音,我已經發布代碼作爲問題的更新,你介意看看嗎? – TPWang
查看我的編輯。問題似乎與您的採樣率有關。 – Jakub
儘管您的編輯是爲了創建隨機生成的聲音,但我的數據來自數據採集設備,但我會嘗試。 – TPWang