module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

Expression : Controle d'un clip a partir d'un calque audio

Discussion in 'Archives moteurs' started by cubic, Sep 22, 2005.

Tags:
  1. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    Je cherchais l'expression me pertant de controler la lecture d'un clip à partir d'un calque d'amplitude audio. Si la valeur d'amplitude audio est > à 18 (par ex), le clip avance d'une frame. La solution m'a été donné par Nab17 (gloire à lui !):

    audio=thisComp.layer("Amplitude audio").effect("Les deux couches")("Curseur");
    audio_limit = 18 ; // seuil
    tr=0;
    i=0 ;
    while (i <= time ) {
    if(audio.valueAtTime(i) > audio_limit ) {
    tr +=1/25 ; // saut en avant
    }
    i+=1/25;
    }
    tr

    et ça marche impec ! :bravo:
    Pour aller plus loin, j'aimerais maintenant faire une loop sur un calque, et qu'à chaque valeur du calque d'amplitude audio > 18 (ou autres) , la loop recommence à partir d'un point aléatoire. Bon, ça doit pas etre très dur, mais je commence tout juste à me pencher sur les expressions, et j'apprends sur le tas !
    Merci.
     
  2. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    je vais te couper les oreilles et la queue Cubic :D

    tu viens de donner le réponse au dernier "jeu sur les expressions"...je ne pensais pas que tu allais poster l expression

    bon aller vu que tu te lances juste, je vais te laisser les oreilles :D


    sinon pour tes modifications, j ai pas bien compris ce que tu voulais faire :perplexe:
     
  3. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    oooops

    J'ai vu ton jeu sur les expressions, mais trop tard, je venais juste d'envoyer le message. Désolé .:amour:
    Je vais essayer d'etre plus clair pour ma 2eme requete : Je voudrais creer une loop de 2 secondes et qu'a chaque valeur du calque audio >18 la loop recommence à un point choisi d'une maniere aléatoire à l'interieur de cette loop, ou dit autrement, que la loop saute à un point de manière aléatoire.
    Euh, est ce vraiment plus clair ? :perplexe:
     
  4. nikolo

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    362
    Merci Cubic.

    J'a ila réponse maintenant au jeu des expressions
     
  5. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    ben tu redis la meme chose, je vois toujours pas :D

    essaie de formuler ton probleme sans utiliser les mots "loop" , "point" et "aléatoire"

    par exemple essaie d exprimer ca sous la forme:
    _au premier pic audio, je veux avancer de trois images
    _au deuxieme pic audio, je veux ...

    ou du style :
    _si l audio est entre 10 et 20, je veux avancer de deux images
    _ si l audio est entre 20 et 30, je veux avancer de quatre images ...

    (ce ne sont que des exemples ;)
     
  6. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    Ok, bon je vais etre plus concret, il faudrait que l'expression dise grossomodo :
    Fait une boucle de 50 frames, si la valeur du calque audio est >18, saute à la frame random(50) .
     
  7. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    ben si tu veux afficher une image au hasard, mets ton random a la place de "1/25" pour la valeur du saut

    le "faire une boucle de 50 fames" je vois pas ce que tu veux dire :rolleyes:, il vaudrait mieux que tu dises plus precisement ce que tu fais, sur quelle type d animation ? qu est ce qui doit boucler ? ...

    ps: je dis ca parce que cette expression est gourmande en calcul, et donc suivant ce que tu souhaites on peut peut-etre faire d une autre facon...
     
  8. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    Oui j'avais essayé de mettre random comme valeur de saut, mais l'image s'arrete, normal puisque c'est ce qu'on voulait à la base, mais ce que je voudrais maintenant c'est que la sequence ne s'arrete pas. Pour mon histoire de boucle, c'est parce que j'ai un calque qui dure 2 s et que je veux travailler sur un rendu de 30 s (voir plus), donc plutot que de le remapper x fois, ou de copier x fois le calque, je cherche l'expression qui le fasse automatiquement, quelque soit la durée du rendu.
    En fait, je n'ai pas encore compris comment créer une boucle avec une expression...mais je cherche:D
     
  9. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    pour avoir ton calque qui boucle, tu peux en cliquant droit sur ton element dans le chutier (en haut a gauche), et en choisisssant "interpréter le métrage" puis "principal". Et là tu peux mettre le nombre de boucle que tu veux...c est pratique !

    pour ton anim, tu veux que qd l'audio depasse le seuil, alors ca saute sur une image choisie au hasard, et que la lecture se fasse a partir de cette image là...mais jusquà quand doit durer cette lecture? c est vraiment pas clair ton affaire , désolé
     
  10. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    :D Ah oui, en effet je suis vraiment une burne. Quand je dis que je commence juste ... J'ai trouvé aussi la méthode : loopOut("cycle");
    Donc avec cette methode d'interprétation, je n'ai plus de problème de boucle, il me suffit d'une expression : si l'audio > 18 , saute à l'image random(), et je n'ai plus à me soucier de la durée da la boucle, puisqu'elle est déjà bouclée. Top ! :bravo: Il me reste plus qu'à trouver comment dire tout ça ! Si je reprends ton expression de départ, en modifiant tr += 25/25 ou bien i+ ... je vais tester.
     
  11. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    c est la variable "tr" sur laquelle il faut que tu joues.

    le "i" n'y touche pas, il sert simplement a parcourir les images les unes apres les autres pour recuperer le niveau audio qui leur correspond
     
  12. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    :perplexe: Ben, j'y arrive pas .
    J'ai essayé ça :

    audio=thisComp.layer("Amplitude audio").effect("Les deux couches")("Curseur");
    audio_limit = 18 ; // seuil
    i=0 ;
    while (i <= time ) {
    if(audio.valueAtTime(i) > audio_limit ) {
    random(50) ; // saut à frame entre 0 - 50
    }
    i+=1/25;
    }

    J'ai enlevé la variable tr car j'en ai pas besoin si je veux que le calque soit lu en continu. Ca me semblait logique, mais j'ai dû sauter une étape .:perplexe:
     
  13. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    oui c est normal, car ton expression n'a pas vraiment de sens...

    je te conseillerai de jeter un oeil (deux c est mieux ;)) sur le site que j ai fait récemment sur les expressions (tu peux le retouver en haut de page dans le "Quoi de neuf" du repaire.

    car là tu veux manipuler une expression un peu technique sans savoir ce qu est une expression ni comment elle est evaluée.

    apres avoir lu, si tu piges pas, je te ferai une explication detaillee de "pourquoi ca marche pas "

    au passage, je ne sais toujours pas ce que tu comptes faire..
     
  14. cubic

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    550
    Likes Received:
    0
    Messages:
    29
    :rolleyes: Ouep, j'ai encore du chemin à faire ! En même temps je ne veux pas devenir un spécialiste, étant plutot musicien, j'ai juste une idée assez précise du résultat que j'aimerais avoir. C'est peut etre un peu trop compliqué pour le moment. Mais j'ai déjà une bonne base avec ton expression. Je ne manquerai pas de te montrer le resultat quand j'aurai un peu plus avancé.:D
     
  15. nab17connection

    Appréciations:
    +0 / 0 / -0

    Trophy Points:
    1,900
    Likes Received:
    1
    Messages:
    1,051
    ah bon :D ??... toi peut etre, moi toujours pas !

    explique sur un petit exemple, simple et concret.

    imaginons que ton animation montre des chiffres de 1 à 25 defilant ("1" est affiché a la 1ere image, "2" à la deuxieme, "3" a la suivante, etc...
    tu as egalement un calque audio.

    bon, ok, et maintenant que veux tu faire quand l audio depasse le seuil ? Afficher une image aleatoire ( "1", "15"," 3", ou "9" par ex) et que cela reste fixe ensuite jusqu au prochain pic audio ?
    ou que cela mette l animation en mode "lecture" ("4", "5", "6", "7", etc.), en commencant par une image choisie au hasard (ici on a commence par l'image "4"). Et si le son a declenche la lecture, qu est ce qui va l arreter ? tu veux une action lors du premier pic audio et que veux tu pour les autres pics audio ?
     
Loading...

Dernières occasions

 

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous