0

我收到错误 Error using wavread (line 67) Invalid Wave File。原因:无法打开文件。

energy_per_frame 错误(第 2 行)[inpu fs] = wavread(file);

这是调用 energy_per_frame 的函数的源代码。

 [inpu fs] = wavread(file);
clc;clear;close all;
file = input('Enter name of wav file  ', 's');
counter=0;
for test_number = 0:4
for test_number2 = 0:20
        counter=counter+1;
        reference = dtw_avg(test_number2);
        test = energy_per_frame(file);
        distance(counter) = dtw(test,reference);
end

这是函数 energy_per_frame 的源代码

 [inpu fs] = wavread(file);
    fn = fs/2;
bins = 512; %useable bins
frame_length = bins;
window = hamming(frame_length);
overlap = .5;
number_of_frames = (length(inpu)/(frame_length)/overlap) - 1;

这里有什么问题?

4

1 回答 1

0

好吧,你的函数定义应该是这样的

function [ output_args ] = energy_per_frame( input_args )
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here


end

看起来您缺少function关键字。

但是,如果第一个块只是应该是一个脚本,那么您在实际获得用户输入文件名之前就调用了 wavread。此外,实际上没有必要像在函数中那样调用 clear 等。

于 2013-03-25T16:27:08.767 回答