Re: [OT] modify midi

2020-06-16 Thread Gianmaria Lari
Thank you Matt, Mark & Gilles.

I had a look to all your propositions and the idea to convert midi to ascii
etc. etc. looks interesting and promising. I will make some test to see how
much work it needs and if it something that can work.

Thanks a lot!
g.

On Mon, 15 Jun 2020 at 16:58, Matt Wallis  wrote:

> On 15/06/2020 12:18, Mark Knoop wrote:
> > At 11:09 on 15 Jun 2020, Gianmaria Lari wrote:
> >> Sometimes I would like to modify a bit the midi file generated by
> >> Lilypond. What stops me from doing that is that in case I modify the
> >> lilypond source I lose all the work done on the midi and I have to do
> >> it again from scratch.
> >>
> >> So I was wondering if anyone knows a software that gives you the
> >> possibility to record the list of operations I do on a midi file so
> >> that I can reapply them "automatically". Of course I understand the
> >> limitation that a software like this will have: the midi file you want
> >> to apply the change has to be "very similar" to the original one (for
> >> example changing only the note pitch etc. etc.).
> >
> > There are various utilities on the web for converting midi to and from
> text formats, e.g. http://www.archduke.org/midi/
> >
> > You could have a potential workflow as follows:
> >
> > - convert Lilypond's MIDI output to text
> > - edit as necessary
> > - save diff of the edit
> > - convert back to MIDI for playback
> > ...
> > - edit Lilypond, export new MIDI, convert to text
> > - use patch to apply previous diff
> > - convert back to MIDI for playback
> >
> > https://www.pair.com/support/kb/paircloud-diff-and-patch/
>
> I wonder if it's possible to use git.  For example:
>
> - Commit (text version of) original midi in a branch called, say
> 'from-lilypond'
> - Create a new branch called, say 'modifications'
> - Make your modifications in the 'modifications' branch (this may
> involve another conversion from text to midi and back, depending on how
> you make your modifications)
> - When you have a new midi from lilypond, commit (a text version of) it
> to the 'from-lilypond' branch,.
> - Switch to  'modifications' branch, and merge from the branch
> 'from-lilypond'
>
> In all of the above, you use the same filename for all versions of the
> midi, and in both branches.
>
> Well, that's a back of an envelope sketch. I'm not sure if this has any
> benefits over the diff-and-patch method described by Mark.
> Is git better than diff-and-patch at dealing with this kind of merge? I
> don't know. I guess it may be useful to have all versions saved in git.
> git also is good at presenting conflicts - but again, I don't know how
> this compares with diff-and-patch - I haven't done much with the latter.
>
> Of course, with either method, you'd probably need to automate it (e.g..
> using make)
>
> Matt
>
>


Re: [OT] modify midi

2020-06-15 Thread Matt Wallis

On 15/06/2020 12:18, Mark Knoop wrote:

At 11:09 on 15 Jun 2020, Gianmaria Lari wrote:

Sometimes I would like to modify a bit the midi file generated by
Lilypond. What stops me from doing that is that in case I modify the
lilypond source I lose all the work done on the midi and I have to do
it again from scratch.

So I was wondering if anyone knows a software that gives you the
possibility to record the list of operations I do on a midi file so
that I can reapply them "automatically". Of course I understand the
limitation that a software like this will have: the midi file you want
to apply the change has to be "very similar" to the original one (for
example changing only the note pitch etc. etc.).


There are various utilities on the web for converting midi to and from text 
formats, e.g. http://www.archduke.org/midi/

You could have a potential workflow as follows:

- convert Lilypond's MIDI output to text
- edit as necessary
- save diff of the edit
- convert back to MIDI for playback
...
- edit Lilypond, export new MIDI, convert to text
- use patch to apply previous diff
- convert back to MIDI for playback

https://www.pair.com/support/kb/paircloud-diff-and-patch/


I wonder if it's possible to use git.  For example:

- Commit (text version of) original midi in a branch called, say 
'from-lilypond'

- Create a new branch called, say 'modifications'
- Make your modifications in the 'modifications' branch (this may 
involve another conversion from text to midi and back, depending on how 
you make your modifications)
- When you have a new midi from lilypond, commit (a text version of) it 
to the 'from-lilypond' branch,.
- Switch to  'modifications' branch, and merge from the branch 
'from-lilypond'


In all of the above, you use the same filename for all versions of the 
midi, and in both branches.


Well, that's a back of an envelope sketch. I'm not sure if this has any 
benefits over the diff-and-patch method described by Mark.
Is git better than diff-and-patch at dealing with this kind of merge? I 
don't know. I guess it may be useful to have all versions saved in git. 
git also is good at presenting conflicts - but again, I don't know how 
this compares with diff-and-patch - I haven't done much with the latter.


Of course, with either method, you'd probably need to automate it (e.g.. 
using make)


Matt



Re: [OT] modify midi

2020-06-15 Thread Mark Knoop
At 11:09 on 15 Jun 2020, Gianmaria Lari wrote:
> Sometimes I would like to modify a bit the midi file generated by
> Lilypond. What stops me from doing that is that in case I modify the
> lilypond source I lose all the work done on the midi and I have to do
> it again from scratch.
>
> So I was wondering if anyone knows a software that gives you the
> possibility to record the list of operations I do on a midi file so
> that I can reapply them "automatically". Of course I understand the
> limitation that a software like this will have: the midi file you want
> to apply the change has to be "very similar" to the original one (for
> example changing only the note pitch etc. etc.).

There are various utilities on the web for converting midi to and from text 
formats, e.g. http://www.archduke.org/midi/

You could have a potential workflow as follows:

- convert Lilypond's MIDI output to text
- edit as necessary
- save diff of the edit
- convert back to MIDI for playback
...
- edit Lilypond, export new MIDI, convert to text
- use patch to apply previous diff
- convert back to MIDI for playback

https://www.pair.com/support/kb/paircloud-diff-and-patch/

--
Mark Knoop



Re: [OT] modify midi

2020-06-15 Thread Gilles Sadowski
Hi.

2020-06-15 12:09 UTC+02:00, Gianmaria Lari :
> Sometimes I would like to modify a bit the midi file generated by Lilypond.
> What stops me from doing that is that in case I modify the lilypond source
> I lose all the work done on the midi and I have to do it again from
> scratch.
>
> So I was wondering if anyone knows a software that gives you the
> possibility to record the list of operations I do on a midi file so that I
> can reapply them "automatically".  Of course I understand the limitation
> that a software like this will have: the midi file you want to apply the
> change has to be "very similar" to the original one (for example changing
> only the note pitch etc. etc.).

Maybe this library could be useful:
http://www.jfugue.org/index.htm

See also that page:
https://en.wikipedia.org/wiki/Comparison_of_MIDI_editors_and_sequencers

Regards,
Gilles

>
> Not sure I have been clear enough . let me know if I have to explain
> myself better.
>
> Thanks, g.
>