reddit / emacs

Can I create an application to help me work out my drums rudiments in emacs

fmou67 · 2022-10-21 12:49
Hi everyone, I am no developer, only a Linux freaks for nearly 20 years. And a drummer. I need to work my rudiments. You know, these combinations of patterns on the bass drums, the snare and the Charley. I have already written a few charts in lilypond / Frescobaldi. And I am figuring out that it would be cool to develop an app for emacs that uses lilypond and the various combinations bd/snare/charley patterns to shows exercices to be worked out. The question is: is it affordable for someone like me, to start on such a project? I'd like to learn, but I need something motivating... And this would be it. Is Lisp a good idea for such a project? Or would Python be a better choice? If you have a few crumbs to lead me in the right direction, so that at least I start on the right path.. that'd be cool Waiting for your comments
nv-elisp · 2022-10-21 13:15
There is a lilypond major mode which ships with Emacs. It is in need of a face-lift, but is still functional. There is also an org babel mode, ob-lilypond. Research those.
FlyingTaquitoBrother · 2022-10-21 13:18
Can you clarify what you actually want to do? Do you want to use emacs as a front end to LilyPond to make new rudiments in an easier way than raw LilyPond code? Do you want emacs to display a random rudiment like a flash card?
fmou67 · 2022-10-21 13:35
Thanks for your reply. I will look into this, I already read about the lilypond mode. The second topic in my project is indendant of lilypond. There are for each of the 3 instruments to improve (snare, bd and charley) patterns to work out. Some are easy, some acceptable and some hard. I would like the application to create a combination of the 3 instruments based on a difficult range input by the user (ex: avg). From this difficulty range, emacs would pick one of the pattern for the 3 instruments from a list of patterns, combine them and display it via lilypond. This second part is also for me a challenge... this is why I was asking if Lisp is adapted...
deaddyfreddy · 2022-10-21 14:03
There's a project you may find interesting: https://overtone.github.io/. Besides sound/synthesis stuff, it has https://github.com/overtone/midi-clj library, which allows you to write MIDI as lisp (Clojure, to be precise) code. Emacs has great support for Clojure programming (via Cider), and REPL-based development is perfect for writing music.
doesn123 · 2022-10-21 14:57
I’ve sent you a PM as I’m also a drummer and would love at some point to do something similar to this
fmou67 · 2022-10-21 16:08
Hi, There would be several steps in order to achieve this: 1. Create the various charts for each instrument in lilypond langage 2. Define their level of difficulty (1 to 3) 3. Somehow developin emacs a function that shuffles a combination of the 3 instrulents charts according to a level of difficulty (input from the user) 4. Combine the lilypond code do that instead of having 3 charts? Their is only one including all the 3 instruments 5. Display the charts as an image or pdf full screen in emacs 6. Optional : set a timer and change of combination every x minutes 7. Optional: add a plqyback of the chart using midi (also in emacs) That's the idea!
disinformationtheory · 2022-10-21 17:12
https://www.youtube.com/watch?v=BeTDIrJeriI https://www.youtube.com/watch?v=gimjJH73wxI
fmou67 · 2022-10-21 17:34
I already noticed overtone and co... OK... Maybe it is the direction to take... But it is not my primary goal... Thanks for reminding Me about it. Regarding repl, cider... What would you advise me to start with?
[deleted] · 2022-10-21 18:45
[deleted]
FlyingTaquitoBrother · 2022-10-21 18:54
I think that sounds fun! And I think you could do all of that in emacs. You can use normal lisp programming to set up your basic loop with timers and to manage the creation, randomization and combination of the three charts into lilypond source, then use lilypond-mode to render the combined chart and play to MIDI. Emacs aside, one challenge I can foresee is that if you're shuffling charts for individual drums, you're probably going to run into situations where your final chart requires you to play all three drums at once, or other awkward situations like insane polyrhythm. So you might need some sanity checking for your final output to make sure that it's actually playable before rendering.
fmou67 · 2022-10-21 20:15
Yeah, this is also something I foresee as a potential tricky point. But I think, given the way notes are written in lilypond, this should be faisible. I am not so good yet that I can play 5/8 on the left hand and 3/7 on the right one...so I will start with things that I can play, and all the rhythm are based mostly on multiples one from the others... and given the way notes are written in lilypond (note name + duration as a fraction of a whole-note... ) so with a bit of maths, some string concatenation (in order for simultaneous notes from separate charts to be played simultaneously in the final chart)... and a lot of patience... Why note!!!