I tried the code below to make a WAV file playing a fifth for 2 seconds:
C4 = 261.626
G4 = 391.995
t = np.arange(0, 2, 1/44100)
x = np.sin(2*np.pi*C4*t) + np.sin(2*np.pi*G4*t)
wavfile.write("C4G4.wav", 44100, x)
But the file won't play on the audio apps I have (Groove Music, Windows Media Player).
It does if I change x to 32-bit floats x = x.astype('float32')
. At first I thought 64-bit WAV were just impossible, but wavfile.read
works just fine on either dtype. Can somebody clarify where this problem is?
question from:
https://stackoverflow.com/questions/66051034/groove-music-or-windows-media-player-cant-play-wav-file-written-with-scipy-io-w 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…