MATLAB Answers

Need help converting matrix of i2s values to sound

10 ビュー (過去 30 日間)
Raúl Iglesias Fernández
Raúl Iglesias Fernández 2018 年 3 月 13 日
コメント済み: Walter Roberson 2019 年 9 月 10 日
Hi, I have a 32768x1 matrix in matlab, ( 32768 samples of a i2s microphone that i captured from an FPGA, values are currently in decimal but they represent a 18 bit vector of the i2s PCM sample from the microphone). I need to convert this matrix to sound to test the microphone, but i need help to get it done.
Thanks to everybody.

  3 件のコメント

Sahil Kulkarni
Sahil Kulkarni 2019 年 8 月 8 日
I am need this help, as i too have captured the i2s microphone data, but dont know who can i playback the same to verify my recording.
Thnaks in advance for any help.
Walter Roberson
Walter Roberson 2019 年 8 月 8 日
Is it linear PCM, LPCM ? If so then divide by 2^18, then multiply by 2 and then subtract 1 to get data suitable for playing.
(or just divide by 2^17 and subtract 1)
Walter Roberson
Walter Roberson 2019 年 9 月 10 日
By the way, does the fi hint that the data is stored as FixedPoint instead of as int32 or uint32 ?

Sign in to comment.

回答 (1 件)

Ted Shultz
Ted Shultz 2019 年 9 月 10 日
You could try to use the audioplayer function. You would need to scale your data, and know the sample frequency.
You code may look something like this:
Fs = 48000; % Hz (use your value here)
Y =2*( fi-min(fi)) / (max(fi)-min(fi))-1; % scale data
player = audioplayer(Y,Fs); %make audio player

  0 件のコメント

Sign in to comment.

Translated by