Back to home

Overwatch MIDI Pianist

click to copy
This game is archived.
If you with to unarchive it, click the "restore" button in the options menu.

Custom game mode




4 months ago

Last updated:
2 months ago

piano midi paris pianist song

Project Links

Share this workshop!


Overwatch MIDI Pianist

This gamemode uses dummy bots to play MIDI songs on the Paris piano. You can convert the contents of any MIDI file to arrays that the gamemode can read, with this MIDI converter.

Note that the code above only contains the base gamemode without any songs. However, you do not need to import it, you only need to paste in the settings from the MIDI converter. See below for example codes with songs.

If you have any feedback, or if you just want to say hello, you can contact me on Discord: ScroogeD#5147


  • Play up to a few minutes of any MIDI file
  • Simultaneously play up to 11 voices
  • Percussion instruments are automatically ignored
  • Notes outside the range of the Overwatch piano are automatically transposed up or down

Ingame controls

  • Interact (F): start and stop playing the song

You can control the speed at which the song is played:

  • Crouch+Primary Fire: Speed up by 5 %-points
  • Crouch+Secondary Fire: Slow down by 5 %-points

Note: the minimum time between two notes/chords is 0.064 seconds. If there are delays smaller than that, they are increased to 0.064s. Additionally, a negative speed value will make delays between all chords 0.064s.

You can easily remove all game sounds except the piano:

  • Host player only: Open the custom game lobby with L, then enter the custom game settings screen. (Optional: if you also want to see the bots playing, you can hide your HUD with Alt+Z)
  • Any player: Open the custom game lobby with L. Right click your player icon on the top right corner of the screen, and press Career Profile. (Optional: hide HUD with Alt+Z. Note that Esc -> Career profile also works, but doesn't allow you to hide your HUD.)

Example codes with songs

  • Pokemon Red/Blue trainer battle music: W6GKZC
  • Pokemon Gold/Silver champion battle music: J4W71
  • Pokemon Red/Blue gym leader music: 3AZJS
  • Pokemon Gold/Silver trainer battle music: ZKMPY
  • Pokemon Red/Blue wild battle music: CQMJS
  • Pokemon Red/Blue team rocket hideout music: ZNDHG
  • Pokemon Red/Blue champion battle music: 7XAAR

All Pokemon Red/Blue music above was transcribed by Mark Benis. The Gold/Silver themes were transcribed by me.

Known issues

See Known Issues on Github.


2 months ago 1.6.0

  • Changed the way the workshop plays back songs:
    • Songs should now play more accurately, especially ones with very rapid notes
    • Songs with the same key being played very rapidly will still not sound right due to limitations of the piano
  • Converter: set the minimum bot amount to 6 to ensure reasonably consistent playback
    • Adding more bots may improve the bots' accuracy when playing

click to copy
3 months ago 1.5.0

  • Changed the array structure; it is now possible to fit in longer songs (roughly 2x the previous maximum)
    • The script now automatically determines the maximum amount of data it can include
  • Removed loops

click to copy
3 months ago 1.2.0

  • Updated workshop codes for Overwatch retail patch
  • Added support for all Overwatch text languages

click to copy
4 months ago 1.0.0

This revision contains no notes

click to copy