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
| | |-+  La pesantezza dei buffer di max
« precedente successivo »
Pagine: [1] Stampa
Autore Topic: La pesantezza dei buffer di max  (Letto 866 volte)
brunozamborlin
Hero Member
*****
Posts: 776



Guarda Profilo
« il: Maggio 03, 2006, 13:03:04 »

Qualcuno potrebbe spiegarmi le seguenti cose please?

1-Perchè importare un file (wave o aiff) di media o grande lunghezza, impiega un sacco di tempo in un buffer di msp, mentre in un qualunque programma tipo peak o wavelab impiega un centesimo del tempo?

2-ho provato a fare un copia-incolla ed un reverse con waveform, ed è terribilmente lento e la cpu sta impallata al 100% per un bel po di secondi. perchè?


3-perchè max non legge gli mp3?

Thx Sorriso
Loggato

lorbi
Full Member
***
Posts: 211


Guarda Profilo
« Risposta #1 il: Maggio 03, 2006, 14:36:07 »

1 non mi pare proprio
2 non ho capito
3 usa il messaggio "Import"

byez

lorbi
Loggato
brunozamborlin
Hero Member
*****
Posts: 776



Guarda Profilo
« Risposta #2 il: Maggio 04, 2006, 12:52:06 »

Citato da: lorbi
1 non mi pare proprio
No?
Se io importo un file wave stereo a 16 bit 44100hz da 3 minuti mi ci mette quasi dieci secondi, mentre con cubase ce ne mette meno di metà... be non è importante cmq, volevo solo capire quale fosse il motivo.

Citato da: lorbi
2 non ho capito
tramite poke ho implementato con max la funzione di copia-incolla di una parte di buffer. E il risultato, anche se funzionante, è cmq parecchio pesante.
Citato da: lorbi
3 usa il messaggio "Import"
Thx!  Grossa risata
Loggato

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


Guarda Profilo WWW
« Risposta #3 il: Maggio 04, 2006, 13:25:44 »

Citato da: lorbi
1 non mi pare proprio
No?
Se io importo un file wave stereo a 16 bit 44100hz da 3 minuti mi ci mette quasi dieci secondi, mentre con cubase ce ne mette meno di metà... be non è importante cmq, volevo solo capire quale fosse il motivo.

La differenza è che buffer~ carica tutto il suono in ram e cubase lo lascia sul disco e legge solo la parte che deve suonare in quel momento. L'oggetto analogo in maxmsp non è buffer~, è sfplay~ che può "caricare" un file di mezz'ora in 0 secondi ed ha anche la comoda funzione "preload" per una accesso immediato alle diverse parti del soundfile

Citazione
Citato da: lorbi
2 non ho capito
tramite poke ho implementato con max la funzione di copia-incolla di una parte di buffer. E il risultato, anche se funzionante, è cmq parecchio pesante.

Questo è effettivamente un'operazione che potrebbe essere velocizzata scrivendo una funzione "copybuffer" in c o in java. Anche qui comunque tieni presente che quando copi una traccia in cubase in realtà fai solo un alias, un collegamento al file su disco che resta unico. Se invece fai una copia fisica (non conosco cubase e non so quale sia il comando da dare) del file molto probabilmente ti si aprirà una finestra che ti mostrerà una progress bar che avanza lentamente...

m
Loggato

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



Guarda Profilo
« Risposta #4 il: Maggio 06, 2006, 15:16:41 »

Hai perfettamente ragione maurizio (come sempre  Grossa risata ).

Infatti ho fatto la prova ora, se copio una traccia audio di cubase da un'altra parte, e la edito, le modifiche apportate appaiono in entrambe le copie. Quindi sono effettivamente dei semplici alias.
(mamma mia che tristezza)

Sul fatto di farlo in java non sono molto d'accordo invece, a suo tempo ci avevo provato e il risultato era addirittura peggiore di poke.

Sarei davvero curioso di provare a farlo in C, ma devo capire se ne vale veramente la pena.

Qualcuno per caso ci ha già provato o sa dove trovare qualcosa del genere già implementata?

ps: grazie anche della spiegazione sulla differenza tra buffer e sfplay
Loggato

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


Guarda Profilo WWW
« Risposta #5 il: Maggio 10, 2006, 16:20:37 »

Sul fatto di farlo in java non sono molto d'accordo invece, a suo tempo ci avevo provato e il risultato era addirittura peggiore di poke.

mmmhh, non mi risulta... ti allego UNA patch  Occhiolino che, almeno sul mio computer dimostra che mxj è 10 volte più veloce di peek~.
E qui:
http://www.fredrikolofsson.com/pages/code-max.html
trovi una piccola routine da aggiungere a buf.Op per fare le copie parziali di un buffer.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 279 188 106 196617 copia con mxj buf.Op;
#P newex 207 21 48 196617 loadbang;
#P newex 322 274 50 196617 deferlow;
#P flonum 282 325 51 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 282 300 35 196617 timer;
#P newex 308 227 40 196617 t b b b;
#P button 308 204 15 0;
#P message 391 272 106 196617 copyInto destinazione;
#P message 26 83 33 196617 clear;
#P flonum 27 262 51 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 27 236 35 196617 timer;
#P newex 52 204 40 196617 t b b b;
#P newex 143 301 27 196617 t i i;
#P newex 160 324 78 196617 peek~ sorgente;
#P newex 143 349 94 196617 peek~ destinazione;
#P newex 143 276 27 196617 - 1;
#P button 52 181 15 0;
#P newex 85 253 68 196617 uzi 4410000;
#P user waveform~ 362 101 200 74 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 0;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 362 73 91 196617 set destinazione 1;
#P newex 26 103 141 196617 buffer~ destinazione 100000;
#P newex 269 121 64 196617 / 4410000.;
#P button 207 43 15 0;
#P newex 215 125 27 196617 - 1;
#P newex 215 101 27 196617 t i i;
#P newex 207 68 68 196617 uzi 4410000;
#P newex 217 150 78 196617 peek~ sorgente;
#P newex 24 60 125 196617 buffer~ sorgente 100000;
#P newex 391 294 101 196617 mxj buf.Op sorgente;
#P comment 24 164 81 196617 copia con peek~;
#P connect 21 0 9 0;
#P connect 18 2 19 0;
#P connect 19 0 20 0;
#P connect 13 0 18 0;
#P connect 18 0 19 1;
#P connect 18 1 12 0;
#P connect 12 2 14 0;
#P connect 14 0 17 0;
#P connect 17 0 15 0;
#P connect 17 1 16 0;
#P connect 16 0 15 1;
#P connect 28 0 7 0;
#P connect 7 0 4 0;
#P connect 4 2 5 0;
#P connect 5 0 6 0;
#P connect 6 0 3 0;
#P connect 8 0 3 1;
#P connect 5 1 8 0;
#P connect 24 2 25 0;
#P connect 25 0 26 0;
#P connect 27 0 25 1;
#P connect 23 0 24 0;
#P connect 24 0 27 0;
#P fasten 7 0 10 0 212 63 367 63;
#P connect 10 0 11 0;
#P connect 24 1 22 0;
#P connect 22 0 1 0;
#P window clipboard copycount 30;
Loggato

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



Guarda Profilo
« Risposta #6 il: Maggio 10, 2006, 17:17:54 »

grazie maurizio appena posso la scarico! Wow
Loggato

Pagine: [1] 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.5 | SMF © 2006-2008, Simple Machines LLC
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!