Mordhau
 Seshn
  • Likes received 2
  • Date joined 18 May
  • Last seen 15 Aug

Private Message

Knight 685 1851

The Lutebot 2.0 Thread

This is it guys. The lutebot in a new and shiny version. What was originally a little project for a handful of alpha roleplayers has been heavily reworked to match the incredible release mordhau and its community just went through. I hope to be able to update and support it to bring the best out of mordhau's lute (and possible future instruments) for years to come using this new solid codebase and set of features.

See this new thread as a rework as well. Please read carefully through the guides below, they have been written by painstackingly collecting feedback from the new release users.

Join the bards guild discord server here to get troubbleshooting help, midis and more !

Check out this live midi input showcase, one of the novelties brought by the 2.0 :

Index

About

What's the lutebot ?

The lutebot is a third party software that can read midi files (.mid) and mimic their content to the best of its ability using the lute in game. It uses console commands to communicate with the game.

Is it safe ?

The lutebot is born from a cooperation with the devs. They created the console commands for the lute specifically for this usage and fully endorse it. Furthermore, the code is entirely public on github (check the download section).

I have heard from moderators that some people have been trying to blame the lutebot after getting banned for third party software usage (actual cheats). Rest assured that the lutebot won't get you banned.

How does it works ?

The lutebot is built on the C# midi library by sanford that you can get here. This library plays midi files for the lutebot, which then intercept midi events when thrown by the library and turn them into console commands.

The lutebot's interface is made using winform, a somewhat outdated yet time saving tool for simple window interfaces.

If you like the lutebot and wish to support it, you can help me by donating to my patreon
Reworking the lutebot and adding live midi input was only the beginning, I have more features planned for the future (more on that on my patreon page !). But this is a time consuming project, your support will let me put more time into it.

Download

You can get the latest lutebot version here

Or get access to the code directly on GitHub

Older versions :

Getting Started

Installation

Download and unzip the lutebot folder. As long as its content is intact, it will work regardless of where you put it.

Quick Setup

Start the lutebot by double clicking on LuteBot.exe. Click on options then on keybinding to open the keybinding menu.
From here, check the message displayed below the list of keybinds. It should look like this :

Capture.PNG

If it does, please Ignore the following section.

If this is not the message you're seeing, you need to manually set the path to mordhau's configuration file. Please do so by clicking on Mordhau Config then Mordhau Configuration Files then Set DefaultInput.ini Location. Then, select the file named DefaultInput.ini in your game folder. Its default location is :
C:\Program Files (x86)\Steam\steamapps\common\Mordhau\Mordhau\Config\DefaultInput.ini
If you selected the right file, the message below should look like the picture above.

Now that the lutebot knows where your mordhau settings are located, you may use the automatic configuration that will set the console both in game and in the lutebot to PageDown for you.
To do so, please click on Mordhau Config then on Automatic Configuration then on Set up.

Then press Apply to close the keybind window.

The lutebot's OpenConsole keybind should be set to Next, and the next time the game starts, pressing PageDown should open the console. Take a moment to check if this is your case.

How to operate

To play a midi file (.mid) on the lutebot, click on Load Midi File in the main window and select a file. If you selected a proper midi file, it's title should appear one the window, and the buttons Stop and Play Should be now accessible. Click on the play button and you should start hearing music.

To play this midi file using the in game lute, go in settings and turn off sound effects here :

Capture1 - Copie.PNG

Then go in game, have a lute equipped in your hands, and press + on the numpad (the default shortcut to play) to start playing.

Warnings :

  • Do not use the play button to play in game, always use the shortcut.
  • Do not attempt to open the console yourself, let the lutebot manage the console.
  • Do not try to jump or crouch while playing.
The lutebot should now be ready to operate. Consult the detailed guide for more, or the troubleshooting section if you're still encountering issues.

Detailed Guide

Main Window

Capture8.PNG

This is the main window of the lutebot that will always show while it is running. It is designed to look like a regular music player, displaying the elapsed and total time in the current song, a scrollbar that you can move around, a play/pause button and a stop button.

Clicking on the central button will let you manually load one midi file into the player.

The previous and next buttons will let you navigate in the playlist. They are only accessible if a playlist is currently active and it contains at least two tracks.

The Options button in the top left corner will let you access the settings and the keybind menu. The Window button next to it let you use the optional features of the lutebot described below. The focus button in the window menu will put all of the lutebot's windows back to the foreground, useful when having multiple windows open. Alternatively, clicking on the main window does the same.

Configuring the LuteBot

Settings

Capture1.PNG

The following settings affect which parts of the lutebot's interface will be open when starting the lutebot :
  • Show Playlist Menu on Startup
  • Show Soundboard Menu on Startup
  • Show Track Selection Menu on Startup
  • Show Online Sync Menu on Startup (unfinished)
  • Show Live Midi Input Menu on Startup

Sound effects : lets you switch between playing in game or playing using midi sounds (useful to try different instruments and tracks settings beforehand).

Automatic Console System : lets you change the way the lutebot interacts with the console.

  • Old : The big console will open once when you start playing, and close when you pause. This console mode prevents you from moving entirely when playing, and is slower (meaning that the note cooldown needs to be set much higher for it to work, 50 is recommended for this setting)
  • New : Opens the small console for each command. The small console closes automatically upon inputting one command, which allows the lutebot to input commands at a much faster rate. This is the recommended setting. Warning this setting won't work if the console key you're using for the lutebot can input characters (like Tilde). PageDown is recommended for this setting.
  • Off : the lutebot will not try to interact with the console at all. You have to manually open the big console before pressing play. Just like the old setting, it is slow and require a high note cooldown.

Note Conversion Mode : Turns on and off the note transposition feature. Due to the lute's limitations in game, the lutebot has a transposition system applied to notes outside of the lute's range. Turning it off and enabling sound effects lets you use the lutebot as a regular midi player. Useful to listen to original tracks before attempting tweaks.

Lowest Note ID : The lowest note id mordhau's lute supports. This setting should not be modified, please keep it to 0 at all times.

Note Count : The number of notes mordhau's lute supports. If mordhau's lute gets updated and receive more notes, you can set this setting so that the lutebot will take these changes into account.

Note Cooldown : This setting changes the cooldown in ms applied after a note has been played. 50 is recommended when using old or off console modes, while 30 or lower is recommended for the new console system.

You can check for updates in the bottom right corner of the settings window.

Keybinds

To change one of the lutebot's keyboard shortcuts, simply click on one of the keybind list's items and press the desired key to set the shortcut.
Do not forget to apply or your change won't be saved.

Here is a detail of all the keybinds and their functionnalities :

  • Play : Start/pause the current song.
    Next : Load the next song in the current playlist.Previous : Load the previous song in the current playlist.
    Ready : Currently unused (related to online sync).OpenConsole : Is used by the lutebot to open the console for you.
    *LiveMidiListen : Toggle listening to your selected midi input device.

As explained in the Getting Started section, the keybind menu is also capable of setting your console key properly for you. Please refer to this section for more details.

Features

Each of the main features have their own window, so that you can customize the lutebot's interface to your liking.

Playlist

Capture2.PNG

The playlist window lets you create a list of midi files that will be played one after the other. You can also skip to the previous or next song in the playlist using the buttons on the main window, or use the convenient keyboard shortcuts (/ and * on the numpad by default) to go from one song to the other without even leaving the game.

You can use the Add to Playlist button to add a midi file to the playlist.

You may also save the playlist as an xml file for later use using the Save Playlist button, and load a previously saved playlist using the Load Playlist button. Note that when you open the playlist window, it will automatically open the last playlist you saved.

Warning: Do not attempt to load a soundboard xml file as a playlist.

Soundboard

Capture3.PNG

The soundboard lets you create up to 9 song shortcut. Pressing the associated key will instantly start playing the associated song. Consider using this feature to avoid alt-tabbing to switch between songs. To modify a shortcut's keybind or song, simply right click on one of the 9 buttons.

Just like the playlist, the soundboard can be saved as an xml file, and loaded later. Opening the soundboard window will automatically load the last soundboard you saved.

Track Filtering

Capture5.PNG

The track filtering window lets you remove some complexity out of a midi file to make it sound better on the lute. Some midi files may contain a lot of instruments playing at the same time, which is undesired for mordhau's lute limitations.

You can tweak the content of a midi file simply by ticking boxes off to remove either instruments, or tracks. Tracks are a series of commands in midi files that may or may not contain notes, removing some might not have any effects depending on how the current midi was made.

When you think the tweak you applied suits your needs, simply press Save Song Profile to save your changes. As opposed to the soundboard and the playlist, you cannot choose where you save song profiles. They will be automatically stored in a folder and retrieved if they exists when a song is loaded (manually or using a playlist or soundboard).

Live Midi Input

Capture7.PNG

The live midi input window is the most important feature of this new version. It allows you to take full control of the lute using either a midi input device plugged to your computer, or your keyboard directly.

Check the drop down menu to see the list of available devices. Keyboard Mode will always show up in the list on top, any midi input device directly plugged into your computer will show under it.

Once you selected the device you wish to use, click on the listening button. Your inputs will only be taken into consideration when this button is green. You may also use the . (or del) key on your numpad to toggle it while in game.

Selecting Keyboard mode will allow you to simulate a midi input device using your computer keyboard. You can bind individual notes to each of the piano keys below by clicking on one then pressing the desired key. Pressing those keybinds while in the game and with listening enabled will play the corresponding notes.

You may use the - 1 Octave and +1 Octave buttons to change the note range the lutebot is focusing on. Pressing a key on your midi device that plays a note outside of the displayed range will automatically transpose that note to the range. Alternatively, checking the box below will causes notes outside of this range to be simply ignored.

Troubleshooting

Before reading this section, please read carefully through the quick start up guide first. Make sure you're operating the lutebot properly.

The lutebot immediately spam the chat and open the team selection menu when I press play

This typically happens when your console key isn't set properly. Check that the lutebot's OpenConsole bind in the keybinding menu is properly set to the key you use to open the console in game. To rebind the console key in game, please check the quick start up guide. Alternatively, you can consult the official discord (by typing !c console in any channel of the official discord) to know how to bind it manually.

Command not recognised appears in the console when playing

This can happen for multiple reasons, please refer to the two sections below for more information.

A character appears before every command, causing the command not recognised error

This happens because the key you have set your console to can input characters (like tilde writing ~). You need to use a key that cannot input characters, like PageDown.

The i is missing, equpmencommand is being written in the console, causing the command not recognised error

Check the keyboard windows is currently set to. Make sure it is set to qwerty (EN should appear on the taskbar), or azerty (FRA on the taskbar).
Any other keyboard type is officially untested thus support cannot be guaranteed.

The lutebot start spamming the chat and opening the team selection menu in the middle of a song

This can happen for various reasons. Make sure that you don't jump, crouch or sprint while playing the lutebot.

If this happens with the big console (console mode off or old) then you need to set the note cooldown higher than it is. 50 ms is recommended.

Midi Files

I will post here the various midi files that people have edited to work with the lutebot.

Thanks to @Fohshizle for his work, you can get his midi files (here)[https://drive.google.com/file/d/1RUTe3ZMlpDY8QTNVTorZbKCa4oSqHh88/view?usp=sharing]

Also try FloridaMan's Collection

Special Thanks

Marox :

For making the lutebot possible in the first place.

Milosh_Obilic :

For putting together the tutorial videos as well as the various showcases. Stay tuned for his modding work once the sdk drops!

My testers, JasonBourne, PlouPlou, Iodine, Madcow :

For helping me figure out what I lacked in music knowledge, and reporting various bugs since the first version.

10 4

Hey

I thought it might be a fun idea to make a midi file share thread since finding files that sound well in-game might be a bit tedious and editing the files yourself might be especially hard if you don't know anything about notes or how to edit midi files.


Essential Software
Official LuteBot 2.0 Thread

Anvilstudio Midi Editor
Alternative Sekaiju Midi Sequencer


MIDI Collection
My collection of midis, most of these won't sound good in game without editing

Collection of Edited Songs by Sumner

Huge Collection of Edited Songs by Seshn


You can also check out Seshn's LuteBot related thread with various resources here:
https://mordhau.com/forum/topic/16313/lutebot-midi-share-and-resources/

I'll keep this post updated and organized. All useful links and songs will be added here for convenience