This is my first post here, I’m working in a sound artistic project as a research where I need to stretch (or manipule) the music tempo…
Here a sample of what I’m looking, in this sample he did the tempo manipulation with ProTools, but I need it in realtime…
All the best!
- themonkeytail asked 5 years ago
Hi Alexandre, welcome to the FMOD Forum.
You can change the playback speed using the ‘pitch’ property; as the name suggests it will also alter the pitch. You can acheive a pitch invariant time stretching by compensating for the pitch change using FMOD Pitchshift DSP.
ok, this part is done! YEY 😀
but, now I have found another problem…
in this project, I need to play two or more musics at the same time…
my problem is when I set the DSP in the first channel it work perfect, but when I set in the second channel, he stop the first one :-\
all the best 😀
is one DSP for each channel…
this is what I’m doing, I did a track class to load the file, set the DSP and configure everything for the channel…
public Track(Player player, String filePath, int speaker)
// SET THE PLAYER this.fmod_player = player; // CREATE THE CHANNEL result = fmod_player.fmod_system.createSound(filePath, FMOD.MODE.SOFTWARE, ref fmod_player.fmod_sound); result = fmod_player.fmod_system.playSound(FMOD.CHANNELINDEX.FREE, fmod_player.fmod_sound, false, ref fmod_channel); // SET THE DSP result = fmod_player.fmod_system.createDSPByType(FMOD.DSP_TYPE.PITCHSHIFT, ref fmod_dsp); FMOD.DSPConnection fmod_connection = null; fmod_channel.addDSP(fmod_dsp, ref fmod_connection); result = fmod_dsp.setParameter(1, 512); result = fmod_dsp.setParameter(2, 6); result = fmod_dsp.setParameter(3, 2); FMOD.DSPConnection fmod_connection = null; // SET THE CHANNEL DSP fmod_channel.addDSP(fmod_player.fmod_dsp, ref fmod_connection); // SET THE TRACK SPEAKER (7 SPEAKER, ONE FOR EACH TRACK) this.SetSpeaker(speaker); }
Please login first to submit.