FE_wave_feature.h
上传用户:italyroyal
上传日期:2013-05-06
资源大小:473k
文件大小:2k
源码类别:

语音合成与识别

开发平台:

Visual C++

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // This is a part of the Feature program.
  3. // Version: 1.0
  4. // Date: February 22, 2003
  5. // Programmer: Oh-Wook Kwon
  6. // Copyright(c) 2003 Oh-Wook Kwon. All rights reserved. owkwon@ucsd.edu
  7. ///////////////////////////////////////////////////////////////////////////////
  8. ///////////////////////////////////////////////////////////////////////////////
  9. // for interface to other modules
  10. ///////////////////////////////////////////////////////////////////////////////
  11. #ifndef _FE_WAVE_FEATURE_H_
  12. #define _FE_WAVE_FEATURE_H_
  13. #include <climits>
  14. #include <cfloat>
  15. #include <cmath>
  16. #ifdef max
  17. #undef max
  18. #endif
  19. #ifdef min
  20. #undef min
  21. #endif
  22. #include <list>
  23. #include <vector>
  24. #include <valarray>
  25. #include <string>
  26. #include <iostream>
  27. #include <sstream>
  28. #pragma warning(disable:4786)
  29. using namespace std;
  30. #include "FE_vector.h"
  31. #include "FE_matrix.h"
  32. class CSegment
  33. {
  34. public:
  35. CSegment() {}
  36. virtual ~CSegment() {}
  37. friend bool operator==(const CSegment& a, const CSegment& b);
  38. CSegment& operator=(const CSegment& a){
  39. m_fSegment = a.m_fSegment;
  40. m_nColor = a.m_nColor;
  41. m_nLevel = a.m_nLevel;
  42. m_szLabel = a.m_szLabel;
  43. return *this;
  44. }
  45. double m_fSegment;
  46. int m_nColor;
  47. int m_nLevel;
  48. string m_szLabel;
  49. #ifdef WIN32
  50. CSize m_sizeText;
  51. CPoint m_ptText;
  52. #endif
  53. };
  54. class CFeature
  55. {
  56. public:
  57. CFeature() { frameN = 0; dimN = 0; shiftN = 0; sampleFreqN = 0; }
  58. virtual ~CFeature() {}
  59. int byteN;
  60. int frameN;
  61. int dimN;
  62. int shiftN;
  63. int sampleFreqN;
  64. FeMatrix<float> mat;
  65. vector<short> vec;
  66. vector<CSegment> label;
  67. };
  68. inline bool operator==(const CSegment& a, const CSegment& b)
  69. {
  70. if(a.m_fSegment == b.m_fSegment && a.m_szLabel == b.m_szLabel)
  71. return true;
  72. else
  73. return false;
  74. }
  75. #endif