Home Forums Macros Boucle plus courte

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #919
    Christophe Le MennKrismenn
    Participant

    Bonjour,
    Philippe est ce que tu penses qu’avec les nouvelles fonctions d’édition de LL , il serait possible de créer une macro qui permette de faire une boucle plus courte que la première? Il faudrait pouvoir annoncer le point de fin de boucle avant de faire la boucle et ainsi pouvoir décider de faire une boucle qui soit une division de la longueur de la première.
    L’idéal serait même de pouvoir choisir cette division avec le compteur, si le compteur est sur 4 la prochaine boucle sera quatre fois plus courte… Merci

    #920

    Salut,
    Carrément!
    J’ai fais des tests récemment d’une fonction qui s’appellerai non-synced overdub ou un truc du genre… En gros, la boucle créée par l’overdub tourne sur elle même, du début à la fin de l’overdub.
    Ce n’est pas encore au point, mais je songe à ajouter la fonction dans une prochaine livraison.
    En revanche, si tu souhaites, faire un overdub qui part du début, tu gardes le point de départ intacte et tu donnes le point sortie en fonction d’un calcul que tu peux faire sur les durée de boucles.

    ça donnerait cela :

    WaitEndLoop
    Overdub

    WaitUserAction

    Overdub
    TrackLoop trk@ BeginAt 0 EndAt {($current_loop_duration_samples$/4)}

    Tu peux affecter cette macro à une pédale qui a une fonction proche de l’overdub.

    Tu peux bien sûr remplacer le 4 par une variable ce qui pourrait donc changer la taille de la boucle résultante.
    Philippe

    #922
    Christophe Le MennKrismenn
    Participant

    Je venais juste de trouver une solution!

    Multiply
    WaitBeginLoop
    Multiply
    TrackLoop trk_sel BeginAt 0 EndAt {($metro_bar_length$/$counter$)}

    #923

    Interessant…!
    Pas tout à fait la même fonction, pour pas tout à fait le même cas de figure.

    #924
    Christophe Le MennKrismenn
    Participant

    J’ai amélioré ma macro, plus besoin de sélectionner la piste qui va être enregistrée à la main.

    On choisi par combien la boucle va être divisée grâce au compteur ensuite il suffit de déclencher la macro une fois pour enregistrer et diviser la boucle suivante

    Ca fonctionne super bien, le seul truc c’est qu’il faut attendre que la première boucle joue entièrement avant que la dernière tourne à la division choisie.
    L’idéal serait qu’elle commence à tourner avant la fin de la première boucle! Mais là …

    SelectTrack A trk@
    Sleep 50
    IncSelectedTrack
    Multiply
    WaitBeginLoop

    Multiply
    TrackLoop trk_sel BeginAt 0 EndAt {($current_loop_duration_samples$/$counter$)}

    #927

    Salut,
    Elle fonctionne vraiment bien celle-là!
    Si tu n’y vois pas d’inconvénient, je propose de la mettre dans la section macro à télécharger.
    Philippe.

    #929
    Christophe Le MennKrismenn
    Participant

    Pas de problème pour la mettre dans la section macro!
    Si tu trouves une solution pour faire tourner la boucle directement je suis preneur. Ça permettrait de bousculer une rythmique en très peu de temps .

    #2760

    PlayImmediatlyAllNewTracks démarre la piste nouvellement créé immédiatement!
    Je mettrai un exemple bientôt sur le site.
    Mais déjà, il y a le nouveau tuto avec Add_Four_track qui utilise cette commande
    Philippe

    #2761
    Christophe Le MennKrismenn
    Participant

    Excellent!!!!!!!!
    Super le tuto aussi! je crois que je vais me faire un morceau à une note tiens….

    #1582
    Christophe CorrecChristophe Correc
    Participant

    Philippe
    As tu réussi à écrire une fonction Non-Synced Overdub ?
    J’essaye … Je pense qu’il faudrait pouvoir “enregistrer” la position de début et de fin de l’overdub à l’aide de variable mais je ne trouve pas comment. Quand on lance un overdub, y a t-il un moyen de savoir à quelle position il commence par rapport à la boucle de référence ?
    Si on utilise un métronome, on peut “tricher” en mettant le nombre de beats = nombre de temps de la boucle de référence et en utilisant le numéro du temps comme variable de début et de fin. Qu’en penses tu ?
    Christophe

    #1585

    Salut,
    Non, je n’ai pas eu le temps de m’en occuper.
    Les tests que j’ai faits avec des macros n’étaient pas concluants…
    Il faudrait directement créer la fonction dans Logelloop, mais ça, c’est plus de travail!
    Je crains qu’il ne faille l’espérer tout de suite, il nous reste encore beaucoup de travail avant d’arriver là…
    Philippe

    #1586
    Christophe CorrecChristophe Correc
    Participant

    J’ai une solution à proposer. L’idée de départ est la même à savoir une boucle plus courte qui démarre quand on veut. J’ai rajouté des contraintes pour réussir à écrire une macro, il faut le métronome, que les boucles courtes soient proportionnelles à la boucle de référence et que la nouvelle boucle tourne sur un certain nombre de mesure.

    SelectTrack A trk@
    Sleep 50
    IncSelectedTrack
    MetroActivateEvents true

    //Attend le 1er temps d’une mesure.

    WaitMetroBeat 1
    Overdub

    //mémorise la mesure actuelle

    Redeclare float $MesureOverdubNonSync$ = $metro_loop_current_bar$

    WaitUserAction
    Overdub

    // Crée des fractions permettant de délimiter le début et la fin de l’overdub.

    Set $DebutOverdub$ = {$MesureOverdubNonSync$/$metro_loop_bars$}
    Set $FinOverdub$ = {($MesureOverdubNonSync$+1)/$metro_loop_bars$}

    TrackLoop trk_sel BeginAt {($current_loop_duration_samples$*$DebutOverdub$)} EndAt {($current_loop_duration_samples$*$FinOverdub$)}
    PlayImmediatlyAllNewTracks

    Dans cette 1ere mouture, la nouvelle boucle ne dure qu’une mesure, on peut cela changer au niveau de la déclaration de la variable $FinOverdub$ en changeant le chiffre 1 qui donne le nombre de mesure de la nouvelle boucle. On pourrait aussi imaginer donner ce chiffre en fonction du compteur.

    Christophe

    #1588
    Christophe Le MennKrismenn
    Participant

    Un looper SFX indépendant ce serait peut être plus simple? Le babylooper ne conviendrait il pas?

    #1589
    Christophe CorrecChristophe Correc
    Participant

    Le problème et l’intérêt de babylooper, c’est qu’il est complètement asynchrone. Là l’idée, c’est que les boucles créées restent synchrones (qu’elles aient toutes la même pulsation) et qu’on puisse donc les caler sur la boucle de référence (en utilisant les fonctions Wait…) ce qui permet d’être sûr de la précision des débuts et fin de boucles. Quand on utilise babylooper, on lance le démarrage et la fin au pied et on a forcément un décalage des pulsation au bout d’un moment.

    #1590
    Christophe Le MennKrismenn
    Participant

    Quand le déclenchement du babylooper par macro sera fonctionnel, on devrait pouvoir lancer et stopper l’enregistrement à un temps donné du métronome.

Viewing 15 posts - 1 through 15 (of 21 total)
  • You must be logged in to reply to this topic.