CHORDiUM (Mac OS X)

scorelessmusicscorelessmusic Member Posts: 565
edited November -1 in Announce Your Game!
I have released what might very well be the first GameSalad project on sourceforge.net :)

Introducing CHORDiUM, an application that transforms your computer keyboard into an interface for music-making! CHORDiUM is an open-source project created by Joash Chee and utilises GameSalad's ability to target the Mac OS X platform.

Watch a demo video here:

Application and source-code freely available (GNU GPL) at sourceforge, and all donations are more than welcomed!

Download: https://sourceforge.net/projects/chordium/

Comments

  • BarkBarkCoBarkBarkCo Member Posts: 1,400
    I meant to drop some love earlier, but I got sidetracked...

    This is pretty cool. I was playing with it last night and my wife asked me what I was listening to...lol.

    I would suggest adding a built-in tutorial of sorts explaining how things work, no?

    Anyway, great job!
  • scorelessmusicscorelessmusic Member Posts: 565
    Thanks! It's really only a 3 day build and I did it to put out a tech demo. I'll be adding a lot more features soon so just drop by the sourceforge site once in a while for updates :)

    If you happen to be interested in learning the piano online (for christian worship accompaniment), you can hop over to http://keyboardforworship.blogspot.com and check out my lessons there.

    In fact, I created CHORDiUM just so that I can screencast HD lesson videos for that site. :)
  • IntelligentDesignerIntelligentDesigner Member Posts: 517
    Scoreless, this is awesome! Do you plan to release your Mozart emulator, too? (Pretty Please...)

    Your biggest fan...
  • scorelessmusicscorelessmusic Member Posts: 565
    You know what, I think I will when I fix it up. I'm still not too happy with some portions of the code for Moz2Inf and need to find some time to really do something about it.
  • IntelligentDesignerIntelligentDesigner Member Posts: 517
    This is really great news! I love that app! I really look forward to seeing how you used GameSalad in such a creative way. This is big!
  • scorelessmusicscorelessmusic Member Posts: 565
    @barkbark00 (request for built-in tutorial)

    I spent a good portion of today doing up some tests to see the best possible way I can think of to do the built-in tutorials. GameSalad does have some interesting quirks when it comes to intercepting keystrokes :)

    Finally settled on having 3 Quick Help screens. Only one is used right now.

    Press and hold the CONTROL key to see a keyboard overlay of what has been implemented so far. Not quite a built-in tutorial yet but hopefully it gives users the power for better self-exploration for now.
  • FranzKellerFranzKeller Member Posts: 517
    Interesting... another music programmer here

    And why not? Who says it must be just for games ;-)
    An easy to use programming environment is a blessing for all

    Will definitely check this app out when I have time...
  • scorelessmusicscorelessmusic Member Posts: 565
    Definitely agree with you about the ease part @FranzKeller. :)

    And it might not just be because of the ease too. For music programmers, latency is killer and guess what? Based on some tests we ran with some other engines in Xcode / Obj-C that costs way more, GameSalad beat them nicely!

    I posted about this on the forums:

    http://gamesalad.com/forums/topic.php?id=1517#post-8528
  • netdzynrnetdzynr Member Posts: 296
    Scoreless, do you do anything special to trigger sounds in your music apps? I put together a musical toy for iPads using GS that runs background loop samples with tap-along music sounds. I found the latency to be significant enough that I scraped the project. Starting/stoping loops and triggering sounds needs to happen near instaneously and In my case GS didn't appear up to the task. I'm curious if you have any suggestions to minimize latency. Thanks.
  • scorelessmusicscorelessmusic Member Posts: 565
    Hi @netdzynr,

    CHORDiUM is open source so you can go ahead and download my project file from sourceforge to see what I did.

    http://sourceforge.net/projects/chordium/

    In a nutshell, I don't think I'm doing anything special. Based on my experience with Mozart to Infinity however, I suspect that your latency issues have to do with using GS timers. I assume this because you mention loops.

    For pure sound triggering, we did this "scientific" test...

    1. Do a simple code that does only one thing, play a sound when actor is touched
    2. Used Audacity on a laptop and recorded us tapping *hard* on the iPhone
    3. Looked at the corresponding wave file recorded. You can then measure the lag between the time your finger tapped the screen and the time the sound played

    Based on this test, we found GS to really be better than even FMOD (without massive and arcane tweaking).

    When it comes to using GS timers to loop, it seems like there is an 'initialization' lag for timers. There might be more documentation or even discussion topics on the forum regarding this.
  • scorelessmusicscorelessmusic Member Posts: 565
    Here's an interesting approach to working with timer(s).

    http://gamesalad.com/forums/topic.php?id=4546#post-27843

    I am going to experiment with using just one master timer as documented and see if this works out, at least for my global loopings with tempo.
  • netdzynrnetdzynr Member Posts: 296
    Hi scoreless -- actually there are no timers used my project. In theory, music and sounds are supposed to be able to loop by themselves simply by checking a checkbox so there's no need for a timer (maybe I didn't understand your comment). In any event, it occurred to me that you mentioned using touch, where I may be using mousedown+mouse inside -- perhaps that might make a difference. I'll take a look. Thanks.
  • scorelessmusicscorelessmusic Member Posts: 565
    Ah, I understand now how you are doing it. Using the Loop checkbox. I've done that before, but that requires your audio sample cut to precision and you cannot adjust the tempo of the loop (at least not without affecting pitch).

    I did update my findings on latency and looping:

    http://gamesalad.com/forums/topic.php?id=8582

    I hope to be able to release an early preview of NeuMET1K today to show what i believe to be an accurate loop triggering method in GS. Do watch for it! (open source too)
  • scorelessmusicscorelessmusic Member Posts: 565
    Ah! I just thought of a compromise + change in design philosophy that should allow me to keep coding CHORDiUM with GS! Here I go to push the limits of 'live' triggering on GS again! And it's thanks to stuff I discovered while doing NeuMET1K.

    Gotta sleep now, if not my batts are not recharged well enough to handle my twins during the night... until tomorrow then!
Sign In or Register to comment.