Mercurial > hg > aimc
view src/Main/aimc.cc @ 157:ce97ae23c66b
- Added support for a very basic AIM-C file format
author | tomwalters@google.com |
---|---|
date | Thu, 27 May 2010 07:25:03 +0000 |
parents | e914b02b31b0 |
children | c155e7fbe76e |
line wrap: on
line source
// Copyright 2008-2010, Thomas Walters // // AIM-C: A C++ implementation of the Auditory Image Model // http://www.acousticscale.org/AIMC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #include <stdlib.h> #include <string> #include "Modules/Input/ModuleFileInput.h" #include "Modules/BMM/ModuleGammatone.h" #include "Modules/BMM/ModulePZFC.h" #include "Modules/NAP/ModuleHCL.h" #include "Modules/Strobes/ModuleLocalMax.h" #include "Modules/SAI/ModuleSAI.h" #include "Modules/SSI/ModuleSSI.h" #include "Modules/Profile/ModuleSlice.h" #include "Modules/Profile/ModuleScaler.h" #include "Modules/Features/ModuleGaussians.h" #include "Modules/Output/FileOutputHTK.h" #include "Modules/Output/FileOutputAIMC.h" int main(int argc, char* argv[]) { aimc::Parameters params; int buffer_length = 480; params.SetInt("input.buffersize", buffer_length); aimc::ModuleFileInput input(¶ms); aimc::ModuleGammatone bmm(¶ms); aimc::ModuleHCL nap(¶ms); aimc::ModuleLocalMax strobes(¶ms); aimc::ModuleSAI sai(¶ms); aimc::FileOutputAIMC output(¶ms); std::string parameters_string = params.WriteString(); printf("%s", parameters_string.c_str()); input.AddTarget(&bmm); bmm.AddTarget(&nap); nap.AddTarget(&strobes); strobes.AddTarget(&sai); sai.AddTarget(&output); output.OpenFile("test_output.aimc", params.GetFloat("sai.frame_period_ms")); if (input.LoadFile("test.wav")) { input.Process(); } else { printf("LoadFile failed"); } }