Изменить свойства сэмплов во время воспроизведения

Я пытаюсь найти способ изменить свойства семпла во время воспроизведения, когда происходят определенные события, например, увеличить громкость или воспроизвести ее быстрее.

Это возможно с помощью Jsyn? Или есть другие инструменты для этого?

2 ответа

Согласно документации JSyn и, в частности, к их слайду презентации, существует буфер событий, который может поддерживать такую ​​функцию... Посмотрите на пример с птицами ( http://www.softsynth.com/jsyn/examples/index.php), который выставляет переменную генерацию шума...

JSyn имеет генератор модулей для воспроизведения сэмплов, который называется VariableRateDataReader. Вы можете изменить скорость воспроизведения сэмпла, установив скорость порта. У этого также есть порт амплитуды.

http://www.softsynth.com/jsyn/docs/javadocs/com/jsyn/unitgen/VariableRateDataReader.html

Вот ключевые шаги:

// Load the sample.
FloatSample sample = SampleLoader.loadFloatSample(sampleFile);
// Create a player.
synth.add(samplePlayer = new VariableRateMonoReader());
// Set the rate to 70% of normal
samplePlayer.rate.set(sample.getFrameRate() * 0.7);
// Set the amplitude to 50% of normal
samplePlayer.amplitude.set(0.5);
// Queue the sample to the player.
samplePlayer.dataQueue.queue(sample);

Вот пример программы, которая загружает и воспроизводит образец:

https://github.com/philburk/jsyn/blob/master/tests/com/jsyn/examples/PlaySample.java

Другие вопросы по тегам