Hello,
I am working with live audio and the gizmo object,
so i can change the pitch of the sound but i was wondering
how i can change its duration in working with gizmo object?
thk you, :))
duration live audio working with (gizmo)
→5 posts by 4 people-
7 months ago
-
you have to change the sig~ value to change the duration. Changing it will speed up or slow down the signal, and raise/lower the pitch. You can then send the altered signal through gizmo~ to adjust the pitch afterwards.
To keep the pitch "constant" (as best as possible) when changing the sig~, run the float number you send to sig~ through
[!/ 1.] <-- reciprocal
This goes into gizmo~ and will adjust the pitch back to the original, though the further you go, the more artifacts you'll introduce.For truly weird sounds, try a really high sig~ and a really low gizmo~ or vice-versa...
...also the pfft~ sizes (256, 1024, 4096 etc.) can make a really big difference in the result, depending on the type of sound and how much you're transposing it. You generally trade off pitch accuracy for tempo accuracy with these choices, so you might choose low numbers for rhythmic sounds, and higher ones for sustained sounds. Or you might go the other way and see how wacky you can get.
7 months ago -
Thank you,
I have trying to follow your instructions,
this is my patch, where is the error? :s{
"patcher" : {
"fileversion" : 1,
"rect" : [ 67.0, 44.0, 1247.0, 629.0 ],
"bglocked" : 0,
"defrect" : [ 67.0, 44.0, 1247.0, 629.0 ],
"openrect" : [ 0.0, 0.0, 0.0, 0.0 ],
"openinpresentation" : 0,
"default_fontsize" : 11.595187,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 0,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 0,
"toolbarvisible" : 1,
"boxanimatetime" : 200,
"imprint" : 0,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"boxes" : [ {
"box" : {
"maxclass" : "comment",
"text" : "duration ?",
"patching_rect" : [ 682.0, 201.0, 105.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-59",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0,
"presentation_rect" : [ 680.0, 218.0, 0.0, 0.0 ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "!/ 1.",
"patching_rect" : [ 174.0, 143.0, 100.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-58",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "float" ]
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 620.0, 200.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-40",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "number~",
"patching_rect" : [ 195.0, 189.0, 51.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-35",
"mode" : 2,
"interval" : 250.0,
"sig" : 0.0,
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "signal", "float" ]
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 174.0, 115.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-32",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 0.0, 0.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-24",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "sig~",
"patching_rect" : [ 174.0, 167.0, 100.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-14",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "signal" ]
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "Resonance",
"patching_rect" : [ 20.0, 300.0, 105.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-26",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "number",
"patching_rect" : [ 39.0, 502.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-12",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "int", "bang" ]
}}
, {
"box" : {
"maxclass" : "number",
"patching_rect" : [ 24.0, 326.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-13",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "int", "bang" ]
}}
, {
"box" : {
"maxclass" : "gain~",
"patching_rect" : [ 24.0, 369.0, 34.0, 107.0 ],
"id" : "obj-15",
"orientation" : 2,
"numinlets" : 2,
"numoutlets" : 2,
"interp" : 0.0,
"outlettype" : [ "signal", "int" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "autohelp",
"patching_rect" : [ 362.0, 423.0, 55.0, 20.0 ],
"fontname" : "Arial",
"hidden" : 1,
"id" : "obj-47",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 211.0, 331.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-7",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "ezdac~",
"varname" : "autohelp_dac",
"patching_rect" : [ 156.0, 534.0, 45.0, 45.0 ],
"id" : "obj-9",
"local" : 1,
"numinlets" : 2,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "*~ 0.2",
"patching_rect" : [ 156.0, 359.0, 74.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-10",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "signal" ]
}}
, {
"box" : {
"maxclass" : "comment",
"varname" : "autohelp_dac_text",
"text" : "start audio",
"linecount" : 2,
"patching_rect" : [ 115.0, 540.0, 38.0, 33.0 ],
"fontname" : "Arial",
"id" : "obj-11",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "panel",
"varname" : "startwinwdow_panel",
"patching_rect" : [ 108.0, 529.0, 100.0, 55.0 ],
"id" : "obj-6",
"bordercolor" : [ 0.392157, 0.792157, 0.117647, 1.0 ],
"border" : 2,
"numinlets" : 1,
"numoutlets" : 0,
"bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}}
, {
"box" : {
"maxclass" : "umenu",
"patching_rect" : [ 41.0, 219.0, 100.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-17",
"types" : [ ],
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 3,
"items" : [ "None", ",", "Sound", "File", ",", "Sine", "Wave", ",", "Audio", "Input" ],
"outlettype" : [ "int", "", "" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "adc~",
"patching_rect" : [ 206.0, 232.0, 34.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-18",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "signal", "signal" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "selector~ 4",
"patching_rect" : [ 156.0, 264.0, 83.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-19",
"numinlets" : 5,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "signal" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "cycle~",
"patching_rect" : [ 172.666672, 217.0, 64.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-21",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "signal" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "pfft~ gizmo_loadme 4096 4",
"patching_rect" : [ 156.0, 298.0, 282.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-41",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "signal" ]
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "• choose audio input",
"patching_rect" : [ 37.0, 196.0, 113.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-43",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "<- double-click",
"patching_rect" : [ 448.0, 300.0, 90.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-44",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "panel",
"patching_rect" : [ 26.0, 187.0, 129.0, 59.0 ],
"id" : "obj-45",
"bordercolor" : [ 0.972549, 0.890196, 0.780392, 1.0 ],
"border" : 2,
"numinlets" : 1,
"numoutlets" : 0,
"bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}}
, {
"box" : {
"maxclass" : "panel",
"patching_rect" : [ 143.0, 292.0, 301.0, 31.0 ],
"id" : "obj-46",
"bordercolor" : [ 1.0, 0.909804, 0.168627, 1.0 ],
"border" : 2,
"numinlets" : 1,
"numoutlets" : 0,
"bgcolor" : [ 1.0, 1.0, 1.0, 1.0 ]
}}
, {
"box" : {
"maxclass" : "message",
"text" : "bang",
"linecount" : 4,
"patching_rect" : [ 337.0, 141.0, 18.0, 58.0 ],
"fontname" : "Arial",
"hidden" : 1,
"id" : "obj-1",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "" ]
}}
, {
"box" : {
"maxclass" : "kslider",
"patching_rect" : [ 419.0, 145.0, 196.0, 34.0 ],
"id" : "obj-2",
"hkeycolor" : [ 0.501961, 0.501961, 0.501961, 1.0 ],
"numinlets" : 2,
"numoutlets" : 2,
"presentation_rect" : [ 0.0, 0.0, 196.0, 35.0 ],
"offset" : -24,
"outlettype" : [ "int", "int" ]
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "transposition in semitones",
"patching_rect" : [ 469.0, 201.0, 143.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-3",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 419.0, 201.0, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-4",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "expr pow(2.\\,$f1/12) + $f2",
"patching_rect" : [ 419.0, 224.5, 220.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-5",
"numinlets" : 2,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "" ]
}}
, {
"box" : {
"maxclass" : "newobj",
"text" : "loadbang",
"patching_rect" : [ 369.0, 140.0, 56.0, 20.0 ],
"fontname" : "Arial",
"hidden" : 1,
"id" : "obj-16",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 1,
"outlettype" : [ "bang" ]
}}
, {
"box" : {
"maxclass" : "flonum",
"patching_rect" : [ 419.0, 252.5, 50.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-27",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 2,
"outlettype" : [ "float", "bang" ]
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "pitch scaling factor",
"patching_rect" : [ 469.0, 249.0, 105.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-28",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "For more detailed information see the Proceedings of the 2002 ICMC, Goteborg, Sweden, pp. 126-129.",
"linecount" : 2,
"patching_rect" : [ 50.0, 592.0, 287.0, 33.0 ],
"fontname" : "Arial",
"id" : "obj-36",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "Note: a minimum overlap of 4 must be used to avoid undesirable amplitude modulation artefacts when transposing",
"linecount" : 3,
"patching_rect" : [ 275.0, 330.0, 225.0, 46.0 ],
"fontname" : "Arial",
"id" : "obj-37",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "comment",
"text" : "^ no transposition",
"patching_rect" : [ 515.0, 180.0, 100.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-38",
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "comment",
"varname" : "autohelp_see_title",
"text" : "See Also:",
"patching_rect" : [ 367.0, 427.0, 100.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-53",
"fontface" : 1,
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 0
}}
, {
"box" : {
"maxclass" : "umenu",
"varname" : "autohelp_see_menu",
"patching_rect" : [ 367.0, 447.0, 130.0, 20.0 ],
"fontname" : "Arial",
"id" : "obj-54",
"types" : [ ],
"numinlets" : 1,
"fontsize" : 11.595187,
"numoutlets" : 3,
"items" : [ "(Objects:)", ",", "fbinshift~", ",", "freqshift~", ",", "hilbert~", ",", "<separator>" ],
"outlettype" : [ "int", "", "" ]
}}
, {
"box" : {
"maxclass" : "panel",
"varname" : "autohelp_see_panel",
"patching_rect" : [ 362.0, 423.0, 140.0, 50.0 ],
"id" : "obj-55",
"bordercolor" : [ 0.5, 0.5, 0.5, 0.75 ],
"border" : 2,
"numinlets" : 1,
"background" : 1,
"numoutlets" : 0,
"bgcolor" : [ 0.85, 0.85, 0.85, 0.75 ]
}}
],
"lines" : [ {
"patchline" : {
"source" : [ "obj-14", 0 ],
"destination" : [ "obj-35", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-17", 0 ],
"destination" : [ "obj-19", 0 ],
"hidden" : 0,
"midpoints" : [ 50.5, 249.0, 165.5, 249.0 ]
}}
, {
"patchline" : {
"source" : [ "obj-19", 0 ],
"destination" : [ "obj-41", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-18", 0 ],
"destination" : [ "obj-19", 3 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-21", 0 ],
"destination" : [ "obj-19", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-41", 0 ],
"destination" : [ "obj-15", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-41", 0 ],
"destination" : [ "obj-10", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-27", 0 ],
"destination" : [ "obj-41", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-58", 0 ],
"destination" : [ "obj-14", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-32", 0 ],
"destination" : [ "obj-58", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-14", 0 ],
"destination" : [ "obj-21", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-40", 0 ],
"destination" : [ "obj-5", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-4", 0 ],
"destination" : [ "obj-5", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-5", 0 ],
"destination" : [ "obj-27", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-15", 0 ],
"destination" : [ "obj-9", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-15", 0 ],
"destination" : [ "obj-9", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-15", 1 ],
"destination" : [ "obj-12", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-13", 0 ],
"destination" : [ "obj-15", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-1", 0 ],
"destination" : [ "obj-2", 0 ],
"hidden" : 1,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-2", 0 ],
"destination" : [ "obj-4", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-7", 0 ],
"destination" : [ "obj-10", 1 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-10", 0 ],
"destination" : [ "obj-9", 1 ],
"hidden" : 0,
"midpoints" : [ 165.5, 387.0, 191.5, 387.0 ]
}}
, {
"patchline" : {
"source" : [ "obj-10", 0 ],
"destination" : [ "obj-9", 0 ],
"hidden" : 0,
"midpoints" : [ ]
}}
, {
"patchline" : {
"source" : [ "obj-16", 0 ],
"destination" : [ "obj-1", 1 ],
"hidden" : 1,
"midpoints" : [ ]
}}
]
}}
6 months ago -
hello
Is the latency compulsory with gizmo, are there solutions more real-time than the example of the help?
6 months ago -
@Lalalali, this is what seejayjames was suggesting. It went with the assumption that you were using groove~ for playback (I think).
----------begin_max5_patcher---------- 841.3ocyXtsbaBCDF9Z6mhsbU6LttHNEbm9bza5jIiLrXqDrDCR3FmLIO6UH vsjDef.FZtQd7xA8qO8qck3woSrVJtGkVv2geASl73zISLgJCLo9+Sr1PuOJ kJM2lEG+sX4sVyptjBuWYBmJnwaPoDH6uzZVbLxKuHoNRhfqjrGPSLm410g4 EaX7TTIadu5fhB0qiVERsKCqjrkEbc8kXwFcn01WccrZzib5Fyca8SLOlxo6 uVFUEslwWcSNFopdcNWYqUET2tnr0gL2Ftt7IdZ5zxlYsjSQhMaPt5Mf5GVc fFY4nT+xnJlf2Pu9tAFMFT93fccyeQxKYn8A.EoqfJzzYDOeS+aOHj5NDyjP FS26vVZZABYBISw1hvmkBXmn.hnbnPhPNtEy0+lkR2sjFc2Wr5sk6P3xti3x 0tItbuJ7iiy5rCZmv9sXhTYU5oG4HYcnKkZGu0vkeIQmWScvjLNAckKtMMCd CiWPGOC4RpBkPhHGjYHFCQqo7UHrbGPiusPpzBCTqw50X5vZUxxxEQzTPjT+ Plkd66fTFGiDEbSu3MH9M+tx0EM8aDeSpw.+KLXMLYXVn410ANw3j7Miaufd 4mJKgSWgucXqn4pTgHaFT1Bj2CBbt.0zc5Zop.CbBMsDaSMcxhKaVnx89rTu xZ.yCYd8GhKjE8hK9l1f9YZzII0Ci9O5cNcV3YmBCg8awSUsJ+AoH0m9FPlO fqWNdMJReqQUkK08pg.KJHARFCSyI3ie+bMjp8045N2+xymrjD0yvJ1CaD2T c5JvydQ.3MfVIIaEmldPVE1q7L6AVnWurR3CwznmsZ+H8.0YCNuXCpJk5uu8 RNspQ7yCXghSLC108WPbql67FvjAqxEhs3yfd+pp2Ccbee4DpoyrSxImd4zq yYFtXHvzxhjDLuBS5cyi4B8gjmSYI+eK91uTCUkZBHGDXl9ybriW8UpLuux3 ujhRQQdzdou+iAA+6ahDikG6w7gTZbSkaenwM81Oc0FVblfwU0h3HyosVSsP RNGQQ1ChhJqDdVI4NpRp7.1mehKX7wD4bybiqlJOYzGM2zh1HIx3po1XmBew z6fKov13v8GUL0FIELpTpsJZDWw0RmTWUj9OOM8ONeW+oA -----------end_max5_patcher-----------But, this won't work for live audio input. There are a few issues with time-stretching live audio, the first being that you can't speed it up, because you/your computer cannot know exactly what will happen before it happens.
The second being that in order to slow down live audio, you would need to be constantly recording the last x seconds of the audio into a buffer. You could then play the contents of the buffer back slowly using a granular method (lots of info on this forum and the web about how this works), or using a phase vocoder/fft method (probably even more info around about this). The result is that you can't slow down live audio without some amount of latency (as far as I know anyway..........).
@moze, gizmo~ and other FFT application of pitch-shifting will always impart latency. I'm fairly sure that the amount of latency is directly related to the frame size and hop size, so lowering these reduces latency, but also reduces the accuracy of re-synthesis that takes place, so the quality reduces too. I think there is an explanation of this in the MSP tutorials, and also mounds of stuff on the web as well. As far as I know, granular time/pitch processing is the only method capable of zero-latency, although it can be less effective (audio quality-wise) than FFT, even when designed well........it depends on the characteristics of the input signal. Complex pitched sounds are more suited to the FFT approach. FFT is inherently susceptible to blurring transients, so for percussive and rhythmic sounds, granular may be more appropriate.
I'm rambling on and on..........all that said though, if you want to time-stretch as an effect, and aren't overly concerned with it sounding natural/transparent at normal speed then I HIGHLY recommend the granular approach. Download Mr Wolek's GTK and take a look at the included abstractions for some ideas on how to get started in designing your own patch:
6 months ago
Reply
You must log in to post.