Subject: Re: Java audio applications From: Paul John Leonard <eespjl@xxxxxxxx> Date: Wed, 13 Aug 2008 09:30:13 +0100 List-Archive:<http://lists.mcgill.ca/scripts/wa.exe?LIST=AUDITORY>Hi Bill, rasmusDSP http://rasmusdsp.cvs.sourceforge.net/ has a few useful processing functions. Here is the comment in the PitchShift class. public class PitchShift { /* CONVERSION TO JAVA BY: Karl Helgason (kalli@xxxxxxxx), 2005 */ /* *************************************************************************** * * NAME: smbPitchShift.cpp * VERSION: 1.1 * HOME URL: http://www.dspdimension.com * KNOWN BUGS: none * * SYNOPSIS: Routine for doing pitch shifting while maintaining * duration using the Short Time Fourier Transform. * * DESCRIPTION: The routine takes a pitchShift factor value which is between 0.5 * (one octave down) and 2. (one octave up). A value of exactly 1 does not change * the pitch. numSampsToProcess tells the routine how many samples in indata[0... * numSampsToProcess-1] should be pitch shifted and moved to outdata[0 ... * numSampsToProcess-1]. The two buffers can be identical (ie. it can process the * data in-place). fftFrameSize defines the FFT frame size used for the * processing. Typical values are 1024, 2048 and 4096. It may be any value <= * MAX_FFT_FRAME_LENGTH but it MUST be a power of 2. osamp is the STFT * oversampling factor which also determines the overlap between adjacent STFT * frames. It should at least be 4 for moderate scaling ratios. A value of 32 is * recommended for best quality. sampleRate takes the sample rate for the signal * in unit Hz, ie. 44100 for 44.1 kHz audio. The data passed to the routine in * indata[] should be in the range [-1.0, 1.0), which is also the output range * for the data, make sure you scale the data accordingly (for 16bit signed integers * you would have to divide (and multiply) by 32768). * cheers Paul. > Dear List, > I am looking for a Java application that can do pitch shifting. > Actually, > any package of Java audio tools would also be helpful. Thanks in > advance for any info, Bill D`Angelo > >