20070710

Παράδειγμα διαβάσματος αρχείου WAV σε ansi C++.

Παραθέτω ένα παράδειγμα χρήσης της βιβλιοθήκης διαβάσματος/γραψίματος αρχείων WAV:

#include <string>
#include <fstream>
#include <iostream>
#include "WAVE.h"

using namespace std;

void main() {

WaveFile In;
In.OpenRead("input.wav");
In.ShowFormat();
WaveFile Out;

Out.OpenWrite("output.wav");
Out.ShowFormat();
Out.CopyFormatFrom(In);
Out.ShowFormat();

vector<float> v_samples;
for (size_t i=0; i < In.GetNumSamples(); i++) {
float sample;
In.ReadSample(sample);
v_samples.push_back(sample);
}
In.Close();

cout << "v_samples.size() = " << v_samples.size() << endl;
          // Γράψε τα δείγματα 229995 έως 232155 στο αρχείο output.wav
    for (int i=229995; i<232155; i++) {
Out.WriteSample(v_samples[i]);
}

cout << "Samples written: " << 232155 - 229995 << endl;
    // Αφού τα δείγματα τα έχουμε περάσει στον πίνακα v_samples
//
μπορούμε να εφραμόσουμε οποιαδήποτε περαιτέρω ψηφιακή επεξεργασία (dsp)
Out.ShowFormat();
Out.Close();
return;
}

Δεν υπάρχουν σχόλια:

Αρχειοθήκη ιστολογίου

eggs.in.art (my non-technical blog)