Some Simple MIDI Recording Software

Joined
Feb 4, 2023
Messages
15
Reaction score
6
Greetings all,


I've made a few piano videos in my time, and the one thing I've always wanted to be able to do, was record the sound in MIDI. That way, I could play it through the keyboard over and over while I adjust the recording settings and refine the sound. Then I can just play the MIDI through the final settings, record it, and add it to the video.

Every time I have ever searched for a program to just simply record and playback MIDI events, it winds up being this huge software package, with mixers, score writing tools, and a host of other features I will never use. Even then, it will usually be either a trial, or an ad-based thing, or something janky and unreliable, or something that is just too complicated and tedious to use for simply recording and playing MIDI events. I eventually gave up, and it has been years since I even thought about this, to be honest.

Well, now I can write one, so here it is. Midian Record will record MIDI events and timestamps, play them back, save them to a MIDI file, or play an external MIDI file. It just records, plays and saves MIDI events, no adjustments, no features, no licence, no ads, no internet. Simple. Bloatless.

Unzip 'midianRecord v100.exe' and run it. It runs standalone. There's nothing to install. Just make sure your USB/MIDI drivers for your keyboard are installed on your computer. This software simply sends and receives MIDI signals, and reads and saves MIDI files. It cannot harm your computer. Select your input and output ports. Play something. Record it. Save it. Play it back and refine the sound. Sync it up with your video.

I'm not going to bother with handling every ridiculous program exception, so if a spicy someone wants to try and play a excel sheet through it or something, I can't stop them. The user will own the results of their using. That said,

By using this software, the user agrees with the following statements:

1. This software is offered for free and the author makes no claims as to its performance.
2. The author shall forever be held harmless for any results from this software's use or misuse.
3. Android Studio and Java are terrible and the author will not be asked to write this for Android.


Find it here:

https://drive.google.com/file/d/1zYA6Gmnx3Fpj8jj6_VfcucJszaB3aZmq/view?usp=sharing

This is the first release, which means I'll probably think of something to add soon after I release it. I'll update it as necessary.

I tested it well enough I think, but it's always possible I missed something. Reply below if you have any issues getting it to work. Reasonable issues mind you, not like, "Hey, it doesn't play my excel sheets".


Enjoy!


Iskaral Pust
 
Joined
Feb 4, 2023
Messages
15
Reaction score
6
Greetings all,


I added a dial to fine tune the playback speed. Use the up and down arrows on your keyboard to adjust the dial by 0.001, or use your mouse or scrollwheel to adjust it larger amounts. Double click the 'Playback Speed' text label to reset the dial back to 1.000.

If you have to line up with a 60 second audio track on the video, and the audio recorded from the MIDI is 60.25 seconds. Simply re-record the MIDI with a play speed of (60.25 / 60 = 1.004) to get a 60 second track.

I also added some GUI resizing stuff that probably no one will notice or care about, but I'm all happy knowing it's there. I just do this stuff for my own entertainment, after all.


Find the updated version 1.0.1 here:



Screenshot 2025-08-23 190610.png


Enjoy!


Iskaral Pust
 
Joined
May 30, 2023
Messages
4
Reaction score
2
This is an awesome tool! Thank you very much for making this small app. I agree everything out there is way too bloated. This is a simple way to capture a quick performance.

In fact, my piano tutor is coming over to show me a few blues licks today and I plan to capture them with your tool. I can then open the resultant MIDI files in a DAW to fine tune, transcribe to music and learn the parts etc. Awesome!!!

thank you thank you thank you!!
Simon
 
Joined
Feb 4, 2023
Messages
15
Reaction score
6
Hey, thanks for trying it out Simon! I am delighted that you can make use of it. I made an update detailed below. If you have any suggestions, let me know and I'll see what I can do.



Update details:

In previous versions, the recorder class had its own thread, and used a high performance counter that is sub-microsecond. However, the player class did not have its own thread, and its timer was not as good. I rewrote the player to have its own thread, and use the same counter the recorder does. I removed the speed dial to eliminate the calculation it had to perform while emitting messages. I was hoping for a better timed play output, and I think I got what I was after.

I did a test, and tried syncing the MIDI ouptut with a video over a span of four minutes. I slowed the video to 96.8%, and the audio clips from the video and the MIDI recording both lined up perfectly. Beginning, middle and end, even at maximum zoom. I can't account for the 96.8% scale factor, and I don't even know if that was from my program, Audacity, Kdenlive, or something in between. Even so, I am completely satisfied with the recording and playback accuracy of Midian Record.

Since the recorder class wasn't changed significantly, the recordings made with previous versions are still good. The player class was the weak link here. I even used a previous version's recording for the syncing test.



Find the updated version 1.0.2 here:


screenshot.png


Thanks again for the feedback Simon, I hope this update works for you.


Enjoy!


Iskaral Pust
 
Last edited:
Joined
Feb 4, 2023
Messages
15
Reaction score
6
Update #3:


Processor loads while using playback with the high performance counter were higher than the previous timer-based playback. Since I only need the high performance counter when I want to sync up the audio exactly to a video, I made the regular timer available for just regular use. I gave the regular timer its own thread, and I reconnected the speed dial. The Hi-Res button will toggle between Hi-Res playback and regular playback (the speed dial is disabled during Hi-Res playback).

Observed processor loads while using Hi-Res playback:

MS Surface Go 3 Tablet - Intel Pentium Gold 6500Y - Dual Core @ 1.10 GHz ~ 50% Load
MSI Gaming PC - Intel Core i7-14700F - 20 Core @ 2.10 GHz ~ 10% Load

Processor loads while recording and using regular playback were not even noticeable.


Find the new update here:


screenshot.png


Enjoy!

Iskaral Pust
 
Last edited:
Joined
Feb 4, 2023
Messages
15
Reaction score
6
At the moment, I do not have access to an iMac to compile it. But I do keep copies of all my projects on a USB stick with me, and I do know people with iMacs. So next time I visit one of them, I will try my best!
 
Joined
Feb 4, 2023
Messages
15
Reaction score
6
Hey Nakeyer, I didn't filter the messages at all, so it should record any event that comes through the selected Midi In port. Let me know if you have events that aren't being recorded, and I can look into it. Thanks!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
15,139
Messages
95,488
Members
13,786
Latest member
mikymuller

Latest Threads

Top