Tutorial: Adding midis with custom menus and sub menus to Synthesia on Android

Collaborate with other modders to make Synthesia the way you want it.
Always the latest versions: [ colors.xml | ui.xml ]
Read the Getting Started topic to learn how important it is to MERGE YOUR CHANGES every time you download a new dev preview.
Post Reply
BadCase
Posts: 2

Post by BadCase »

Tutorial for adding songs and menus to Synthesia on Android

I will cover adding a large number of songs in a follow up tutorial, for now just the basics.

Tools Used:
APK Editor Pro (I am using version 1.10.0)
Solid Explorer https://play.google.com/store/apps/deta ... dexplorer2
Checksum MD5 & SHA https://play.google.com/store/apps/deta ... tech.tools
Synthesia APK https://apkcombo.com/synthesia/com.synthesia.synthesia/ (This is the current version that Android uses when installing via the Google Play Store)

First you need to prepare your midi files by naming them properly.

For Synthesia to handle them properly they should be named in the following format.

SongName.MD5_File_Hash_Sum.mid

it will look something like this.

Nocturne No1 Opus62.d9f33cf07d5e53a082c80bff649c1e1e.mid


Step 1:
Install APK Editor Pro
Install Solid Explorer.
Install Checksum MD5 & SHA.
Download but do not install the original Synthesia APK.

Step 2:
Open Checksum MD5 & SHA.
Navigate to your midi folder and select the midi you wish to add to Synthesia.
step 2 1.jpg
step 2 1.jpg (125.19 KiB) Viewed 8238 times
Press on the number in the MD5 field to copy it to your clipboard.
step 2 2.jpg
step 2 2.jpg (86.11 KiB) Viewed 8238 times
Open Solid Explorer and navigate to the folder the midi is in and rename it by long pressing the file then pressing the pencil at the buttom of the screen.

Add a "." followed by pasting the MD5 value from your clipboard and then finaly the ".mid".
step 2 3.jpg
step 2 3.jpg (169.05 KiB) Viewed 8238 times
step 2 4.jpg
step 2 4.jpg (300.9 KiB) Viewed 8238 times
step 2 5.jpg
step 2 5.jpg (180.54 KiB) Viewed 8238 times
Step 3:
Open APK Editor Pro.

Press the "Select and APK File"
step 3 1.jpg
step 3 1.jpg (121.22 KiB) Viewed 8238 times
navigate to your "Download" folder and select the Synthesia APK you downloaded.
step 3 2.jpg
step 3 2.jpg (129.97 KiB) Viewed 8238 times
Press "Full Edit (RESOURCE RE-BUILD)"
step 3 3.jpg
step 3 3.jpg (164.9 KiB) Viewed 8238 times
Press "Decode All Files".
step 3 4.jpg
step 3 4.jpg (140.52 KiB) Viewed 8238 times
Press "Files" the bottom of the screen.

Press the "assets" folder.
step 3 5.jpg
step 3 5.jpg (135.23 KiB) Viewed 8238 times
Press the "songs" folder.
step 3 6.jpg
step 3 6.jpg (131.84 KiB) Viewed 8238 times
Press and hold "music.zip untill a menu appears.
step 3 7.jpg
step 3 7.jpg (198.95 KiB) Viewed 8238 times
Press "Extract" and then "OK"

Step 4:
Open Solid Explorer and navigate to the music.zip file you just extracted.

If you already have a folder in this directory named "music" you should move the music.zip file into its own directory first

Press and hold on the file and then press the menu at the bottom with the "..."

Press "Extract"
step 4 1.jpg
step 4 1.jpg (235.21 KiB) Viewed 8238 times
Select the midi file you renamed and then press "Cut".
step 4 2.jpg
step 4 2.jpg (213.33 KiB) Viewed 8238 times
Open the "music" folder and press "Paste"
step 4 3.jpg
step 4 3.jpg (644.48 KiB) Viewed 8238 times
Press and hold on any of the midi files then press the first button in the upper right to select all files
step 4 4.jpg
step 4 4.jpg (653.85 KiB) Viewed 8238 times
Press the menu at the bottom with the "..."
step 4 5.jpg
step 4 5.jpg (619.24 KiB) Viewed 8238 times
Press "Archive"
step 4 6.jpg
step 4 6.jpg (618.22 KiB) Viewed 8238 times
Name the file "music.zip" and press "Create"
step 4 7.jpg
step 4 7.jpg (399.82 KiB) Viewed 8238 times
Step 5:
Switch back to APK Editor Pro.
Press and hold "music.zip" till a menu appears, press "Replace"
step 5 1.jpg
step 5 1.jpg (204.03 KiB) Viewed 8238 times
Go to the music folder you extracted and select "music.zip" from inside that folder
step 5 2.jpg
step 5 2.jpg (594.91 KiB) Viewed 8238 times
Step 6:
Press the button towards the top to go back a directory.

Press the "settings" folder
step 6 1.jpg
step 6 1.jpg (132.65 KiB) Viewed 8238 times
Press "metadata_gmajor.xml"
step 6 2.jpg
step 6 2.jpg (304.98 KiB) Viewed 8238 times
Scroll down to the bottom of the file.
step 6 3.jpg
step 6 3.jpg (905.4 KiB) Viewed 8238 times
Copy the text below

<Group Name="Main Menu Item">
<Group Name="Sub Menu Item">
<Song UniqueId="Your_Songs_MD5_HASH" />
</Group>
</Group>

Paste it directly above

</Groups>
</SynthesiaMetadata>
step 6 4.jpg
step 6 4.jpg (717.42 KiB) Viewed 8238 times
Edit the Name of "Main Menu Item" and "Sub Menu Item" then replace "Your_Songs_MD5_HASH" with the MD5 hash at the end of your midi name.

When you are done it should look somehing like this.
step 6 5.jpg
step 6 5.jpg (722.88 KiB) Viewed 8238 times
Step 7:
Press your devices back < button and press "SAVE" when prompted.
step 7 1.jpg
step 7 1.jpg (703.2 KiB) Viewed 8238 times
Now press "Build".

Upon completion an "Install" and possibly "Remove" button will appear (If Synthesia is already installed "Remove" if it is) now press the "Install" button.
step 7 2.jpg
step 7 2.jpg (109.54 KiB) Viewed 8238 times
Open Synthesia and you will see your new menus and song in the songs list
result 1.jpg
result 1.jpg (320.51 KiB) Viewed 8238 times
result 2.jpg
result 2.jpg (109.41 KiB) Viewed 8238 times
result 3.jpg
result 3.jpg (123.39 KiB) Viewed 8238 times
Nicholas
Posts: 13170

Post by Nicholas »

These are interesting tutorials; Android certainly seems to make things harder when it comes to simple file system operations.

That said, for this one there is an easier way than extracting things from the APK and then reinserting them.

If you simply make a file with a .synthesia extension someplace that Android is already scanning for MIDI files, it'll read the same <Group> information in automatically. It's part of the Synthesia metadata file format. No need to change the app itself. :D
Post Reply