Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-11-27 14:38:27 Lire un son faire une pause et reprendre

billard_fm
membre
Lieu: Meung sur Loire
Date d'inscription: 2012-09-28
Messages: 38
Site web

Lire un son faire une pause et reprendre



Bonjour

quelle boîte permettrait de lire un son depuis son début puis de faire un pause, et reprendre au point de pause.

Le [readsf~] ne semble pas le faire, j'avais pensé a utiliser un [tabplay~] mais je suis dans l'expectative.

Merci

François-Marie

Hors ligne

 

#2 2012-11-27 15:35:25 Re : Lire un son faire une pause et reprendre

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Lire un son faire une pause et reprendre



Je dirais [tabread~] contrôlé par un [phasor~]. Si tu veux faire pause, tu envoies [0< à ton phasor; quand tu veux reprendre, tu lui renvoies la bonne fréquence.

EDIT : forcément, la fréquence du [phasor~] dépend le la longueur de ton fichier son, et il ne faut pas oublier de multiplier la sortie du [phasor~] par la longueur du son exprimée en nombre de samples :
- un sample d'une seconde (probablement 44100 samples) -> freq du phasor = 44100/44100 = 1 et multiplier la sortie du phasor par 44100
- un sample de 10 secondes (probablement 441000 samples) -> freq du phasor = 44100/441000 = 0.1 et multiplier la sortie du phasor par 441000

Dernière modification par dwan (2012-11-27 15:45:46)

Hors ligne

 

#3 2012-12-02 19:14:27 Re : Lire un son faire une pause et reprendre

billard_fm
membre
Lieu: Meung sur Loire
Date d'inscription: 2012-09-28
Messages: 38
Site web

Re: Lire un son faire une pause et reprendre



Merci cela fonctionne bien que je comprenne pas bien le fonctionnement du phasor avec le tabread.

Je pensai que le tableau comprenais les échantillons de mon son, et qu'il me suffisait de lire le tableau à la fréquence d'échantillonnage de 44100 Hz.

Donc le calcul de la fréquence de ce phasor m'est bien obscur.

François

Hors ligne

 

#4 2012-12-02 21:28:51 Re : Lire un son faire une pause et reprendre

dwan
membre
Date d'inscription: 2011-01-24
Messages: 307

Re: Lire un son faire une pause et reprendre



[phasor~] sort une forme d'onde d'amplitude 1 comprise entre 0 et 1 : elle va graduellement de 0 à 1 puis retourne brusquement à 0. Si [tabread~] reçoit un 1, il prend ça comme l'ordre de jouer le sample 1 : donc pour jouer le dernier sample d'un son qui fait une seconde (44100 samples de long), il faut envoyer 44099 à [tabread~] (petite subtilité, on commence à compter à 0). Comme les samples de ton son d'une seconde sont accessibles en envoyant un nombre à [tabread~] compris entre 0 et 44099 et que ton [phasor~] crache des nombres compris entre 0 et 1, on va multiplier la sortie de [phasor~] par la longueur en samples de ton son (1s -> 44100 samples, 2s -> 88200 samples, etc).
Maintenant qu'on peut jouer ce sample en entier, il faut le jouer à la bonne vitesse. Prenons un son de 3 secondes : il fait 132300 samples de long à raison de 44100 samples par seconde. On va respecter la vitesse originale de lecture en envoyant les nombres de 0 à 132299 en 3 secondes. On demandera donc au [phasor~] d'osciller à une fréquence égale à 44100/(44100*132300), soit 1/3, soit 0,3333333...

EDITH : Si on envoie 0 à un [phasor~], il reste bloqué à la position à laquelle il était, donc on reste sur le dernier sample lu. Si on lui envoie à nouveau la fréquence de lecture désirée, il reprend son petit bonhomme de chemin là où il s'était arrêté. D'où la fonction play/pause.

Dernière modification par dwan (2012-12-02 21:32:39)

Hors ligne

 

#5 2012-12-03 08:54:21 Re : Lire un son faire une pause et reprendre

billard_fm
membre
Lieu: Meung sur Loire
Date d'inscription: 2012-09-28
Messages: 38
Site web

Re: Lire un son faire une pause et reprendre



Bonjour

merci pour cette explication très claire je comprends maintenant les raisons de ce calcul avec le phasor.

François-Marie

Hors ligne

 

#6 2012-12-03 10:16:50 Re : Lire un son faire une pause et reprendre

oli44
membre
Lieu: Notre Dame des Landes
Date d'inscription: 2008-04-25
Messages: 585
Site web

Re: Lire un son faire une pause et reprendre



Salut,

je n'utilise plus du tout readsf~ mais readanysf~ d'august black qui existe désormais en paquet pour pd sur debian/ubuntu


La route est longue mais la voie est libre

Hors ligne

 

#7 2012-12-03 10:51:41 Re : Lire un son faire une pause et reprendre

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: Lire un son faire une pause et reprendre



+ 1 pour readanysf qui gère vraiment tout sans limitation de durée

Hors ligne

 

#8 2012-12-06 10:48:16 Re : Lire un son faire une pause et reprendre

nononononono
membre
Lieu: Toulouse
Date d'inscription: 2011-02-04
Messages: 614

Re: Lire un son faire une pause et reprendre



+ 20 pour readanysf qui, je viens de m'en apercevoir lit les fichiers audio des conteneurs pour les films ( facile à coupler avec pix-film ) smilesmilesmile

Hors ligne

 

#9 2012-12-06 15:13:44 Re : Lire un son faire une pause et reprendre

billard_fm
membre
Lieu: Meung sur Loire
Date d'inscription: 2012-09-28
Messages: 38
Site web

Re: Lire un son faire une pause et reprendre



Bonjour

Chez moi ce readanysf n'existe pas dans mon pure-data.  J'ai donc téléchargé ce matin un fichier source de readanysf (readanysf~0.43) et j'ai tenté de compiler sans résultat, sauf des erreurs.

la première est :

citation :

src/FifoVideoFrames.h:30:27: error: gmerlin/avdec.h: Aucun fichier ou dossier de ce type

Je suis sous Debian squezze en 64 bits avec gmerlin-encoders, lingmerlin-dev, même chose pour gavl, installés.

Merci

François-Marie

Hors ligne

 

#10 2012-12-06 19:00:37 Re : Lire un son faire une pause et reprendre

Olm-e
membre
Lieu: Bruxelles
Date d'inscription: 2011-11-15
Messages: 84
Site web

Re: Lire un son faire une pause et reprendre



readanysf~ dépends des librairies gmerlin dont il faut installer les paquets de développement (*-dev)
en cherchant dans synaptic tu devrais t'y retrouver...
il te manque peut-etre libgmerlin-avdec-dev p.ex.

Dernière modification par Olm-e (2012-12-06 19:02:37)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024