• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: VG Music Studio (In Development)

Kermalis

White Hat
24
Posts
5
Years
  • Kermalis's VG Music Studio




    VG Music Studio is a music player and visualizer for the most common GBA music format (M4A/MP2K), Mario & Luigi: Superstar Saga, the most common NDS music format (SDAT), and a more rare NDS music format (DSE) [found in PMD2 among others].
    And the best part is it's open source: https://github.com/Kermalis/VGMusicStudio


    The "To Do" list is on the GitHub page.

    Pre-release downloads are found here: https://github.com/Kermalis/VGMusicStudio/releases
    The pre-releases may not be up to date with the code, so you may want to build the project yourself. The link to the code is: https://github.com/Kermalis/VGMusicStudio. Keep in mind that building in debug mode can make audio processing a lot slower than you might expect, so you will want to build in release mode unless you are bug-fixing or adding new features.
    If you have questions, want me to add a game to the default configuration, or want to help translate, you can find me on Discord at https://discord.gg/mBQXCTs (Kermalis#6459)
     
    Last edited:

    ps4star

    WITH A ROLLING PIN!
    11
    Posts
    8
    Years
    • Age 24
    • USA
    • Seen Nov 3, 2020
    Oh my god this is actually a dream (or rather, a thought) come true. The other week I was messing around with music hacking and was on a train of thought kinda like this: "you know, ASong and Sappy are both cool and useful in their own ways, but they both have problems and can't really be used simultaneously. I wish there were an 'all-in-one GBA music editor' for this". Very nice work!
     

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • Oh my god this is actually a dream (or rather, a thought) come true. The other week I was messing around with music hacking and was on a train of thought kinda like this: "you know, ASong and Sappy are both cool and useful in their own ways, but they both have problems and can't really be used simultaneously. I wish there were an 'all-in-one GBA music editor' for this". Very nice work!

    Thanks for the kind words, if you have any suggestions for me, I'm listening. I have more planned, and you can check the "To Do" list that I already have in the GitHub link in the main post.
     

    Le pug

    Creator of Pokémon: Discovery / Fat Kid
    870
    Posts
    10
    Years
  • Will this be easier to insert midi files for use? I get confused with sappy easily. Also, the keyboard is a neat feature ... will there be some sort of midi creation options so that we can make midi with the sound groups in the game? Or will that still be handled externally?
     

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • Will this be easier to insert midi files for use? I get confused with sappy easily. Also, the keyboard is a neat feature ... will there be some sort of midi creation options so that we can make midi with the sound groups in the game? Or will that still be handled externally?

    I plan on scrapping the need for converting MIDI to a .s file entirely by having you import MIDI files themselves (you can play them back and see how they sound before inserting them into the ROM itself [same goes for importing voice tables from a .SF2])

    I didn't plan on making a sort of music composition kind of thing, since that's really lots of work and not entirely necessary since there are lots of DAWs (digital audio workstations), however, there will be a track viewer where you view all of the events and you can double click one to edit the note or modulation or whatever you want to change. Creating a MIDI is miles simpler than using what I'd create here.

    EDIT: I also have plans for learning the NDS SBNK file format, which will allow importing of NDS voice groups right to GBA. That way everyone can have NDS music very easily with no issues (assuming track and DirectSound expansions have been made)
     
    Last edited:

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • I have updated the program on GitHub, here's how it looks now:
    joFBQMv.gif


    Each instrument has its own (configurable) color, which will show in the UI on the piano, in the voice number text and with the velocity bars
    The UI is also resizable, and the piano expands and detracts how many keys it has based on the window size

    I also fixed some bugs but it's not like anyone was having issues with them :P
     

    LukeeGD

    Mostly a Music Hacker
    50
    Posts
    6
    Years
  • For some reason, when I try to compile it, I get hundreds of errors... (a lot of it is CS1519, CS1513, CS1043, and CS0103) I don't really know on what I'm doing with VS 2015, so there's that.

    I just want to test saving the voicegroups to SF2, and other features. Voicegroups to Soundfonts will be very helpful for making music for the game. (so I can use it in FL Studio)

    I also have some feature requests (I might be asking for too much)
    - A built-in free space finder for base destination offset, with search options such as search from beginning of ROM, or begin from a specified offset
    - A way to mass-assemble MIDI/.s files, where base destination offsets are automated (works like above), and a way to specify the voicegroups of each (if not specified, will go to a default, which is also specified)
     
    Last edited:

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • For some reason, when I try to compile it, I get hundreds of errors... (a lot of it is CS1519, CS1513, CS1043, and CS0103) I don't really know on what I'm doing with VS 2015, so there's that.

    I just want to test saving the voicegroups to SF2, and other features. Voicegroups to Soundfonts will be very helpful for making music for the game. (so I can use it in FL Studio)

    I also have some feature requests (I might be asking for too much)
    - A built-in free space finder for base destination offset, with search options such as search from beginning of ROM, or begin from a specified offset
    - A way to mass-assemble MIDI/.s files, where base destination offsets are automated (works like above), and a way to specify the voicegroups of each (if not specified, will go to a default, which is also specified)

    Can you contact me on Discord? Kermalis#6459
    I'd like to know why you get errors building and I think I can help you sort it out...

    SF2 writing isn't completed yet; it doesn't save the instruments to a voice table -- just their samples for now. You wouldn't be able to use the Soundfonts at the moment.

    As for your suggestions, they're already both planned, as I've built music bases in C a few years ago and it is quite unnecessary to have to do that in my opinion :)
     
    Last edited:

    ps4star

    WITH A ROLLING PIN!
    11
    Posts
    8
    Years
    • Age 24
    • USA
    • Seen Nov 3, 2020
    Can GBA Music Studio export the samples as WAV? Because if so, you could create the SF2 files using Polyphone.
     

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • For those who aren't watching my GitHub, I have updated quite a lot:

    The program now supports multiple songtables, so if you have more than one, you can play from all of them without having to change configs

    I have added an ASM assembler, so you can play songs from .s files
    I have also added a MIDI converter, which will play .mid files in the program

    There's a track editor which allows you to view every event in a track. You can edit each event. There's also a button to change all voices of one type to another per track which is useful

    I have added instruments/presets to the SF2 exporter, so now you can play with voicegroups in a DAW

    If you want to try it, just go download the source at https://github.com/Kermalis/GBAMusicStudio and use Visual Studio to build it. There's no writing to ROMs whatsoever so you will not have to worry about making backups yet
     
    222
    Posts
    6
    Years
    • Age 22
    • Seen Nov 18, 2023
    I didn't plan on making a sort of music composition kind of thing, since that's really lots of work and not entirely necessary since there are lots of DAWs (digital audio workstations)

    You're right; we don't need a DAW in this tool. HOWEVER, one thing we do need is a screen to view each track's contents so we know what to cut/merge to get it to 10 tracks.

    Just a thought. Good luck! I'll be watching this closely.
     

    Kermalis

    White Hat
    24
    Posts
    5
    Years
  • You're right; we don't need a DAW in this tool. HOWEVER, one thing we do need is a screen to view each track's contents so we know what to cut/merge to get it to 10 tracks.

    Just a thought. Good luck! I'll be watching this closely.

    This was already made, I just forgot to mention it :S

    Anyway, I added a song position bar, so you can seek to any part of the song now
    I also added a way to use instrument mappings, and HGSS mappings come in the default config

    TuqCjN1.gif
     
    Last edited:
    2
    Posts
    6
    Years
    • Age 28
    • Seen Jun 29, 2023
    The current version no longer seems to build, throws


    Code:
    Error	CS1955	Non-invocable member 'ListView.DoubleBuffered' cannot be used like a method.	GBAMusicStudio	
    
    \GBAMusicStudio\UI\TrackEditor.cs	48	N/A

    By the way, awesome work on this tool so far! This has serious potential and as far as I'm concerned anything that could let me throw out Sappy for good would be glorious lol
     
    Back
    Top