# Formation of audio file(.wav) from a matrix.

1 view (last 30 days)
HEMRAJ PATEL on 17 Nov 2021
Commented: Star Strider on 17 Nov 2021
How can i convert a simple 3*3 matrix into an audio file of (.wav)

Rick Nickle on 17 Nov 2021
Edited: Rick Nickle on 17 Nov 2021
Thanks Star Strider!
Hemraj, I understood that you were also interested in writing the .WAV file, so I'll add that.
Populate the 3x3 matrix:
M=randn(3)
M = 3×3
-0.7170 -2.0392 -0.5122 1.0327 0.1710 -0.7445 1.5918 -1.4577 0.2902
Set the sample rate:
Fs=48000
Fs = 48000
Normalize the data and put it back into 3x3 (I may missing a good optimization here):
y = reshape(normalize(M(:),'range',[-1 1]),3,3)
y = 3×3
-0.2718 -1.0000 -0.1589 0.6920 0.2174 -0.2869 1.0000 -0.6798 0.2830
Write the data to .wav:
audiowrite('3x3.wav', y, Fs)
Now read it back to test:
yy = 3×3
-0.2718 -1.0000 -0.1590 0.6920 0.2174 -0.2869 1.0000 -0.6798 0.2830
FFs = 48000
We can't actually play back using the sound() function because it only supports 2-channel, so play back the first two:
sound(yy(1:end,[1 2]))
Star Strider on 17 Nov 2021
My pleasure.
With extremely rare exceptions (this is not one), I delete my un-accepted Answers, so I have here as well.