LenweSaralonde / Musician

Add-on for World of Warcraft to perform music in game.
https://musician.lenwe.io
GNU General Public License v3.0
11 stars 4 forks source link
addon midi misc miscellaneous music player roleplay rp world-of-warcraft world-of-warcraft-addon wow

Musician

For the first time in World of Warcraft, your character can literally become a bard!

Play music for you and the other players, from MIDI files or live, using 22 instruments and 2 percussion sets from various styles: medieval, celtic, folk, tribal and heavy metal. 🤘

Quick links

Un Guide en français est également disponible. 🇫🇷🥖🍷

tl;dr

Left-click on the minimap button to open the main menu.

Type /mus help in the chat window to get the command list.

How to listen to music

All you need is to have the add-on installed. Nothing more is required.

Nameplate animations

How to play music

Musician plays music files in MIDI format. MIDI files have a .mid, .midi or .kar extension and do not contain any sound like MP3s, but a sequence of notes. This is why a MIDI file sounds differently according to the software or musical instrument it's played on.

💡 You can find millions of MIDI files very easily by searching for MIDI + music genre/title/etc. on Google. I also made a selection of cool music files you can try with the add-on.

⚠️ Don't try to convert audio files such as MP3s or YouTube videos into MIDI, the result will be disappointing. This is a tedious work that can only be done manually by experienced musicians.

How to play a song

  1. Open the MIDI import tool located at musician.lenwe.io/import in your web browser. (You can also find the import tool in the Interface/AddOns/Musician/MidiConvert folder.)
  2. Drag and drop a MIDI file.
  3. Copy the generated music code by clicking the Copy button.
  4. Back in WoW, left-click on the minimap button to open the main menu then choose Import and play a song to open the main window (or type /music).
  5. Click the Select all button then paste the music code in the edit window (Ctrl+V or CMD+V on Mac).
  6. Click Play.

Main window

Save and load songs in game

Songs can be saved and loaded back in game using the optional add-on MusicianList.

Play as a band

Songs can be played in sync as a band, in which each member is playing a different part.

To allow synchronized play, all band members should be grouped in the same party or raid and have the same song loaded into Musician.

Use the Link/Export button Link button to share songs with your band members.

  1. Load the same song as the other members of the band from MIDI, from the list or from a song chat link.
  2. Open the Song Editor then check Solo for the tracks you want to play with your character. Adjust other track settings as you like.
  3. Click the Play as a band button Play as band button when you're done (the green LED starts blinking).
  4. When every member is ready, the band leader clicks the Play button for synchronized start (the green LED turns on).
  5. Song stops playing if the band leader clicks the Stop button.

Remarks:

Play live

Live Mode literally turns your computer keyboard into a piano.

Click Open keyboard in the main menu or type /mus live to open the live keyboard.

Configure the keyboard

Before using the keyboard for the first time, you have configure it to determine its physical layout.

This process is straightforward and takes approximately 30 seconds to complete, just follow the on-screen instructions.

Configuration example for the US keyboard

The live keyboard

The live keyboard consists in two layers, Upper and Lower, respectively the two first and two last rows of your keyboard (or the right and left side, depending on the layout used). Each layer has its own instrument setting so 2 different instruments can be played at the same time or the same instrument can be set to both layers to take advantage of the full keyboard.

Various keyboard layouts are available, including simplified ones with limited notes but a wider range of keys.

The space bar acts like the sustain pedal of a piano.

In Live Mode, the other players hear you playing while in Solo Mode, you play for yourself. In Live Mode, keep in mind that if you hear the sound playing instantly at the press of the key, the other players will hear it after a slight delay of approximately 2 seconds.

The keyboard settings can be saved in 12 program slots, accessible using the 12 Function keys:

The live keyboard

Play as a band

It's possible to play as a band in Live Mode. All the members of the band should be grouped in the same party or raid.

Click the Play live as a band button Play live as a band button on the live keyboard window to turn on the synchronization. In counterpart, this may result in some latency so you won't be able to play fast paced songs in this mode.

Use the Solo Mode if you need to do some adjustments you don't want the other members of the band to hear.

Enable nameplates to see who is playing what.

Play with a MIDI keyboard

There is no support for MIDI keyboards in World of Warcraft. However, it's possible to emulate keystrokes with a MIDI keyboard using third party software. Check out the Musician MIDI add-on to learn how to achieve this.

Song editor

Some basic modifications can be made to the imported song in the song editor, which is accessible from the Edit button or the main menu:

The song editor also shows some information about the tracks (MIDI instrument, start and end points, number of notes…) and the activity while the song is playing. Click the track start or end point time code to reach it in the timeline.

You can still change the track settings of the song currently playing by clicking the Synchronize track settings button Synchronize track settings button as long as you have the same song loaded in the editor.

Song editor

Share your songs with the other players

Songs can be shared with other players as links to be posted into the chat. Click the Link or Export button Link button, set a title and you're done!

The links remain active until you log out or reload the interface.

Cross-faction play

Cross-faction (and cross-realm) music can be achieved on WoW Retail through the Cross RP add-on by Tammya-MoonGuard.

This add-on is very straightforward, just install it and it works!

Cross RP relies on a peer to peer network established by the players who run it so the faction/realm you want to play with may not be always reachable. Feel free to encourage other players to install Cross RP and expand the network!

You can see what realms and factions you're connected to in Musician's options or by mousing over the Cross RP minimap button.

Cross-faction play with Cross RP

Integration with role-playing add-ons

Musician integrates with role-playing add-ons Total RP and MyRolePlay to benefit from some of their features, such as roleplaying character names and tooltips.

Total RP's map scan feature shows players who also have Musician with a 🎵 icon. The icon blinks for players who are currently playing music.

Total RP map scan

In addition, the Total RP Extended plugin allows you to export your songs as sheet music items that can be traded with other players. Click the Export button to create one.

Total RP Extended item exportTotal RP Extended item in bag

Tips and tricks

Compose your own music

You can compose music for Musician using any MIDI sequencer such as MidiEditor (free and cross-platform).

The 18 melodic instruments available are:

Percussions:

The other instruments are mapped to the closest-sounding instrument among the ones available (violin → fiddle, guitar → lute etc.).

The drum kits are replaced by traditional percussions such as a bodhrán (frame drum), a tambourine and a shaker. A standard drum kit is also available for heavy metal songs.

Check the full mapping in Musician.MidiMapping.lua for details.

Unfortunately, due to limitations of the WoW UI, velocity and controls (volume, padding, pitch bend, modulation…) are not supported. The polyphony may be limited for some players, try to avoid songs having more than 12 simultaneous notes.

Limitations and known issues

Musician has several issues that are due to limitations of the World of Warcraft API. Unfortunately, these can't be fixed but there are some tricks you can do to work around them:

Support

If you like Musician and want to support its development, the best you can do is to spread the word and invite your friends to install it! ❤️

You can also toss a coin to your developer on Patreon or Paypal.

🙏 Special thanks to the official supporters of the project: