Processing で、ロードされた.mp3ファイルを反転するプログラムを作成し、既に実装されている抽象関数を回避する必要があります (たとえば、Minim
特定のサウンドを反転する関数はまだ見つかりませんが)。今までいろいろな方法を試してきましたが、まだ再生されません。
私の最後のアプローチでは、Minim.loadFileIntoBuffer()
関数を使用して a を取得してfloat[]
から、Processing の関数を使用してバッファーを逆にしreverse()
ます。次にAudioSample
、同じfloat
配列と元のファイルの形式で を作成します。次に、 を使用してサンプルを再生しますtrigger()
。
ここにスニペットがあります:
Minim minim;
AudioPlayer songPlayer;
MultiChannelBuffer song;
AudioSample reversedSong;
float[] reversedBuffer, mixBuffer;
void setup() {
size(512, 200);
minim = new Minim(this);
songPlayer = minim.loadFile("sound.mp3");
// loadFileIntoBuffer changes the MultiChannelBuffer's parameters to
// match the file's, so init values doesn't really matter
song = new MultiChannelBuffer(10, 3);
minim.loadFileIntoBuffer("sound.mp3", song);
mixBuffer = songPlayer.mix.toArray();
reversedBuffer = reverse(mixBuffer);
reversedSong = minim.createSample(reversedBuffer, songPlayer.getFormat());
reversedSong.trigger();
}
私もいくつかの異なる解決策を試しました。つまり、ファイルを直接AudioSample
. 私がこれまで使ってきたほとんどの方法の問題点は、サウンド全体の一部にしかアクセスできないことだと思いAudioBuffer
ます。したがって、すべてを元に戻すことはできません。
これを行う方法を知っていますか?