How to convert an excel file (.csv) to a .wav format/any other audio format file?
Show older comments
Hi,
I have an excel file which has ~200k data samples stored in one column and I want to convert the data from that file into an audio file. But whenever I use the excel file, there is almost no sound. I want to play it at 40khz frequency.
I am just using this code:
clearvars
a=xlsread('w3.csv'); %read the xls table
figure,plot(a) %this is your signal
xlim([0 200704])
sound(a,40000) %play the signal
audiowrite('w3.wav',a,40000,'BitsPerSample',16);
Can someone help? Thanks.
Accepted Answer
More Answers (1)
Peter Perkins
on 14 Mar 2022
This

should give a hint that xlsread is not the right way to go. In this case, you want to use readmatrix:
a = readmatrix("w3.csv")
5 Comments
Scott MacKenzie
on 14 Mar 2022
@Giggs B. You've got the wrong filename in your script. The file is "w3.csv", not "3.csv". Fix that typo and it should work fine.
Scott MacKenzie
on 14 Mar 2022
@Giggs B. Hmm, well I'm not sure then. In the code in my answer, if I change xlsread to readmatrix, it works fine.
This sounds like a fairly simple debugging problem. So, for you, it works with xlsread, but it doesn't work with readmatrix. So, try to use both:
n1 = xlsread('3.csv');
n2 = readmatrix('3.csv');
and have a look in n1 and n2 and see what the difference is. That's a good starting point.
Giggs B.
on 14 Mar 2022
Categories
Find more on Audio and Video Data in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!