Armadilloを使って wav ファイルを mat に読み込みたい。matlab のwavread関数のように見えます。
[sample_data,sample_rate] = wavread('test.wav');
sample_data = sample_data(1 : sample_rate * 1.5);
Armadillo はこれをサポートしていないようなので、libsndfile libを使用しようとしました。
SNDFILE *infile = NULL ;
SF_INFO sfinfo ;
infile = sf_open(filename, SFM_READ, &sfinfo);
int N = 1024;
double samples[N];
double sample_rate = sfinfo.samplerate;
sf_read_double(infile, samples, N);
私の質問:
- この方法は正しいですか?固定量のサンプルしか読み取れないようです。
mat
サンプル データをorに変換するにはどうすればよいvec
ですか?- この matlab コードのように、コロン範囲インデックスで行列にアクセスする方法はあります
sample_data = sample_data(1 : sample_rate * 1.5);
か?