bonsoir,
je ne sais pas comment expliquer le problème:
je travaille sur un patch qui charge 5 players avec de gros fichiers son. j'ai utilisé pur ça le patch suivant
http://puredata.hurleur.com/attachment.php?item=2035
cette abstraction [load_large_audio] devrait avoir
print: TABLE RESIZE COMPLETE une fois
puis
print: DONE LOADING FILE lorsque le fichier est chargé
ce qui arrive dans mon patch c'est que j'ai 5 fois le même print pour un seul buffer et un seul fichier
et lorsque je continue avec un 2éme player, pd s'arrête...
c'est mon premier patch dans pd et je n'arrive pas à saisir mon erreur
je mets le patch en pièce jointe
merci pour toute aide
Dernière modification par atprocess (2010-09-03 18:46:35)
Hors ligne
Comme ça le patch/abstraction [load large audio] n'a pas de de table unique pour chaque instance. Il faudrait avoir un $0 en début de nom de la table pour avoir autant de table que tu veux. Par contre à toi de récupérer ce $0 pour les lecteurs...
Autre façon de faire, plus simple pour ne pas jongler avec les $0, c'est de copier le code cinq fois et d'avoir des tables différentes.
http://puredata.hurleur.com/sujet-1187- … hy-use-etc
Hors ligne
salut tout le monde
@pob
en effet, pour ne pas me tromper avec les $0, j'ai crée 5 tables avec des noms différents et 5 players avec des noms différents, [load_large_audio] est copié différemment dans chaque player en tenant compte du nom de la table...
ce que je ne comprends pas c'est que :
print: TABLE RESIZE COMPLETE
print: DONE LOADING FILE
sont printés 5 fois alors que les noms de tables sont différentes et j'ai même vérifié dans les différentes tables, la forme d'onde est différente...!
là je bloque...
Hors ligne
bonjour,
voilà j'ai fait un patch d'exemple pour cerner le problème et mieux l'expliquer...
je serai content si j'arrive à comprendre d'où vient l'erreur...
Dernière modification par atprocess (2010-09-04 13:23:46)
Hors ligne
C'est assez simple et sans aucune incidence...
Tu as deux [r print_this] donc on reçoit en deux endroits le message et on imprime deux fois le message.
Il faudrait avoir [r print_this1] et [r print_this2] ou un seul [r print_this] dans le patch principal.
Dernière modification par pob (2010-09-04 13:43:11)
Hors ligne
@pob: merci
oui je vois bien mon erreur et je l'ai corrigé...
mais lorsque que je charge le 2nd player, PD demande à quitter! est-ce un prolème de RAM peux-être
Hors ligne
Quelle est la longueur des sons que tu charges ? C'est peut-être le cas si c'est vraiment long.
Jette un oeil dans le gestionnaire de tâches/ressources pour voir la charge mémoire que prend pd.
Peut-être peux tu réduire l'allocation avant le chargement pour mieux correspondre à ton utilisation.
Quel OS utilises tu ? En 32bits, c'est sûr que tu risque de saturer la mémoire. Et les versions 64bits sont encore en développement.
Ensuite, mais c'est moins pratique il y a [readsf~] qui permet de ne pas tout charger en mémoire. Par contre on ne peux pas se balader dans le fichier de façon très pratique. Pour faire des pauses, on peut ruser en plaçant les objets [readsf~] dans un sous-patch avec un objet [switch~] pour faire une pseudo-pause.
Hors ligne
la longueur des fichiers c'est dans les 11mn...
j'ai vérifié le comportement de la mémoire dans le task manager est le résultat est frappant:
quand la table est redimensionné pour 1h ça monte à 970Mo (ce qui est normal) et ça redescend une fois le fichiers chargé à environ 400
1-machine avec 1go de ram: ça charge un seul fichier
2-machine à 3Go de ram: ça passe les 2 fichiers mais ça s'arrête au 3 et des fois au 4
je suis sur win XP 32 bits
par contre je suis bien intéressé par [readsf~] car je n'ai pas besoin de faire "pause"...
est ce que [readsf~] prend la place de [tabplay~]?
Hors ligne
par contre, j'aimerai bien comprendre comment modifier ceci:
dans [load_large_audio]
[0] <-- gui bang object
|
[my_sound_file resize 1.5876e+008;( <-- resize to max 1hr (total seconds * 44100 samples/sec)
comment pourrai je modifier cet espace alloué pour une 1 hr vu que ça me prend à chaque fois énormément de ressources pour rien.
"1.5876e+008" ---> ???? et comment le modifier pour 12mn ou 1hr/4.
merci
Dernière modification par atprocess (2010-09-04 15:29:49)
Hors ligne
atprocess a écrit:
comment le modifier pour 12mn ou 1hr/4.
ben essaie de faire ce qui est décrit :
citation :
total seconds * 44100 samples/sec
ce qui fait pour 12 minutes :
12 * 60 * 44100 = 31 752 000
Hors ligne
Pages: 1