Benvenuto, Visitatore. Per favore, effettua il login o registrati.

  Hai perso la tua email di attivazione?

Main Home Help Ricerca Login Registrati

+  Virtual Sound - FORUM
|-+  Linguaggi per la Computer Music
| |-+  Max MSP Jitter
| | |-+  Effetto "vinile" ?
« precedente successivo »
Pagine: [1] 2 Stampa
Autore Topic: Effetto "vinile" ?  (Letto 1449 volte)
brunozamborlin
Hero Member
*****
Posts: 790



Guarda Profilo
« il: Giugno 20, 2006, 00:15:55 »

Ciao ragazzi, devo fare una subpatches che faccia la seguente cosa:

dato un valore float f∈[f1,f2] e dato un buffer b, vorrei che il buffer fosse letto nella posizione f, e che ovviamente f1 coincidesse con l'inizio del buffer e f2 con la fine del buffer.

Insomma un po come una specie di vinile, che non si muove da solo ma che produce suono solo se io lo sposto avanti e indietro con la mano.




Ovviamente se lo faccio in maniera grezza (prendendo un oggetto groove e andando a modificare la sample position) non si sente un tubo, solo fastidiosi click.

Secondo voi c'è una soluzione che si avvicini a quello che ho in mente?

Thx Sorriso

Loggato

mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #1 il: Giugno 20, 2006, 08:45:29 »

Puoi usare index~ che ti permette di indicare il campione da leggere, ma non fa interpolazione tra i campioni. Oppure wave~ che può interpolare i campioni, ma normalizza la lunghezza del file nel range 0-1 (quindi devi dividere i valori f1, f2 per la lunghezza del file): io userei quest'ultimo.

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
franz
AAA1
Hero Member
*
Posts: 830


Guarda Profilo WWW
« Risposta #2 il: Giugno 20, 2006, 11:21:01 »

Vedi se ti piace questa, selezioni prima i parametri di inizio e fine lettura, poi ti muovi avanti e dietro...è una patch fatta su appena sveglio, la mattina è il massimo che posso fare Wow.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 258 147 25 9109513 end;
#P flonum 258 164 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 191 163 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 104 89 32 9109513 / 127.;
#P user hslider 104 55 18 128 256 1 0 0;
#P flonum 104 156 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user ezdac~ 104 353 148 386 0;
#P message 361 156 30 9109513 read;
#P newex 361 183 88 9109513 buffer~ buffo 1000;
#P newex 104 178 41 9109513 phasor~;
#P newex 104 261 61 9109513 wave~ buffo;
#P comment 191 146 25 9109513 start;
#P comment 107 35 100 9109513 scrub;
#P connect 2 0 6 0;
#P connect 2 0 6 1;
#P connect 11 0 2 2;
#P connect 10 0 2 1;
#P connect 3 0 2 0;
#P connect 9 0 7 0;
#P connect 8 0 9 0;
#P connect 5 0 4 0;
#P connect 7 0 3 0;
#P window clipboard copycount 13;
Loggato

mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #3 il: Giugno 20, 2006, 14:10:44 »

variazione sul franz... vedi un po' se ti serve a qualcosa, va perfezionato:

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 150 42 107 196617 carica un suono;
#P message 44 439 27 196617 stop;
#P message 44 422 67 196617 startwindow;
#P newex 117 439 29 196617 dac~;
#P user gain~ 117 319 21 89 158 0 1.071519 7.94321 10.;
#P flonum 147 198 46 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 103 218 40 196617 0. 500;
#P newex 102 239 32 196617 line~;
#P newex 103 174 46 196617 / 1000.;
#P user hslider 103 140 18 392 1000 1 0 0;
#P message 103 40 43 196617 replace;
#P newex 103 63 102 196617 buffer~ buffo 1000;
#P newex 117 291 61 196617 wave~ buffo;
#P comment 103 123 407 196617 scrub - avanzare lentamente con il cursore;
#P comment 198 198 103 196617 "inerzia" giradischi;
#P connect 8 0 7 0;
#P connect 4 0 3 0;
#P connect 5 0 6 0;
#P connect 6 0 8 0;
#P connect 7 0 2 0;
#P connect 2 0 10 0;
#P connect 10 0 11 0;
#P connect 12 0 11 0;
#P connect 13 0 11 0;
#P connect 9 0 8 1;
#P connect 10 0 11 1;
#P window clipboard copycount 15;


Loggato

Maurizio Giri Home Page: http://www.giri.it
brunozamborlin
Hero Member
*****
Posts: 790



Guarda Profilo
« Risposta #4 il: Giugno 20, 2006, 18:19:45 »

E' fantastico, beccato in pieno quello che intendevo.

Bellissima la faccenda dell'inierzia Maurizio, molto utile per un sacco di altre cose tra l'altro.

Thx
Loggato

brunozamborlin
Hero Member
*****
Posts: 790



Guarda Profilo
« Risposta #5 il: Giugno 20, 2006, 23:06:24 »

Ho fatto un errore: questa patch non dovrà riprodurre un suono caricato in un buffer, ma bensì in una cue di un sfplay~.
E' possibile?

Sto provando a fare una patch simile alla precedente, ma che va ad agire sulla speed dell'sfplay~.
Ed inoltre ho fatto un accrocco orrendo per imporre che quando il cursore non viene mosso, la patch non suoni.

Problema: non capisco perchè, ma se la speed è minore di (circa) -0.19 la riproduzione si blocca, e per ripartire necessita di un altro "1" (o altro numero a seconda del preload).

Sapete dirmi come mai?

ecco la patch:

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 430 162 27 9109513 float;
#P newex 298 185 142 9109513 if $f1==$f2 then out2 0 else $f1;
#P newex 264 123 50 9109513 metro 100;
#P newex 298 152 27 9109513 float;
#P newex 298 232 95 9109513 if $f1>-0.19 then $f1;
#P toggle 451 214 15 0;
#P message 451 232 38 9109513 loop \$1;
#P newex 315 85 114 9109513 expr ($i1 - 2000.) / 1000.;
#P user ezdac~ 298 330 342 363 0;
#P message 526 232 14 9109513 1;
#P message 492 232 28 9109513 open;
#P message 298 259 46 9109513 speed \$1;
#P user hslider 315 51 25 177 4000 1 0 0;
#N sfplay~  2 80640 0 ;
#P newobj 298 297 49 9109513 sfplay~ 2;
#P fasten 12 0 9 0 303 218 303 218;
#P fasten 12 0 13 0 303 210 465 210 465 157 435 157;
#P fasten 11 0 10 0 269 147 303 147;
#P fasten 12 1 9 0 435 218 303 218;
#P connect 9 0 2 0;
#P connect 13 0 12 1;
#P connect 10 0 12 0;
#P connect 6 0 10 1;
#P connect 8 0 7 0;
#P fasten 7 0 0 1 456 287 342 287;
#P connect 1 0 6 0;
#P fasten 0 1 5 1 322 323 337 323;
#P connect 0 0 5 0;
#P fasten 4 0 0 0 531 287 303 287;
#P fasten 3 0 0 0 497 287 303 287;
#P connect 2 0 0 0;
#P window clipboard copycount 14;
Loggato

mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #6 il: Giugno 21, 2006, 11:37:31 »

Ho fatto un paio di scrubber per audiofiles su disco che mi sembrano interessanti, li usero' per un workshop che devo fare questo fine settimana  Occhiolino !
Purtroppo non ho tempo di spiegare il funzionamento, non dovrebbe essere difficilissimo, comunque (bisogna guardarsi bene l'help di sfplay~ soprattutto le new features)
Il primo usa uno jog shuttle per scorrere il file avanti e indietro. Ha ancora qualche imperfezione, ma mi sa che con l'oggetto sfplay~ più di tanto non si può fare (lo scrubber di pro tools ad esempio carica evidentemente una porzione del file in memoria, ed è un po' come se in msp usassimo un buffer~).
ATTENZIONE quando si carica un nuovo file NON cominciare con lo scrub all'indietro, altrimenti maxmsp va a leggere una zona di memoria che non c'entra niente e produce un forte rumore: dopo un primo scrub in avanti si può mettere la marcia indietro (assicurarsi inoltre che il loadbang abbia fatto "bang" quando incollate il codice nella patcher window):

#P button 59 283 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 59 261 45 196617 onebang;
#P newex 340 65 27 196617 0.5;
#P window setfont "Sans Serif" 18.;
#P comment 477 134 64 196626 scrub;
#P window setfont "Sans Serif" 9.;
#P comment 493 254 124 196617 inerzia giradischi;
#P window setfont "Sans Serif" 14.;
#P flonum 403 219 54 14 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window setfont "Sans Serif" 9.;
#P newex 94 230 40 196617 t b l l;
#P flonum 449 253 40 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 403 275 41 196617 * 500.;
#P newex 403 251 37 196617 abs 0.;
#P newex 245 528 44 196617 / 1.;
#P user multiSlider 245 554 304 10 0. 1. 1 2680 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P message 73 309 14 196617 2;
#P newex 403 185 86 196617 scale 0. 1. -2. 2.;
#P newex 325 201 58 196617 pak 0. 500;
#P newex 290 237 36 196617 zl reg;
#P newex 403 81 40 196617 line 0.;
#P message 403 60 59 196617 \$1 \, 0.5 \$2;
#P newex 290 132 41 196617 sel 0 1;
#P newex 290 65 48 196617 loadbang;
#P toggle 290 110 15 0;
#P newex 290 88 66 196617 mousestate;
#P user jsui 403 105 64 64 1 0 0 jsui_360dial.js;
#P user gain~ 148 507 21 89 158 0 1.071519 7.94321 10.;
#P message 55 626 27 196617 stop;
#P message 55 609 67 196617 startwindow;
#P newex 128 626 29 196617 dac~;
#P user gain~ 124 507 21 89 158 0 1.071519 7.94321 10.;
#P newex 94 206 68 196617 prepend open;
#P message 94 161 35 196617 sound;
#P newex 94 183 56 196617 opendialog;
#P user number~ 179 480 255 495 9 3 3 2 0. 0. 0 0. 50 0. 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 148 287 88 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 109 262 79 196617 sfinfo~;
#P message 31 309 37 196617 loop 1;
#P message 148 339 94 196617 preload 2 0 \$1 1 1;
#P newex 209 393 66 196617 pack 0. 100.;
#P newex 209 415 30 196617 line~;
#N sfplay~  2 0 1 ;
#P newobj 124 446 71 196617 sfplay~ 2 0 1;
#B color 5;
#P comment 249 288 74 196617 lunghezza file;
#P comment 477 111 64 196617 jog-shuttle;
#P comment 94 143 65 196617 carica suono;
#P comment 310 537 124 196617 posizione nel soundfile;
#P comment 462 223 105 196617 velocità scansione;
#P connect 43 0 9 0;
#P fasten 25 1 42 0 310 158 64 158;
#P lcolor 3;
#P connect 42 0 43 0;
#P connect 43 0 31 0;
#P connect 14 0 13 0;
#P connect 13 0 15 0;
#P connect 15 0 37 0;
#P connect 37 0 42 1;
#P connect 37 1 10 0;
#P connect 9 0 5 0;
#P connect 31 0 5 0;
#P connect 8 0 5 0;
#P connect 37 2 5 0;
#P connect 5 0 16 0;
#P connect 19 0 17 0;
#P connect 18 0 17 0;
#P connect 16 0 17 0;
#P connect 20 0 17 1;
#P connect 10 3 11 0;
#P connect 11 0 8 0;
#P connect 5 1 20 0;
#P connect 16 1 20 0;
#P connect 5 2 12 0;
#P connect 6 0 5 1;
#P connect 38 0 7 0;
#P connect 7 0 6 0;
#P connect 12 1 33 0;
#P connect 33 0 32 0;
#P fasten 11 0 33 1 153 323 284 323;
#P connect 24 0 22 0;
#P connect 22 0 23 0;
#P connect 23 0 25 0;
#P connect 25 0 28 0;
#P connect 29 0 28 1;
#P connect 21 0 29 0;
#P connect 24 0 41 0;
#P connect 35 0 29 1;
#P fasten 28 0 26 0 295 262 276 262 276 51 408 51;
#P connect 26 0 27 0;
#P connect 41 0 21 0;
#P connect 27 0 21 0;
#P connect 21 0 30 0;
#P connect 30 0 38 0;
#P connect 38 0 34 0;
#P connect 34 0 35 0;
#P connect 36 0 35 1;
#P window clipboard copycount 44;
Loggato

Maurizio Giri Home Page: http://www.giri.it
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #7 il: Giugno 21, 2006, 11:42:29 »

... e questo è il secondo, che invece del jog shuttle fa la scansione del file tramite uno slider.
Se il file è molto lungo, l'inerzia è bassa e ci si porta troppo vicino all'inizio o alla fine del file si ottiene un effetto loop indesiderato (come dicevo queste patch vanno perfezionate)

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 14 145 22 196617 b 1;
#P newex 59 262 45 196617 onebang;
#P newex 180 498 64 196617 snapshot~ 1;
#P comment 443 428 124 196617 posizione nel soundfile;
#P newex 491 538 55 196617 clip -8. 8.;
#P flonum 521 469 46 9 200. 2000. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P user number~ 227 448 303 463 9 3 3 2 0. 0. 0 0. 50 0. 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 491 567 87 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 491 509 40 196617 / 500.;
#P newex 335 468 30 196617 !- 0.;
#P flonum 355 428 87 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 355 392 29 196617 * 1.;
#P user multiSlider 14 60 669 48 0. 1. 1 2680 47 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P window setfont "Sans Serif" 18.;
#P comment 142 28 64 196626 scrub;
#P window setfont "Sans Serif" 9.;
#P comment 497 454 124 196617 inerzia giradischi;
#P newex 59 305 27 196617 b;
#P newex 94 230 40 196617 t b l l;
#P newex 246 610 44 196617 / 1.;
#P user multiSlider 246 636 304 10 0. 1. 1 2680 15 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 255 255 255;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P message 86 397 14 196617 2;
#P user gain~ 148 507 21 89 158 0 1.071519 7.94321 10.;
#P message 55 626 27 196617 stop;
#P message 55 609 67 196617 startwindow;
#P newex 128 626 29 196617 dac~;
#P user gain~ 124 507 21 89 158 0 1.071519 7.94321 10.;
#P newex 94 206 68 196617 prepend open;
#P message 94 161 35 196617 sound;
#P newex 94 183 56 196617 opendialog;
#P flonum 148 287 88 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 109 262 79 196617 sfinfo~;
#P message 44 397 37 196617 loop 1;
#P message 148 339 94 196617 preload 2 0 \$1 1 1;
#P newex 209 393 66 196617 pack 0. 100.;
#P newex 209 415 30 196617 line~;
#N sfplay~  2 60000 1 ;
#P newobj 124 446 95 196617 sfplay~ 2 60000 1;
#B color 5;
#P comment 249 288 74 196617 lunghezza file;
#P comment 94 143 65 196617 carica suono;
#P comment 311 619 124 196617 posizione nel soundfile;
#P connect 25 0 37 0;
#P connect 22 0 7 0;
#P connect 37 0 36 0;
#P connect 36 0 22 0;
#P connect 22 1 18 0;
#P connect 11 0 10 0;
#P connect 10 0 12 0;
#P connect 12 0 21 0;
#P connect 21 0 36 1;
#P connect 21 1 8 0;
#P connect 21 2 3 0;
#P connect 6 0 3 0;
#P connect 18 0 3 0;
#P connect 7 0 3 0;
#P connect 3 0 13 0;
#P connect 13 0 14 0;
#P connect 15 0 14 0;
#P connect 16 0 14 0;
#P connect 17 0 14 1;
#P connect 8 3 9 0;
#P connect 9 0 6 0;
#P connect 3 1 17 0;
#P connect 13 1 17 0;
#P connect 3 2 35 0;
#P fasten 30 0 5 0 496 605 324 605 324 374 214 374;
#P connect 5 0 4 0;
#P connect 4 0 3 1;
#P connect 4 0 31 0;
#P fasten 35 0 20 0 185 562 251 562;
#P connect 20 0 19 0;
#P fasten 9 0 20 1 153 323 285 323;
#P fasten 35 0 28 0 185 531 311 531 311 456 340 456;
#P lcolor 3;
#P fasten 25 0 26 0 19 130 360 130;
#P lcolor 7;
#P connect 26 0 27 0;
#P connect 27 0 28 1;
#P fasten 9 0 26 1 153 323 379 323;
#P fasten 28 0 29 0 340 494 496 494;
#P connect 29 0 33 0;
#P connect 33 0 30 0;
#P connect 32 0 29 1;
#P window clipboard copycount 38;
Loggato

Maurizio Giri Home Page: http://www.giri.it
franz
AAA1
Hero Member
*
Posts: 830


Guarda Profilo WWW
« Risposta #8 il: Giugno 21, 2006, 11:56:16 »

Bellissimi, anche se non sono un fanatico dell'"effetto vinile". Di cosa tratterà il workshop? Peccato che fino a lunedì lavoro altrimenti sarei venuto sicuramente a curiosare!

p.s. in qualche caso hanno provocato un crash di MaxMSP, sono su windows però ed è probabile che dipenda da questo!
Loggato

brunozamborlin
Hero Member
*****
Posts: 790



Guarda Profilo
« Risposta #9 il: Giugno 21, 2006, 12:49:30 »

Grazie mille maurizio, li studierò attentamente e cercherò di adattarli alle mie esigenze.
Effettivamente ora crashano, dovrò aggiungere degli "if" qua e là probabilmente.

in qualche caso hanno provocato un crash di MaxMSP, sono su windows però ed è probabile che dipenda da questo!
Ma no franz, non ci sono external negli esempi, il codice è lo stesso che c'è su mac, non centra il SO 
Loggato

franz
AAA1
Hero Member
*
Posts: 830


Guarda Profilo WWW
« Risposta #10 il: Giugno 21, 2006, 12:58:34 »

lo so ma spesso ho avuto problemi del genere con extenals compilati per win, probabilmente non è questo il caso, ma si sa mai.
Loggato

mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #11 il: Giugno 21, 2006, 14:26:36 »

mmh.. strano, a me non è mai andato in crash...
Succede quando fai qualcosa di particolare? tipo muovere il mouse troppo velocemente o cose del genere? Succede su tutte e due le patch?

per franz: il workshop e' al DAMS dell'Università della Calabria (un po' lontano da Roma...) ed è un'introduzione generale a Max MSP Jitter in due giorni: venerdì 23 e sabato 24

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
franz
AAA1
Hero Member
*
Posts: 830


Guarda Profilo WWW
« Risposta #12 il: Giugno 21, 2006, 14:38:29 »

nella prima patch il crash si verifica in caso di elevata inerzia ed elevata velocità di scrubbing. Grossomodo mi sembra che ciò avvenga anche nella seconda patch. Su mac non è ancora avvenuto, posso provare a fare un testing più "cattivo". Possibile che dipenda dal preload?
Loggato

mauriziogiri
Amministratore
Sr. Member
*****
Posts: 349


Guarda Profilo WWW
« Risposta #13 il: Giugno 21, 2006, 20:29:04 »

Niente, l'ho strapazzato in tutti i modi ma non mi riesce di mandarlo in crash... ma siamo proprio sicuri che non sia un problema di windows xp?  Occhiolino
Loggato

Maurizio Giri Home Page: http://www.giri.it
brunozamborlin
Hero Member
*****
Posts: 790



Guarda Profilo
« Risposta #14 il: Giugno 21, 2006, 22:53:30 »

nella prima patch il crash si verifica in caso di elevata inerzia ed elevata velocità di scrubbing. Grossomodo mi sembra che ciò avvenga anche nella seconda patch.

Ho verificato un bel po di volte, effettivamente il problema è proprio quello che dice franz: se a line~ vengono dati troppi dati troppo in fretta, crasha.

Citato da: mauriziogiri
ma siamo proprio sicuri che non sia un problema di windows xp?

be se fosse così sarebbe abbastanza scandaloso però... vorrebbe dire che anche gli oggetti della libreria di base di msp sono stati implementati in maniera differente per le due piattaforme (come molti externals). Vado di report alla cycling?
Loggato

Pagine: [1] 2 Stampa 
« precedente successivo »
Salta a:  


Login con username, password e lunghezza della sessione

Powered by MySQL Powered by PHP © Copyright 1996 - 2008 - ConTempoNet Edizioni Musicali ® - P.IVA: 05174251008
Tutti i diritti riservati - Tutti i marchi sono registrati -
È vietata la riproduzione, anche parziale, dei testi e delle immagini.
Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!