-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2ch-edit.c
40 lines (27 loc) · 1.14 KB
/
2ch-edit.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <stdio.h>
#include <stdint.h>
#include "c89-wav/format.h"
void main() {
WAV_PCM16 lin_sample, rin_sample;
WAV_PCM16 lout_sample, rout_sample;
float latten, ratten;
WAV_FILE input = wav_open("test-files/2ch-mutation.wav", WAV_READ);
WAV_FILE output = wav_open("test-files/2ch-edit.wav", WAV_NEW);
if (wav_is_open(&input) && wav_is_open(&output)) {
wav_copy_meta(&input, &output);
while (wav_has_next(&input)) {
wav_next_2ch_sample(&input, &lin_sample, &rin_sample);
latten = (wav_csample(&input) % 4410) / (float)4410;
ratten = (wav_csample(&input) % 8820) / (float)8820;
lout_sample = lin_sample * latten;
rout_sample = rin_sample * ratten;
wav_push_2ch_sample(&output, &lout_sample, &rout_sample);
}
if (!wav_close(&input)) {
fprintf(stderr, "Input file couldn't be closed.");
}
if (!wav_close(&output)) {
fprintf(stderr, "Output file couldn't be closed.");
}
}
}