Mercurial > hg > aimc
diff src/Modules/Profile/ModuleScaler.h @ 20:fff25824d1d1
-Added a module to scale output values by the channel centre frequency
-Fixed file input to support loading and processing of multiple files
-Updated the aimc main file to generate profiles like in the recognition experiments
author | tomwalters |
---|---|
date | Mon, 22 Feb 2010 17:51:27 +0000 |
parents | |
children | c5f5e9569863 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Modules/Profile/ModuleScaler.h Mon Feb 22 17:51:27 2010 +0000 @@ -0,0 +1,58 @@ +// Copyright 2010, Thomas Walters +// +// AIM-C: A C++ implementation of the Auditory Image Model +// http://www.acousticscale.org/AIMC +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +/*! + * \author Thomas Walters <tom@acousticscale.org> + * \date created 2010/02/19 + * \version \$Id$ + */ + +#ifndef AIMC_MODULES_PROFILE_SLICE_H_ +#define AIMC_MODULES_PROFILE_SLICE_H_ + +#include "Support/Module.h" + +namespace aimc { +using std::vector; +class ModuleScaler : public Module { + public: + explicit ModuleScaler(Parameters *pParam); + virtual ~ModuleScaler(); + + /*! \brief Process a buffer + */ + virtual void Process(const SignalBank &input); + + private: + /*! \brief Reset the internal state of the module + */ + virtual void ResetInternal(); + + /*! \brief Prepare the module + * \param input Input signal + * \param output true on success false on failure + */ + virtual bool InitializeInternal(const SignalBank &input); + + float sample_rate_; + int buffer_length_; + int channel_count_; +}; +} // namespace aimc + +#endif // AIMC_MODULES_PROFILE_SLICE_H_