以下のプログラムでは、音声ファイルをスピードアップし、あたかも「ヘリウム音声」のように発音させます。これは、インデックス値を変更することによって行われ、ファイルを増やすと、ファイルのピッチが上がり、速くなります。逆を行い、音声の再生を遅くし、より深い声を出す方法があるのかどうか疑問に思っていました。音声速度を遅くする
public void helium(String sourceFile, String targetFile)
{
Sound sourceObj = new Sound(sourceFile);
Sound target = new Sound(targetFile);
int sampleValue = 0;
int targetIndex = 0;
for(int index = 0; index < sourceObj.getLength(); index+=2)
{
sampleValue = sourceObj.getSampleValueAt(index);
target.setSampleValueAt(targetIndex,sampleValue);
targetIndex++;
}
target.play();
}
負の値を使用しますか? – Tavo
インデックスに負の値を指定すると、エラーが発生します –
1だけインクリメントして 'index/2'を使用するとどうなりますか? – shmosel