00001 /* 00002 * Copyright 2006-2007 Columbia University. 00003 * 00004 * This file is part of MEAPsoft. 00005 * 00006 * MEAPsoft is free software; you can redistribute it and/or modify 00007 * it under the terms of the GNU General Public License version 2 as 00008 * published by the Free Software Foundation. 00009 * 00010 * MEAPsoft is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with MEAPsoft; if not, write to the Free Software 00017 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 00018 * 02110-1301 USA 00019 * 00020 * See the file "COPYING" for the text of the license. 00021 */ 00022 00023 package com.meapsoft.featextractors; 00024 00025 import com.meapsoft.STFT; 00026 00034 public class AvgChunkPower extends FeatureExtractor 00035 { 00036 public double[] features(STFT stft, long startFrame, int length) 00037 { 00038 double[] power = new double[1]; 00039 power[0] = 0; 00040 double[] samples = stft.getSamples(startFrame, startFrame+length); 00041 00042 for(int i=0; i<samples.length; i++) 00043 power[0] += samples[i]*samples[i]/samples.length; 00044 00045 return power; 00046 } 00047 00048 public String description() 00049 { 00050 return "Computes the average power in each chunk."; 00051 } 00052 }