-
Balwyn
I never found a way to change the number of voices in the poly object other than changing the creation argument. eg [poly 8 1] to [poly 1 1]
Here is an abstraction to address thispoly-dynamic.zip updated
-
Balwyn
if you mean pitch shifting with constant duration
3.audio.examples/I07.phase.vocoder.pd explains how to do this:
The [pd read-windows] sub patch within [pd fft-analysis] sub patch explains it more
here is a sample recording from a project I'm currently making using this
puredata.mp3 -
Balwyn
Here is way to get a bit more out of the soundfont generators using NRPN to address them. I've had this info for a very long time and can't seem to find where it came from.
You will need to change the path to your soundfont in [else/sfont~] and use the sf2-presets-reader.pd to create soundfont.txt if you want to use choose-sf2.pd.
Probably not that useful, just a bit of funEdit: I found the source of this info in the soundfont 2.04 spec
-
Balwyn
I've just updated choose-sf2-example.pd in the zip in the original post because it was incorrectly wired and triggered, causing the previous index and current bank to be sent immediately before the current index and current bank often causing an error. I noticed it when I connected a print object to else/sfont~ right outlet
choose-sf2-example.pd -
Balwyn
@oid
I really should have explained about the $0 for those who may be following:The abstraction choose-sf2.pd is a dynamic patching patch that generates a bang connected to a message containing an index number of the lines of soundfont,txt and then connected to a send $0-result, this is the line number to read in soundfont.txt when the item bang is clicked, this is passed to $0-chosen
The format of the items in soundfont.txt was for simplicity in sorting the preset index and bank together with the name following. (the presets in a soundfont2 file are often very unsorted)
choose-sf2-example.pd shows how to retrieve the index, bank & nameThe abstraction choose-sf2.pd is instantiated on the choose-sf2-example.pd with one argument $0, this offers a link back from choose-sf2 to choose-sf2-example. The send $0-chosen in choose-sf2 can then be received by the $0-chosen in choose-sf2-example.
This already seems too wordy and now I'm confused