hydrogen-music / hydrogen

The advanced drum machine for Linux, macOS, and Windows
http://www.hydrogen-music.org
GNU General Public License v2.0
1.03k stars 172 forks source link

Rubberband, pitch-shifting #489

Open ghost opened 7 years ago

ghost commented 7 years ago

Hi! I've been slicing the Amen Break and created multiple instruments from the slices (mainly 1/2 and 1/4 beats). As there are multiple slices for any particular hit I layered them and use random selection for the layer played. Thanks to Rubberband, I can recreate this break at any tempo without gaps between the slices and it doesn't sound the same twice! I have a few suggestions:

Thanks for this great software anyway! Barbouze

oddtime commented 3 years ago

Being able to adjust the pitch of and instrument with a single knob (+-24 semitones and +- 50 cents, next to the random pitch knob maybe?)

done!

trebmuh commented 3 years ago

done!

where? (which commit/branch?)

theGreatWhiteShark commented 3 years ago

Being able to apply the same Rubberband options to all layers in a simple way

@oddtime Do you know if we support Rubberband by now? The output of cmake does still suggest that there are problems and the feature is experimental

oddtime commented 3 years ago

@trebmuh

where? (which commit/branch?)

1000

@theGreatWhiteShark

Do you know if we support Rubberband by now? The output of cmake does still suggest that there are problems and the feature is experimental

Don't know, I haven't installed it

oddtime commented 3 years ago

I am not aware of the current use of Rubberband in H2, but I cannot see any reference to it in Sampler.cpp, maybe the note pitch property is always handled with the "doppler" style resampling?

However cmake .. tells me rubberband not found, but I am able to use rubberband in each layer sampler editor. I have a question about this dialog: it seems that I must select a value in "Sample length to beat" if I want to change the pitch. I would expect rubberband allowing to vary pitch without change the sample length.

theGreatWhiteShark commented 3 years ago

I am not aware of the current use of Rubberband in H2, but I cannot see any reference to it in Sampler.cpp, maybe the note pitch property is always handled with the "doppler" style resampling?

ack "[R|r]ubberband" hydrogen/src gives me a couple of hits in the Sample class.

However cmake .. tells me rubberband not found, but I am able to use rubberband in each layer sampler editor. I have a question about this dialog: it seems that I must select a value in "Sample length to beat" if I want to change the pitch. I would expect rubberband allowing to vary pitch without change the sample length.

I think this likely is one of those features a developer loved to have and developed only to such degree it worked on her or his machine and not in a general sense. Maybe the precompiler guards aren't properly checked and the GUI looks the same whether or not Rubberband was found. It probably needs to be revisited and fixed at some point.