Mercurial > hg > aimc
comparison src/Main/aimc.cc @ 46:c8024714e13e
- Added support for a very basic AIM-C file format
author | tomwalters@google.com |
---|---|
date | Thu, 27 May 2010 07:25:03 +0000 |
parents | c5f5e9569863 |
children | e914b02b31b0 |
comparison
equal
deleted
inserted
replaced
45:c5f5e9569863 | 46:c8024714e13e |
---|---|
21 | 21 |
22 #include "Modules/Input/ModuleFileInput.h" | 22 #include "Modules/Input/ModuleFileInput.h" |
23 #include "Modules/BMM/ModuleGammatone.h" | 23 #include "Modules/BMM/ModuleGammatone.h" |
24 #include "Modules/BMM/ModulePZFC.h" | 24 #include "Modules/BMM/ModulePZFC.h" |
25 #include "Modules/NAP/ModuleHCL.h" | 25 #include "Modules/NAP/ModuleHCL.h" |
26 #include "Modules/Strobes/ModuleParabola.h" | 26 #include "Modules/Strobes/ModuleLocalMax.h" |
27 #include "Modules/SAI/ModuleSAI.h" | 27 #include "Modules/SAI/ModuleSAI.h" |
28 #include "Modules/SSI/ModuleSSI.h" | 28 #include "Modules/SSI/ModuleSSI.h" |
29 #include "Modules/Profile/ModuleSlice.h" | 29 #include "Modules/Profile/ModuleSlice.h" |
30 #include "Modules/Profile/ModuleScaler.h" | 30 #include "Modules/Profile/ModuleScaler.h" |
31 #include "Modules/Features/ModuleGaussians.h" | 31 #include "Modules/Features/ModuleGaussians.h" |
32 #include "Modules/Output/FileOutputHTK.h" | 32 #include "Modules/Output/FileOutputHTK.h" |
33 #include "Modules/Output/FileOutputAIMC.h" | |
33 | 34 |
34 int main(int argc, char* argv[]) { | 35 int main(int argc, char* argv[]) { |
35 aimc::Parameters params; | 36 aimc::Parameters params; |
36 | 37 |
37 int buffer_length = 480; | 38 int buffer_length = 480; |
38 params.SetInt("input.buffersize", buffer_length); | 39 params.SetInt("input.buffersize", buffer_length); |
39 params.SetBool("slice.normalize", true); | |
40 params.SetFloat("nap.lowpass_cutoff", 100.0f); | |
41 | 40 |
42 aimc::ModuleFileInput input(¶ms); | 41 aimc::ModuleFileInput input(¶ms); |
43 aimc::ModuleGammatone bmm(¶ms); | 42 aimc::ModuleGammatone bmm(¶ms); |
44 // aimc::ModulePZFC bmm(¶ms); | |
45 aimc::ModuleHCL nap(¶ms); | 43 aimc::ModuleHCL nap(¶ms); |
46 // aimc::ModuleParabola strobes(¶ms); | 44 aimc::ModuleLocalMax strobes(¶ms); |
47 // aimc::ModuleSAI sai(¶ms); | 45 aimc::ModuleSAI sai(¶ms); |
48 // aimc::ModuleSSI ssi(¶ms); | 46 aimc::FileOutputAIMC output(¶ms); |
49 aimc::ModuleSlice profile(¶ms); | |
50 aimc::ModuleScaler scaler(¶ms); | |
51 aimc::ModuleGaussians features(¶ms); | |
52 aimc::FileOutputHTK output(¶ms); | |
53 | 47 |
54 std::string parameters_string = params.WriteString(); | 48 std::string parameters_string = params.WriteString(); |
55 printf("%s", parameters_string.c_str()); | 49 printf("%s", parameters_string.c_str()); |
56 | 50 |
57 input.AddTarget(&bmm); | 51 input.AddTarget(&bmm); |
58 bmm.AddTarget(&nap); | 52 bmm.AddTarget(&nap); |
59 nap.AddTarget(&profile); | 53 nap.AddTarget(&strobes); |
60 //strobes.AddTarget(&sai); | 54 strobes.AddTarget(&sai); |
61 //sai.AddTarget(&ssi); | 55 sai.AddTarget(&output); |
62 //ssi.AddTarget(&profile); | |
63 profile.AddTarget(&scaler); | |
64 scaler.AddTarget(&features); | |
65 features.AddTarget(&output); | |
66 | 56 |
67 float frame_period_ms = 1000.0f * buffer_length | 57 output.OpenFile("test_output.aimc", params.GetFloat("sai.frame_period_ms")); |
68 / input.GetOutputBank()->sample_rate(); | |
69 | |
70 output.OpenFile("test_output.htk", frame_period_ms); | |
71 if (input.LoadFile("test.wav")) { | |
72 input.Process(); | |
73 } else { | |
74 printf("LoadFile failed"); | |
75 } | |
76 | |
77 input.Reset(); | |
78 output.OpenFile("test_output_2.htk", frame_period_ms); | |
79 if (input.LoadFile("test.wav")) { | 58 if (input.LoadFile("test.wav")) { |
80 input.Process(); | 59 input.Process(); |
81 } else { | 60 } else { |
82 printf("LoadFile failed"); | 61 printf("LoadFile failed"); |
83 } | 62 } |