Info
This question is closed. Reopen it to edit or answer.
Matlab coder error from conversion to C++.
1 view (last 30 days)
Show older comments
I want to conversion matlab wsolaTSM.m and pitchShiftViaTSM.m to C++ code.
So I success these but little bit problem.
When I converion to C++ in matlab coder error message below.
[error message]
The left-hand side has been constrained to be non-complex, but the right-hand side is complex. To correct this problem, make the right-hand side real using the function REAL, or change the initial assignment to the left-hand side variable to be a complex value using the COMPLEX function.
[matlab code]
%%%%%%%%%%%%%%
stft.m
%%%%%%%%%%%%%%
% spectrogram calculation
%%%%%%%%%%%%%%
spec = zeros(winLenHalf+1,numOfFrames);
for i = 1 : numOfFrames
xi = xPadded(winPos(i):winPos(i) + winLen - 1) .* w;
if parameter.fftShift == 1
xi = fftshift(xi);
end
Xi = fft(xi);
spec(:,i) = Xi(1:winLenHalf+1); %-> error occured code
end
%%%%%%%%%%%%%%
So I modified code like this.
spec(:,i) = real(Xi(1:winLenHalf+1));
but
The sound of the converted wave file is low.
The sound quality is poor.
[Question]
Is there a way to convert it to C++ code without changing the sound quality?
The code is as follows and is a complex code made up of several functions.
Thank you for reading to my question.
0 Comments
Answers (0)
This question is closed.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!