Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Matlab coder error from conversion to C++.

1 visualizzazione (ultimi 30 giorni)
멋진남자
멋진남자 il 6 Dic 2023
Chiuso: 멋진남자 il 5 Feb 2024
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.

Risposte (0)

Questa domanda è chiusa.

Prodotti


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by