generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripters
Home Search
 

Re: LUA MIDI. (In the works)

Previous Thread :: Next Thread 
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
04 Mar 2012 01:24 PM
So, I thought I'd finally post what some people have been waiting for. A program that actually plays a midi file if you put the hexadecimals in the right place. I don't really know how to explain in detail how to do it, but here's an example of what it can do. This program plays the Super Mario Brother's theme taken from VGMusic.


--Script by Gamehero. This is a fun little project that's still in the works.

file1 = "00 90 4C 40 10 80 4C 40 08 90 4C 40 10 80 4C 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4C 40 10 80 4C 40 20 90 4F 40 10 80 4F 40 81 30 90 48 40 10 80 48 40 38 90 43 40 10 80 43 40 38 90 40 40 10 80 40 40 38 90 45 40 10 80 45 40 20 90 47 40 10 80 47 40 20 90 46 40 10 80 46 40 08 90 45 40 10 80 45 40 20 90 43 40 10 80 43 40 10 90 4C 40 10 80 4C 40 10 90 4F 40 10 80 4F 40 10 90 51 40 10 80 51 40 20 90 4D 40 10 80 4D 40 08 90 4F 40 10 80 4F 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 47 40 10 80 47 40 38 90 48 40 10 80 48 40 38 90 43 40 10 80 43 40 38 90 40 40 10 80 40 40 38 90 45 40 10 80 45 40 20 90 47 40 10 80 47 40 20 90 46 40 10 80 46 40 08 90 45 40 10 80 45 40 20 90 43 40 10 80 43 40 10 90 4C 40 10 80 4C 40 10 90 4F 40 10 80 4F 40 10 90 51 40 10 80 51 40 20 90 4D 40 10 80 4D 40 08 90 4F 40 10 80 4F 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 47 40 10 80 47 40 68 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 44 40 10 80 44 40 08 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 38 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 54 40 10 80 54 40 20 90 54 40 10 80 54 40 08 90 54 40 10 80 54 40 81 00 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 44 40 10 80 44 40 08 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 38 90 4B 40 10 80 4B 40 38 90 4A 40 10 80 4A 40 38 90 48 40 10 80 48 40 81 60 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 44 40 10 80 44 40 08 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 38 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 54 40 10 80 54 40 20 90 54 40 10 80 54 40 08 90 54 40 10 80 54 40 81 00 90 4F 40 10 80 4F 40 08 90 4E 40 10 80 4E 40 08 90 4D 40 10 80 4D 40 08 90 4B 40 10 80 4B 40 20 90 4C 40 10 80 4C 40 20 90 44 40 10 80 44 40 08 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 38 90 4B 40 10 80 4B 40 38 90 4A 40 10 80 4A 40 38 90 48 40 10 80 48 40 81 30 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 20 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 4C 40 10 80 4C 40 81 48 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 20 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 4C 40 10 80 4C 40 08 90 4C 40 10 80 4C 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4C 40 10 80 4C 40 20 90 4F 40 10 80 4F 40 81 30 90 48 40 10 80 48 40 38 90 43 40 10 80 43 40 38 90 40 40 10 80 40 40 38 90 45 40 10 80 45 40 20 90 47 40 10 80 47 40 20 90 46 40 10 80 46 40 08 90 45 40 10 80 45 40 20 90 43 40 10 80 43 40 10 90 4C 40 10 80 4C 40 10 90 4F 40 10 80 4F 40 10 90 51 40 10 80 51 40 20 90 4D 40 10 80 4D 40 08 90 4F 40 10 80 4F 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 47 40 10 80 47 40 38 90 48 40 10 80 48 40 38 90 43 40 10 80 43 40 38 90 40 40 10 80 40 40 38 90 45 40 10 80 45 40 20 90 47 40 10 80 47 40 20 90 46 40 10 80 46 40 08 90 45 40 10 80 45 40 20 90 43 40 10 80 43 40 10 90 4C 40 10 80 4C 40 10 90 4F 40 10 80 4F 40 10 90 51 40 10 80 51 40 20 90 4D 40 10 80 4D 40 08 90 4F 40 10 80 4F 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 47 40 10 80 47 40 38 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 4F 40 10 80 4F 40 10 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 10 90 4A 40 10 80 4A 40 10 90 48 40 10 80 48 40 81 30 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 4F 40 10 80 4F 40 10 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 10 90 4A 40 10 80 4A 40 10 90 48 40 10 80 48 40 81 30 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 20 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 08 90 4C 40 10 80 4C 40 81 48 90 48 40 10 80 48 40 08 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 20 90 48 40 10 80 48 40 08 90 4A 40 10 80 4A 40 20 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 4C 40 10 80 4C 40 08 90 4C 40 10 80 4C 40 20 90 4C 40 10 80 4C 40 20 90 48 40 10 80 48 40 08 90 4C 40 10 80 4C 40 20 90 4F 40 10 80 4F 40 81 30 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 51 40 10 80 51 40 10 90 4F 40 10 80 4F 40 10 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 45 40 10 80 45 40 08 90 43 40 10 80 43 40 50 90 4C 40 10 80 4C 40 08 90 48 40 10 80 48 40 20 90 43 40 10 80 43 40 38 90 44 40 10 80 44 40 20 90 45 40 10 80 45 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 45 40 10 80 45 40 50 90 47 40 10 80 47 40 08 90 4D 40 10 80 4D 40 20 90 4D 40 10 80 4D 40 08 90 4D 40 10 80 4D 40 10 90 4C 40 10 80 4C 40 10 90 4A 40 10 80 4A 40 10 90 48 40 10 80 48 40 00 FF 2F 00"
file2 = "00 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 47 40 10 81 47 40 50 91 43 40 10 81 43 40 50 91 40 40 10 81 40 40 38 91 3C 40 10 81 3C 40 38 91 37 40 10 81 37 40 38 91 3C 40 10 81 3C 40 20 91 3E 40 10 81 3E 40 20 91 3D 40 10 81 3D 40 08 91 3C 40 10 81 3C 40 20 91 3C 40 10 81 3C 40 10 91 43 40 10 81 43 40 10 91 47 40 10 81 47 40 10 91 48 40 10 81 48 40 20 91 45 40 10 81 45 40 08 91 47 40 10 81 47 40 20 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 3E 40 10 81 3E 40 38 91 40 40 10 81 40 40 38 91 3C 40 10 81 3C 40 38 91 37 40 10 81 37 40 38 91 3C 40 10 81 3C 40 20 91 3E 40 10 81 3E 40 20 91 3D 40 10 81 3D 40 08 91 3C 40 10 81 3C 40 20 91 3C 40 10 81 3C 40 10 91 43 40 10 81 43 40 10 91 47 40 10 81 47 40 10 91 48 40 10 81 48 40 20 91 45 40 10 81 45 40 08 91 47 40 10 81 47 40 20 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 3E 40 10 81 3E 40 68 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 43 40 10 81 43 40 20 91 3C 40 10 81 3C 40 08 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 38 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 4D 40 10 81 4D 40 20 91 4D 40 10 81 4D 40 08 91 4D 40 10 81 4D 40 81 00 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 43 40 10 81 43 40 20 91 3C 40 10 81 3C 40 08 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 38 91 44 40 10 81 44 40 38 91 41 40 10 81 41 40 38 91 40 40 10 81 40 40 81 60 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 43 40 10 81 43 40 20 91 3C 40 10 81 3C 40 08 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 38 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 4D 40 10 81 4D 40 20 91 4D 40 10 81 4D 40 08 91 4D 40 10 81 4D 40 81 00 91 4C 40 10 81 4C 40 08 91 4B 40 10 81 4B 40 08 91 4A 40 10 81 4A 40 08 91 47 40 10 81 47 40 20 91 48 40 10 81 48 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 43 40 10 81 43 40 20 91 3C 40 10 81 3C 40 08 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 38 91 44 40 10 81 44 40 38 91 41 40 10 81 41 40 38 91 40 40 10 81 40 40 81 30 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 20 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 08 91 43 40 10 81 43 40 81 48 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 20 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 47 40 10 81 47 40 50 91 43 40 10 81 43 40 50 91 40 40 10 81 40 40 38 91 3C 40 10 81 3C 40 38 91 37 40 10 81 37 40 38 91 3C 40 10 81 3C 40 20 91 3E 40 10 81 3E 40 20 91 3D 40 10 81 3D 40 08 91 3C 40 10 81 3C 40 20 91 3C 40 10 81 3C 40 10 91 43 40 10 81 43 40 10 91 47 40 10 81 47 40 10 91 48 40 10 81 48 40 20 91 45 40 10 81 45 40 08 91 47 40 10 81 47 40 20 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 3E 40 10 81 3E 40 38 91 40 40 10 81 40 40 38 91 3C 40 10 81 3C 40 38 91 37 40 10 81 37 40 38 91 3C 40 10 81 3C 40 20 91 3E 40 10 81 3E 40 20 91 3D 40 10 81 3D 40 08 91 3C 40 10 81 3C 40 20 91 3C 40 10 81 3C 40 10 91 43 40 10 81 43 40 10 91 47 40 10 81 47 40 10 91 48 40 10 81 48 40 20 91 45 40 10 81 45 40 08 91 47 40 10 81 47 40 20 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 08 91 41 40 10 81 41 40 08 91 3E 40 10 81 3E 40 38 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4C 40 10 81 4C 40 10 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 41 40 10 81 41 40 08 91 40 40 10 81 40 40 50 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 08 91 4A 40 10 81 4A 40 20 91 4A 40 10 81 4A 40 08 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 10 91 47 40 10 81 47 40 10 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4C 40 10 81 4C 40 10 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 41 40 10 81 41 40 08 91 40 40 10 81 40 40 50 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 08 91 4A 40 10 81 4A 40 20 91 4A 40 10 81 4A 40 08 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 10 91 47 40 10 81 47 40 10 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 20 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 08 91 43 40 10 81 43 40 81 48 91 44 40 10 81 44 40 08 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 20 91 44 40 10 81 44 40 08 91 46 40 10 81 46 40 20 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 50 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 20 91 42 40 10 81 42 40 08 91 42 40 10 81 42 40 20 91 47 40 10 81 47 40 50 91 43 40 10 81 43 40 50 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4D 40 10 81 4D 40 10 91 4C 40 10 81 4C 40 10 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 41 40 10 81 41 40 08 91 40 40 10 81 40 40 50 91 48 40 10 81 48 40 08 91 45 40 10 81 45 40 20 91 40 40 10 81 40 40 38 91 40 40 10 81 40 40 20 91 41 40 10 81 41 40 08 91 48 40 10 81 48 40 20 91 48 40 10 81 48 40 08 91 41 40 10 81 41 40 50 91 43 40 10 81 43 40 08 91 4A 40 10 81 4A 40 20 91 4A 40 10 81 4A 40 08 91 4A 40 10 81 4A 40 10 91 48 40 10 81 48 40 10 91 47 40 10 81 47 40 10 91 43 40 10 81 43 40 08 91 40 40 10 81 40 40 20 91 40 40 10 81 40 40 08 91 3C 40 10 81 3C 40 00 FF 2F 00"
file3 = "00 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 43 40 10 82 43 40 50 92 37 40 10 82 37 40 50 92 37 40 10 82 37 40 38 92 34 40 10 82 34 40 38 92 30 40 10 82 30 40 38 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 20 92 36 40 10 82 36 40 08 92 35 40 10 82 35 40 20 92 34 40 10 82 34 40 10 92 3C 40 10 82 3C 40 10 92 40 40 10 82 40 40 10 92 41 40 10 82 41 40 20 92 3E 40 10 82 3E 40 08 92 40 40 10 82 40 40 20 92 3C 40 10 82 3C 40 20 92 39 40 10 82 39 40 08 92 3B 40 10 82 3B 40 08 92 37 40 10 82 37 40 38 92 37 40 10 82 37 40 38 92 34 40 10 82 34 40 38 92 30 40 10 82 30 40 38 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 20 92 36 40 10 82 36 40 08 92 35 40 10 82 35 40 20 92 34 40 10 82 34 40 10 92 3C 40 10 82 3C 40 10 92 40 40 10 82 40 40 10 92 41 40 10 82 41 40 20 92 3E 40 10 82 3E 40 08 92 40 40 10 82 40 40 20 92 3C 40 10 82 3C 40 20 92 39 40 10 82 39 40 08 92 3B 40 10 82 3B 40 08 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 37 40 10 82 37 40 38 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 38 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 30 40 10 82 30 40 38 92 34 40 10 82 34 40 38 92 37 40 10 82 37 40 08 92 3C 40 10 82 3C 40 20 92 4F 40 10 82 4F 40 20 92 4F 40 10 82 4F 40 08 92 4F 40 10 82 4F 40 20 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 38 92 37 40 10 82 37 40 38 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 38 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 30 40 10 82 30 40 20 92 38 40 10 82 38 40 38 92 3A 40 10 82 3A 40 38 92 3C 40 10 82 3C 40 38 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 20 92 30 40 10 82 30 40 38 92 37 40 10 82 37 40 38 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 38 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 30 40 10 82 30 40 38 92 34 40 10 82 34 40 38 92 37 40 10 82 37 40 08 92 3C 40 10 82 3C 40 20 92 4F 40 10 82 4F 40 20 92 4F 40 10 82 4F 40 08 92 4F 40 10 82 4F 40 20 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 38 92 37 40 10 82 37 40 38 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 38 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 30 40 10 82 30 40 20 92 38 40 10 82 38 40 38 92 3A 40 10 82 3A 40 38 92 3C 40 10 82 3C 40 38 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 20 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 43 40 10 82 43 40 50 92 37 40 10 82 37 40 50 92 37 40 10 82 37 40 38 92 34 40 10 82 34 40 38 92 30 40 10 82 30 40 38 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 20 92 36 40 10 82 36 40 08 92 35 40 10 82 35 40 20 92 34 40 10 82 34 40 10 92 3C 40 10 82 3C 40 10 92 40 40 10 82 40 40 10 92 41 40 10 82 41 40 20 92 3E 40 10 82 3E 40 08 92 40 40 10 82 40 40 20 92 3C 40 10 82 3C 40 20 92 39 40 10 82 39 40 08 92 3B 40 10 82 3B 40 08 92 37 40 10 82 37 40 38 92 37 40 10 82 37 40 38 92 34 40 10 82 34 40 38 92 30 40 10 82 30 40 38 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 20 92 36 40 10 82 36 40 08 92 35 40 10 82 35 40 20 92 34 40 10 82 34 40 10 92 3C 40 10 82 3C 40 10 92 40 40 10 82 40 40 10 92 41 40 10 82 41 40 20 92 3E 40 10 82 3E 40 08 92 40 40 10 82 40 40 20 92 3C 40 10 82 3C 40 20 92 39 40 10 82 39 40 08 92 3B 40 10 82 3B 40 08 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 32 40 10 82 32 40 38 92 35 40 10 82 35 40 08 92 37 40 10 82 37 40 20 92 3B 40 10 82 3B 40 20 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 10 92 39 40 10 82 39 40 10 92 3B 40 10 82 3B 40 10 92 3C 40 10 82 3C 40 20 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 50 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 32 40 10 82 32 40 38 92 35 40 10 82 35 40 08 92 37 40 10 82 37 40 20 92 3B 40 10 82 3B 40 20 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 10 92 39 40 10 82 39 40 10 92 3B 40 10 82 3B 40 10 92 3C 40 10 82 3C 40 20 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 50 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 2C 40 10 82 2C 40 38 92 33 40 10 82 33 40 38 92 38 40 10 82 38 40 20 92 37 40 10 82 37 40 38 92 30 40 10 82 30 40 38 92 2B 40 10 82 2B 40 20 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 20 92 32 40 10 82 32 40 08 92 32 40 10 82 32 40 20 92 43 40 10 82 43 40 50 92 37 40 10 82 37 40 50 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 32 40 10 82 32 40 38 92 35 40 10 82 35 40 08 92 37 40 10 82 37 40 20 92 3B 40 10 82 3B 40 20 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 38 92 36 40 10 82 36 40 08 92 37 40 10 82 37 40 20 92 3C 40 10 82 3C 40 20 92 35 40 10 82 35 40 20 92 35 40 10 82 35 40 20 92 3C 40 10 82 3C 40 08 92 3C 40 10 82 3C 40 08 92 35 40 10 82 35 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 20 92 37 40 10 82 37 40 08 92 37 40 10 82 37 40 10 92 39 40 10 82 39 40 10 92 3B 40 10 82 3B 40 10 92 3C 40 10 82 3C 40 20 92 37 40 10 82 37 40 20 92 30 40 10 82 30 40 00 FF 2F 00"
file4 = "00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 10 99 2A 60 10 89 2A 40 00 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 20 89 2A 40 28 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 08 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 20 99 2A 60 10 89 2A 40 38 99 2A 60 10 89 2A 40 08 99 2A 60 20 89 2A 40 10 99 2A 60 10 89 2A 40 00 FF 2F 00"

url = "http://www.roblox.com/asset/?id="
programs = {
{{"12857654",0.3,0,66,0.5},{"12857804",-7,67,71,0.5},{"12857664",-11.5,72,127,0.8}}, -- Banjo
{{"12857637",-3.9,0,64,0.5},{"12857660",-8.4,65,127,0.5}}, -- Banjo 2
{{"13114759",-6,0,127,0.5}}, -- ding
{{"19344667",3.8,0,127,0.5}}, -- bell
{{"15666462",-13.5,0,127,0.5}}, -- Beep
{{"13424334",-23.2,0,127,0.5}}, -- piccolo
{{"1089407",8.2,0,57,0.5},{"1089403",3.2,58,127,0.5}}, -- Electric Guitar
{{"13032199",8.2,0,57,0.5},{"13032178",3.2,58,127,0.5}}, -- Space Guitar
{{"10209668",6.5,0,127,0.5}}, -- synth sound 1
{{"11998777",12,0,127,0.5}}, -- synth sound 2
{{"11998796",4.8,0,127,0.5}}, -- synth sound 3
{{"13019281",11.2,0,127,0.5}}, -- Ninja Guitar (Twang Twang!)
{{"13019300",11.3,0,127,0.5}}, -- Ninja Guitar (T-T-Twang Twang!)
{{"12892216",-7,0,127,0.5}}, -- Jungle Guitar
{{"rbxasset://sounds//bass.wav",11.8,0,127,0.5}}, -- Bass
{{"rbxasset://sounds//uuhhh.wav",12.2,0,127,0.5}}, -- Robloxian Death
{{"rbxasset://sounds//button.wav",6.7,0,127,0.5}}, -- Button
{{"rbxasset://sounds//electronicpingshort.wav",-21.7,0,127,0.5}}, -- Ping!
{{"rbxasset://sounds//Kid saying Ouch.wav",-29,0,127,0.5}}, -- 'Ouch'
{{"11984351",-7.2,0,127,0.3}}, -- Long Destructive Synth
-- v V Drumset V v
{{"31173844",0,60,60,0.5},{"31173863",-1,61,61,0.5},{"31173881",-2,62,62,0.5},{"31173881",-6,63,63,0.5},
{"31173820",24,36,37,0.5},{"31173799",22,38,38,0.5},{"31173898",-6,66,66,0.5},
{"31173771",-7,67,67,0.5},{"21341252",-8,68,68,0.5},{"31173735",-9,69,69,0.5},
{"rbxasset://sounds//snap.wav",28,70,70,0.5},{"rbxasset://sounds//snap.wav",32,28,28,0.5},{"rbxasset://sounds//snap.wav",32,42,42,0.5},
{"rbxasset://sounds//splat.wav",-11,71,71,0.5},{"rbxasset://music//ufofly.wav",-12,72,72,0.5},{"11113679",-13,73,73,0.5}},
-- Horror SFX v v v
{{"13061809",-2,56,64,0.5},{"13061802",-10,65,74,0.5},{"13061810",-23,75,84,0.5},{"11984254",-34,85,127,0.5},
{"rbxasset://sounds//HalloweenThunder.wav",8,48,55,0.5},{"rbxasset://sounds//HalloweenGhost.wav",27,0,47,0.5}},
{{"21338895",0,0,127,0.5}}}

-- gets put in locally.

tempo = workspace:findFirstChild("Tempo")

if tempo == nil then
tempo = Instance.new("IntValue")
tempo.Parent = workspace
tempo.Value = 20
tempo.Name = "Tempo"
end

notecommand = 0
waitcommand = 0
sounds = {}
release = 0.1
m = Instance.new("Hint")
m.Parent = workspace


function PlayChannel(channel,volume,program,file)

local step = 0
local Wait = 0
local notecommand = 0
local waitcommand = 0
local dowait = true
local waitbyte = 0
local reading = false

noteval = 0
local startwaiting = false
local finalwaitbyte = 0
program = program+1

for w in string.gmatch(file,"%x+") do
--print(w)
m.Text = "Sound items in table: " .. tostring(#sounds)
--wait(0.5)
wnum = tonumber("0x" .. w)

if dowait == true then -- WAIT COMMAND @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
waitcommand = waitcommand+1

mathwait = (wnum-128)*128
if wnum < 129 and waitcommand == 1 then
--print("Short wait")
waitcommand = waitcommand+1
end
--print("Wait command = " .. waitcommand)
if waitcommand == 1 then
waitbyte = mathwait
--print("Note command1 " .. waitbyte)
end
if waitcommand == 2 then
finalwaitbyte = waitbyte+tonumber("0x" .. w)
waitbyte = 0
--print("Wait CLICKS: " .. finalwaitbyte)
startwaiting = true
end
end


if dowait == false then
if reading == true then
if lastcommand == 144+channel then
notecommand = notecommand+1
if notecommand == 1 then
noteval = tonumber("0x" .. w)
print("Note pitch = " .. noteval)
end
if notecommand == 2 then -- BEGIN PLAYING!!!
--print("Note velocity = " .. tonumber("0x" .. w))
notecommand = 0
reading = false
if noteval >= 0 and noteval <= 127 then -- If pressed a note key.

-- Program read here..
--print("Find program")
if programs[program] ~= nil then
--print(programs[program][1])
for v,prog in ipairs(programs[program]) do
if noteval >= prog[3] and noteval <= prog[4] then
--print(prog[1])
mathpitch = 2^((noteval-60+prog[2])/12) -- Pitch Perfect Formula

if string.sub(prog[1],1,1) ~= "r" then
soundid = url .. prog[1]
else
soundid = prog[1]
end
--if s ~= nil then
--s:play()
--end
s = Instance.new("Sound")
s.Parent = workspace
s.SoundId = soundid
--m.Text = soundid
s.Pitch = mathpitch
s.Volume = (prog[5]*(volume))/127
table.insert(sounds,s)
table.insert(sounds,noteval)
table.insert(sounds,1) -- note on
table.insert(sounds,0.5) -- delay
end
end
else
print("No program found!")
end
end
end
end


if lastcommand == 128+channel then
notecommand = notecommand+1
if notecommand == 1 then -- NOTE OFF
print("Note off! is there a note on? " .. notecommand)
for i=1,#sounds,4 do
--print(sounds[i+1],lastcommand)
if sounds[i+1] == tonumber("0x" ..w) then
print("Stopping a sound...")
sounds[i+2] = 0
end
end
end

if notecommand == 2 then
notecommand = 0
--print("End at velocity " .. w)
reading = false
end

end
if lastcommand == 255 then
print("Doy = " .. tonumber("0x" .. w))
end
end
end

if wnum == 144+channel and reading == false then
reading = true
--print("Note on!")
lastcommand = wnum
end

if wnum == 128+channel and reading == false and dowait == false then
reading = true
--print("Note off!")
lastcommand = wnum
end

if wnum == 255 and reading == false then
reading = true
print("End?")
lastcommand = wnum
end

if reading == false and dowait == false then
dowait = true
end

if waitcommand == 2 then
dowait = false
waitcommand = 0
end
while step < finalwaitbyte do
wait()
--print(step)
step = step+(tempo.Value/4)
end
step = step-finalwaitbyte
--print("Step wait: " .. step)
finalwaitbyte = 0
end

end

--[[ Programs:

000 Banjo
001 Dry Banjo
002 Ding
003 Bell
004 Beep
005 Piccolo
006 Electric Guitar
007 Space Guitar
008 synth sound 1
009 synth sound 2
010 synth sound 3
011 Ninja Guitar (Twang Twang!)
012 Ninja Guitar (T-T-Twang Twang!)
013 Jungle Guitar
014 Bass
015 Robloxian Death
016 Button
017 Ping!
018 'Ouch'
019 Destructive Synth Thing...
+ = Drumset
+ = Horror
]]

-- If some instruments don't play, the problem will be here.
thread = coroutine.create(PlayChannel)
coroutine.resume(thread,0,127,4,file1)
thread2 = coroutine.create(PlayChannel)
coroutine.resume(thread2,1,60,4,file2)
thread3 = coroutine.create(PlayChannel)
coroutine.resume(thread3,2,60,4,file3)
thread4 = coroutine.create(PlayChannel)
coroutine.resume(thread4,9,60,20,file4)

while true do
wait()
m.Text = #sounds
for i=1,#sounds,4 do
if sounds[i+3] ~= nil then
sounds[i+3] = sounds[i+3]-0.25

if sounds[i+3] == 0 then
sounds[i]:play()
end

if sounds[i+3] <= 0 then
if sounds[i+2] == 0 then
sounds[i].Volume = sounds[i].Volume- release
if sounds[i].Volume == 0 then
sounds[i]:remove()
--print("removing sound from table: " .. tostring(sounds[i]))
table.remove(sounds,i)
--print("removing pitch finder value: " .. sounds[i])
table.remove(sounds,i)
--print("removing mode value: " .. sounds[i])
table.remove(sounds,i)
--print("removing delay value: " .. sounds[i])
table.remove(sounds,i)
end
end
end
end
end
end


Report Abuse
YodaimeKing is not online. YodaimeKing
Joined: 01 Nov 2009
Total Posts: 3961
04 Mar 2012 01:40 PM
:D
Report Abuse
GiveMeProfileViews is not online. GiveMeProfileViews
Joined: 03 Feb 2011
Total Posts: 135
04 Mar 2012 01:43 PM
ur jeneis
Report Abuse
MeBilly8440 is not online. MeBilly8440
Joined: 27 Jul 2009
Total Posts: 2783
04 Mar 2012 01:58 PM
I BOW DOWN TO YOU, MASTER! How many noobs would you like cooked?
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
04 Mar 2012 02:52 PM
Thanks for the feedback guys. lol XD
It wasn't hard once I figured out the basics on how midi works.

@MeBilly8440 Doesn't matter, as long as they taste good.
Report Abuse
MeBilly8440 is not online. MeBilly8440
Joined: 27 Jul 2009
Total Posts: 2783
04 Mar 2012 02:55 PM
^

Fantastic, I'll go get the BBQ sauce!
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
04 Mar 2012 06:43 PM
Project Update:

Currently working on mapping the drums correctly to match as close to GeneralMidi as possible. There's 46 drum notes with very little sounds to choose from.. Heheh... :/

I also plan to get pitch bends and note velocities working, or continue adding more instruments once I find them.


Oh, I should probably release my instrument tuner/tester tool I'm currently using for you guys to try out too. No? :o
Report Abuse
booing is not online. booing
Joined: 04 May 2009
Total Posts: 6594
04 Mar 2012 06:45 PM
If you made this, then...
+9001^1337 respect
Report Abuse
Quenty is not online. Quenty
Joined: 03 Sep 2009
Total Posts: 9316
04 Mar 2012 06:58 PM
Brandonhare and Blobbyblob are about to raeg. Then we argue again.
Report Abuse
Ozzypig is not online. Ozzypig
Joined: 27 Mar 2008
Total Posts: 4906
04 Mar 2012 07:18 PM
*twitch*
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
04 Mar 2012 08:45 PM
@booing
Yeah.. I coded it. But it took less time than I thought to get it working. ^^

@Quenty
Well, I know Brandonhare wanted a script like this posted. Unless I misread that post of his. As for Blobbyblob, I don't know.. I keep thinking these guys are my old friends.

@Ozzypig
*head tilt* (Gamehero doesn't know what to think of this post. XD)
Report Abuse
HotThoth is not online. HotThoth
Forum Moderator
Joined: 24 Aug 2010
Total Posts: 1176
05 Mar 2012 01:16 PM
cool stuff! now I just need to find a MIDI for Zelda OOT's Song of Storms...
Report Abuse
pighead10 is not online. pighead10
Joined: 03 May 2009
Total Posts: 10341
05 Mar 2012 01:32 PM
We already have this forum brandonhare and blobby

but okay
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
05 Mar 2012 01:40 PM
@HotThoth
Thanks!
Sorry if the program causes you trouble to make it play properly. I have yet to make it user friendly. I also have no instructions or tutorials yet either. D:
Report Abuse
JulienDethurens is not online. JulienDethurens
Joined: 11 Jun 2009
Total Posts: 11046
05 Mar 2012 02:37 PM
@HotThoth

Couldn't you devs make the life easier for users that want to make MIDI stuff by uploading the sounds they need?
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
05 Mar 2012 06:00 PM
Project Update:

I'm done with the drums for now. It's not finished due to lack of samples, but the most common ones are in. I also got note velocities working, and figured out how pitch bend data is handled. I got it working in the instrument tester tool.

But now I'm debating or not if I should do a complete overhaul of the whole script. string.gmatch() might not be the way to go on this sort of thing. In fact, I'm positive. So I'll probably be using good ol' string.sub() instead.
Report Abuse
Quenty is not online. Quenty
Joined: 03 Sep 2009
Total Posts: 9316
05 Mar 2012 06:39 PM
@HotTroth

http://www.roblox.com/My/Sets.aspx?id=505090
http://www.roblox.com/My/Sets.aspx?id=369454
http://www.roblox.com/My/Sets.aspx?id=264733

About 100+ songs, about 20 are Zelda.
Report Abuse
YodaimeKing is not online. YodaimeKing
Joined: 01 Nov 2009
Total Posts: 3961
05 Mar 2012 07:57 PM
"Hexadecimal :D, I think its a bruno mars song :o"

I tried to post the writing and the forums wouldn't allow me two. Such spam hexadecimal scripts are :D
Report Abuse
YodaimeKing is not online. YodaimeKing
Joined: 01 Nov 2009
Total Posts: 3961
05 Mar 2012 07:57 PM
Writings*
Report Abuse
EMAN381Fan is not online. EMAN381Fan
Joined: 12 Feb 2009
Total Posts: 112
06 Mar 2012 10:57 AM
*brain explodes from first variable*
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
06 Mar 2012 02:54 PM
@eman381fan
Don't worry, I didn't write that first variable. lol XD
That's just part of the midi file taken from my computer.

Project Update:
Things are running smooth I guess. I'm currently making the program easier to paste midis in. Finished the header part, and got the program to find the channel starting points correctly. Now for Meta Events... You know, like tempos, track names and anything else I'm forgetting to finally reach what I programmed already. X_X
Report Abuse
Aaaboy97 is not online. Aaaboy97
Joined: 05 Apr 2009
Total Posts: 6612
06 Mar 2012 03:33 PM
Great way (in normal Lua) to grab the first variable from a midi

local file = io.open(".mid", "rb")
local binary = file:read("*all")
local hex = ""

string.gsub(binary, ".", function(a)
hex = hex .. string.format("%X ", tostring(string.byte(a)))
end)

Place the file path in the first string
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
07 Mar 2012 03:16 PM
@Aaaboy97
Hmm, that should help some people.


Project Update:
I feel like screaming: "IT'S ALLLIIIVEEEEEEEE" Because I pretty much nuked the old script and it took forever to see it working again. But it is soooo much better now. Anyway, here's the new script.

http://www.roblox.com/Midi-Player-1-9-item?id=74202954

Added a volume mixer table near the top of the code.
Added Velocity Control.
Added Pitch Bend Control.
Made it so much easier to add midis to lua. Just copy the whole midi over. Rather than part of it.
Remapped the Drums.
Added Reverb.

.... Probably forgot something less importaint.


I might add a gui to make things easier now. Where you can change the instruments and tweak the volumes in real time. But maybe it's just me who wants that. =P
Report Abuse
gamehero is not online. gamehero
Joined: 12 Jun 2007
Total Posts: 1455
12 Mar 2012 12:25 PM
Well, I'm back with some more updates. I still have a lot of problem solving to do on this. Some of those Midi documentations aren't much help either. Anyway, as said in the link at the bottom:

-Added a GUI Mixer to tweak the volumes with in real time.
-Combined the Midi Tester/Tuner Tool with this.
-Added a readme object briefly on how to work this thing.
-I also made the Midi Player script a LocalScript for Online Mode. I have no idea if it lags less on it though.

I think I forgot to meantion before that you can change the instrument samples much easier than my first post. No big deal. Maybe..


http://www.roblox.com/MIDI-Player-Set-LATEST-VERSION-item?id=74622721
Report Abuse
darkpikachu23 is not online. darkpikachu23
Joined: 20 Oct 2010
Total Posts: 15472
12 Mar 2012 02:08 PM
Grrrr. Curse your 1337 scripting skills. I'm only a begginer :(
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image