Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: catastropher on May 18, 2014, 02:06:54 pm

Title: Score - a program for editing music scores and playing them back
Post by: catastropher on May 18, 2014, 02:06:54 pm
As a lover of music, programming, and calculators, I'm always looking for ways to combine the three! Though I've wanted to do this forever, last week I finally decided to get to work on a program which allows you to enter notes in music notation, and play them back through the linkport! Currently, you can only enter quarter, eighth, and sixteenth notes, but it renders them using proper stem direction, note grouping, and ligature marks (the lines that connect eighth and sixteenth notes). Oh, and beats line up! Here are some screenshots of score in action (the inverted portion is where the cursor is):


(http://img.ourl.ca/score1.png)


(http://img.ourl.ca/score2.png)


(http://img.ourl.ca/score3.png)


Of course, I still have a lot of work to do, but I'm happy with how it's turned out so far. Right now, I need to fix the stem length for sixteenth notes, since the ligature marks can make the stem look too short (for example, second screenshot, first group of sixteenth notes, last note). Also, I need to add thirty-second notes and rests. And music playback is an eventual goal, which will use Ben Ryves's sound routines for 4-channel sound. But it's not bad for a start!  :)


Now, I have a question for music-savvy people. In the first screenshot, the first two eighth notes are connected by a ligature mark to the following four sixteenth notes. Is this correct, or should they be separated?
Title: Re: Score - a program for editing music scores and playing them back
Post by: Sorunome on May 18, 2014, 02:07:44 pm
This is looking awesome!
Was it made with assembly?
Title: Re: Score - a program for editing music scores and playing them back
Post by: pimathbrainiac on May 18, 2014, 02:16:32 pm
Now, I have a question for music-savvy people. In the first screenshot, the first two eighth notes are connected by a ligature mark to the following four sixteenth notes. Is this correct, or should they be separated?

They should be separated, assuming this is x/4 time, where x is anything.
Title: Re: Score - a program for editing music scores and playing them back
Post by: catastropher on May 18, 2014, 02:31:01 pm

This is looking awesome!
Was it made with assembly?
Thank you so much! :) Right now, it's written in C and compiled with tisdcc, but I'll probably hand-optimize the time-critical parts in assembly once I have everything working. I'd write it all in assembly, but I'm guessing that this will turn into a very large project. I may have to turn it into an app because I'll need enough RAM to hold the note data and the song data.


They should be separated, assuming this is x/4 time, where x is anything.
Thanks for the help! :) I'll have to modify the renderer to group them properly. So my guess is that they are grouped based on what beat they're on? I'll have to do some research into how grouping is done in irregular time signatures.
Title: Re: Score - a program for editing music scores and playing them back
Post by: pimathbrainiac on May 18, 2014, 02:34:55 pm
No, they're grouped based on what gets the beat. 6/8 is groups over the duration of 3 eighth notes, 4/4 over 2, etc.
Title: Re: Score - a program for editing music scores and playing them back
Post by: Sorunome on May 18, 2014, 02:40:59 pm
OH, nice, a program in C! Haven't seen one yet :P
Title: Re: Score - a program for editing music scores and playing them back
Post by: Streetwalrus on May 18, 2014, 02:41:37 pm
GlaßOS is in C. :P
Title: Re: Score - a program for editing music scores and playing them back
Post by: Sorunome on May 18, 2014, 02:42:35 pm
I thought it was asm O.O
Title: Re: Score - a program for editing music scores and playing them back
Post by: Streetwalrus on May 18, 2014, 02:43:22 pm
Nope, the author says he's not good enough for asm.
Title: Re: Score - a program for editing music scores and playing them back
Post by: chickendude on May 18, 2014, 04:06:06 pm
There's also Ti-Lib (http://www.yaronet.com/posts.php?s=158510) that deeph was working on, which includes a "C-ified" version of GBA lib (http://www.ticalc.org/archives/files/fileinfo/394/39478.html). You can see some examples of early versions of the library here (http://www.yaronet.com/posts.php?sl=0&s=138500&p=1&h=11#11).

And i thought that the first two 8th notes shouldn't have been connected to the 16th notes, but i wasn't sure. Either way it looks really great. How long does it take to render things? I imagine there are a lot of calculations and things going on behind the scenes... Great work so far :)
Title: Re: Score - a program for editing music scores and playing them back
Post by: GinDiamond on May 18, 2014, 07:45:09 pm
Dude, you are exactly like me. I love composing/playing music, calculators, and programming. Need any help with this project?
Title: Re: Score - a program for editing music scores and playing them back
Post by: Hayleia on May 19, 2014, 12:47:43 am
Yeah, another oncalc music editor :D
I was planning to add this layout to AudaciTI for musicians but only during holidays -.-

Anyway, good luck with your project :)