22 #ifndef __AUDIODescriptors_H__
23 #define __AUDIODescriptors_H__
113 TData ComputeZeroCrossingRate();
114 TData ComputeAttackTime();
115 TData ComputeLogAttackTime();
116 TData ComputeDecrease();
120 const Audio* mpAudio;
121 static const TData mEpsilon;
123 bool mIsAttackTimeComputed;
124 TData mComputedAttackTime;
141 if (a.HasMean() && b.HasMean() )
143 if(b.GetMean()<a.GetMean())
144 tmpD.SetMean(b.GetMean() );
146 if (a.HasTemporalCentroid() && b.HasTemporalCentroid() )
148 if(b.GetTemporalCentroid()<a.GetTemporalCentroid())
149 tmpD.SetTemporalCentroid(b.GetTemporalCentroid() );
151 if (a.HasEnergy() && b.HasEnergy() )
153 if(b.GetEnergy()<a.GetEnergy())
154 tmpD.SetEnergy(b.GetEnergy() );
156 if(a.HasVariance() && b.HasVariance() )
158 if(b.GetVariance()<a.GetVariance())
159 tmpD.SetVariance(b.GetVariance() );
161 if(a.HasZeroCrossingRate() && b.HasZeroCrossingRate() )
163 if(b.GetZeroCrossingRate()<a.GetZeroCrossingRate())
164 tmpD.SetZeroCrossingRate(b.GetZeroCrossingRate() );
166 if(a.HasRiseTime() && b.HasRiseTime() )
168 if(b.GetRiseTime()<a.GetRiseTime())
169 tmpD.SetRiseTime(b.GetRiseTime() );
171 if(a.HasLogAttackTime() && b.HasLogAttackTime() )
173 if(b.GetLogAttackTime()<a.GetLogAttackTime())
174 tmpD.SetLogAttackTime(b.GetLogAttackTime() );
176 if(a.HasDecrease() && b.HasDecrease() )
178 if(b.GetDecrease()<a.GetDecrease())
179 tmpD.SetDecrease(b.GetDecrease() );
191 if (a.HasMean() && b.HasMean() )
193 if(b.GetMean()>a.GetMean())
194 tmpD.SetMean(b.GetMean() );
196 if (a.HasTemporalCentroid() && b.HasTemporalCentroid() )
198 if(b.GetTemporalCentroid()>a.GetTemporalCentroid())
199 tmpD.SetTemporalCentroid(b.GetTemporalCentroid() );
201 if (a.HasEnergy() && b.HasEnergy() )
203 if(b.GetEnergy()>a.GetEnergy())
204 tmpD.SetEnergy(b.GetEnergy() );
206 if(a.HasVariance() && b.HasVariance() )
208 if(b.GetVariance()>a.GetVariance())
209 tmpD.SetVariance(b.GetVariance() );
211 if(a.HasZeroCrossingRate() && b.HasZeroCrossingRate() )
213 if(b.GetZeroCrossingRate()>a.GetZeroCrossingRate())
214 tmpD.SetZeroCrossingRate(b.GetZeroCrossingRate() );
216 if(a.HasRiseTime() && b.HasRiseTime() )
218 if(b.GetRiseTime()>a.GetRiseTime())
219 tmpD.SetRiseTime(b.GetRiseTime() );
221 if(a.HasLogAttackTime() && b.HasLogAttackTime() )
223 if(b.GetLogAttackTime()>a.GetLogAttackTime())
224 tmpD.SetLogAttackTime(b.GetLogAttackTime() );
226 if(a.HasDecrease() && b.HasDecrease() )
228 if(b.GetDecrease()>a.GetDecrease())
229 tmpD.SetDecrease(b.GetDecrease() );