Exemplo n.º 1
0
// Compute STFT
void BirdID::computeSpectrum()
{
	// Create a vector for resampled audio
	resampledAudioEMX = emxCreate_real_T(resampledAudioLength,1);
	
	// Copy it
	for(int i=0;i<resampledAudioLength;i++)
	{
		resampledAudioEMX->data[i] = static_cast<real_T>(resampledAudio[i]);
	}

	// Create a matrix for spectrum
	numCols = (resampledAudioLength-blockSize)/hopSize;
	numCols++;
	numRows = (blockSize/2)+1;

	magSpecEMX = emxCreate_real_T(numRows,numCols);
	phaseSpecEMX = emxCreate_real_T(numRows,numCols);
	T = emxCreate_real_T(numRows,1);

	// Initialize
	bufferSTFT_initialize();

	bufferSTFT(resampledAudioEMX,static_cast<real_T>(blockSize),static_cast<real_T>(hopSize),magSpecEMX,phaseSpecEMX,T);
	
}
Exemplo n.º 2
0
// Inverse STFT
void BirdID::recoverAudio()
{
	
	denoisedSpecEMX = emxCreate_real_T(numRows,numCols);
	
	for(int i=0;i<numCols;i++)
	{
		for(int j=0;j<numRows;j++)
		{
			denoisedSpecEMX->data[i*numRows+j] = static_cast<real_T>(denoisedSpectrum[i*numRows+j]);
		}

	}


	denoisedAudioEMX = emxCreate_real_T(resampledAudioLength,1);

	inverseSTFT_initialize();

	inverseSTFT(denoisedSpecEMX,phaseSpecEMX,blockSize,hopSize,denoisedAudioEMX);

}
Exemplo n.º 3
0
SWIGEXPORT jlong JNICALL Java_a_1melcepstJNI_emxCreate_1real_1T(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2) {
  jlong jresult = 0 ;
  int32_T arg1 ;
  int32_T arg2 ;
  emxArray_real_T *result = 0 ;
  
  (void)jenv;
  (void)jcls;
  arg1 = (int32_T)jarg1; 
  arg2 = (int32_T)jarg2; 
  result = (emxArray_real_T *)emxCreate_real_T(arg1,arg2);
  *(emxArray_real_T **)&jresult = result; 
  return jresult;
}