Я новичок в MatLab, и я понимаю, что этот вопрос уже так часто задают, и я проверил некоторые ответы здесь и здесь, но ничего из этого не работает на мой случай.
Я открыл файл wav и попытался преобразовать его в частотную область:
[y,fs,wmode,fidx]=readwav('sound.wav','r',-1,0)
left = y(:,1)
А потом посмотрел рисунок:
plot(left)
figure
spgrambw(left,16000)
Однако я получаю указанную ошибку, когда пытаюсь создать фрейм с помощью:
frames = enframe(left, uint16(length(left)/6))
Я пытался:
[1] enframe(double(left), uint16(length(left)/6))
[2] uint = uint16(length(left)/6)
enframe(double(left), uint)
Оба по-прежнему возвращают целые числа, могут быть только комбинированные ошибки. слева - матрица 48000 X 1. Любая помощь приветствуется.
frames = enframe(left, floor(length(left)/6))
. Еще можно сделать:frames = enframe(left, double(uint16(length(left)/6)))
, но это не имеет смысла. - person Rotem   schedule 07.10.2019