division d'objets midi
- 9 réponses
- 3 participants
- 637 vues
- 3 followers
PlakDeGoudron
117
Posteur·euse AFfiné·e
Membre depuis 23 ans
29 Avril 2019 à 11:44 (modifié le 08 Octobre 2021 à 09:38)division d'objets midi
#1
bonjour,
j'ai des questions sur la gestion des éléments midi dans reaper:
1) lorsque j'ai un objet MIDI avec mélodie, ligne de basse et accords piano, je voudrais pouvoir diviser le bloc midi en deux avec la mélodie dans un et le reste dans l'autre. Je voudrais donc pouvoir sélectionner une partie des notes midi et faire un split de ce que j'ai sélectionné. Je n'arrive pas à créer de macro pour ça. J'ai tenté un couper / créer bloc midi vide / coller mais je n'ai pas toutes ces fonctions dans le TCP seul ou dans le midi éditeur seul ou dans l'éditeur midi en ligne seul donc pas de macro possible. Pour l'instant je duplique l'objet puis j'efface les notes...
2) Peut-on prendre une partie des notes midi d'un item et les déplacer vers une autre piste par glissé déposé? Là aussi, c'est tout l'objet ou rien.
Merci
j'ai des questions sur la gestion des éléments midi dans reaper:
1) lorsque j'ai un objet MIDI avec mélodie, ligne de basse et accords piano, je voudrais pouvoir diviser le bloc midi en deux avec la mélodie dans un et le reste dans l'autre. Je voudrais donc pouvoir sélectionner une partie des notes midi et faire un split de ce que j'ai sélectionné. Je n'arrive pas à créer de macro pour ça. J'ai tenté un couper / créer bloc midi vide / coller mais je n'ai pas toutes ces fonctions dans le TCP seul ou dans le midi éditeur seul ou dans l'éditeur midi en ligne seul donc pas de macro possible. Pour l'instant je duplique l'objet puis j'efface les notes...
2) Peut-on prendre une partie des notes midi d'un item et les déplacer vers une autre piste par glissé déposé? Là aussi, c'est tout l'objet ou rien.
Merci
...si seulement la musique pouvait servir à quelquechose
Signaler
PlakDeGoudron
117
Posteur·euse AFfiné·e
Membre depuis 23 ans
08 Octobre 2021 à 09:39
#2
up 
...si seulement la musique pouvait servir à quelquechose
Signaler
Ranxtukur
51
Posteur·euse AFfranchi·e
Membre depuis 6 ans
21 Octobre 2021 à 18:11
#3
Non !!
Ya du son par là : Et de l'image qui bouge aussi :
https://hearthis.at/thierryvastel/ https://www.youtube.com/user/jeranx1
Signaler
Ranxtukur
51
Posteur·euse AFfranchi·e
Membre depuis 6 ans
21 Octobre 2021 à 18:21 (modifié le 21 Octobre 2021 à 18:40)
#4
Je rigaule...
A part en copié/collé d'objet à objet, je ne vois pas.
Après ya des trucs très spécifiques dans les actions.
Je vois celle-là par exemple : "Script: mpl_Paste MIDI notes to selected item.lua". Cela devrait correspondre mais je n'arrive pas à la faire fonctionner. Mais ça devrait être possible. Et il y en a tellement...
@+
A part en copié/collé d'objet à objet, je ne vois pas.
Après ya des trucs très spécifiques dans les actions.
Je vois celle-là par exemple : "Script: mpl_Paste MIDI notes to selected item.lua". Cela devrait correspondre mais je n'arrive pas à la faire fonctionner. Mais ça devrait être possible. Et il y en a tellement...
@+
Ya du son par là : Et de l'image qui bouge aussi :
https://hearthis.at/thierryvastel/ https://www.youtube.com/user/jeranx1
Signaler
Rodila
22
Nouvel·le AFfilié·e
Membre depuis 10 ans
30 Octobre 2021 à 11:35
#5
En prenant le temps de le coder, ça doit être scriptable oui. Pas sur que tu puisse le faire avec des macros.
Si j'ai un peu de temps je vous fait ça.
Si j'ai un peu de temps je vous fait ça.
Signaler
Rodila
22
Nouvel·le AFfilié·e
Membre depuis 10 ans
30 Octobre 2021 à 11:54
#6
Voilà, j'ai codé ce nouveau script.
Il crée des nouveaux objets MIDI avec une copie des notes sélectionnées, puis efface les notes sélectionnés des objets MIDI sélectionnés.
Ce qui revient à "splitter" les notes sélectionnées d'un objet MIDI.
Voici un lien pour télécharger le fichier LUA.
Testez-le. S'il fonctionne bien chez vous je le partagerai dans ReaPack.
Il crée des nouveaux objets MIDI avec une copie des notes sélectionnées, puis efface les notes sélectionnés des objets MIDI sélectionnés.
Ce qui revient à "splitter" les notes sélectionnées d'un objet MIDI.
Voici un lien pour télécharger le fichier LUA.
Testez-le. S'il fonctionne bien chez vous je le partagerai dans ReaPack.
-- @description Split selected notes into new midi items
-- @author Rodilab
-- @version 0.1
-- @about
-- Delete selected notes in selected MIDI items, and create new midi item with selected notes
-- by Rodrigo Diaz (aka Rodilab)
count = reaper.CountSelectedMediaItems(0)
if count > 0 then
reaper.Undo_BeginBlock()
reaper.PreventUIRefresh(1)
local trim = reaper.GetToggleCommandState(41117)
if trim == 1 then
reaper.Main_OnCommand(41117, 0)
end
local itemGUID_list = {}
for i=0, count-1 do
table.insert(itemGUID_list, reaper.BR_GetMediaItemGUID(reaper.GetSelectedMediaItem(0, i)))
end
for i, sGUID in ipairs(itemGUID_list) do
local item = reaper.BR_GetMediaItemByGUID(0, sGUID)
local take = reaper.GetActiveTake(item)
local source = reaper.GetMediaItemTake_Source(take)
local track = reaper.GetMediaItem_Track(item)
local position = reaper.GetMediaItemInfo_Value(item, 'D_POSITION')
local length = reaper.GetMediaItemInfo_Value(item, 'D_LENGTH')
if reaper.GetMediaSourceType(source, '') == 'MIDI' then
local rv, notecnt, ccevtcnt, textsyxevtcnt = reaper.MIDI_CountEvts(take)
local new_item = reaper.CreateNewMIDIItemInProj(track, position, position+length)
local new_take = reaper.GetActiveTake(new_item)
for j=0, notecnt-1 do
j = notecnt-1-j
local rv, selected, muted, startppqpos, endppqpos, chan, pitch, vel = reaper.MIDI_GetNote(take, j)
if selected then
reaper.MIDI_InsertNote(new_take, selected, muted, startppqpos, endppqpos, chan, pitch, vel, true)
reaper.MIDI_DeleteNote(take, j)
end
end
reaper.MIDI_Sort(take)
reaper.MIDI_Sort(new_take)
end
end
if trim == 1 then
reaper.Main_OnCommand(41117, 0)
end
reaper.Undo_EndBlock("Split selected notes into new midi items",0)
reaper.PreventUIRefresh(-1)
reaper.UpdateArrange()
end
Signaler
PlakDeGoudron
117
Posteur·euse AFfiné·e
Membre depuis 23 ans
30 Octobre 2021 à 14:18
#7
Waw, chez moi ça marche parfaitement, merci infiniment d'avoir pris le temps de créer cette fonction que je trouve SUPER MEGA UTILE !
Je ne pensais pas que quelqu'un prendrait le temps de faire ça, c'est très cooooool de ta part.
MERCIIIIIIIIIIIIIIIIIIIIIIIIIIII
Je ne pensais pas que quelqu'un prendrait le temps de faire ça, c'est très cooooool de ta part.
MERCIIIIIIIIIIIIIIIIIIIIIIIIIIII
...si seulement la musique pouvait servir à quelquechose
Signaler
Rodila
22
Nouvel·le AFfilié·e
Membre depuis 10 ans
30 Octobre 2021 à 16:37
#8
Je t’en prie 
Ça n’a pas été très long à coder, et ton idée m’a semblé plutôt utile.
Je le partagerai sur ReaPack.
Ça n’a pas été très long à coder, et ton idée m’a semblé plutôt utile.
Je le partagerai sur ReaPack.
Signaler
Rodila
22
Nouvel·le AFfilié·e
Membre depuis 10 ans
23 Novembre 2021 à 11:43
#9
Le script est maintenant disponible dans ReaPack sous le nom de « rodilab_Move selected notes to a new MIDI item »
Signaler
PlakDeGoudron
117
Posteur·euse AFfiné·e
Membre depuis 23 ans
04 Janvier 2022 à 10:42
#10
hello,
après utilisation, voici un retour sur un petit bug: je ne sais pas exactement dans quelle circonstances ça le fait mais si on timestretch un objet midi et qu'on applique le script, le nouveau fichier midi n'est pas synchro, les notes sont plus serrées ou plus éloignées:


après utilisation, voici un retour sur un petit bug: je ne sais pas exactement dans quelle circonstances ça le fait mais si on timestretch un objet midi et qu'on applique le script, le nouveau fichier midi n'est pas synchro, les notes sont plus serrées ou plus éloignées:


...si seulement la musique pouvait servir à quelquechose
Signaler
- < Liste des sujets
- Charte