Coder Social home page Coder Social logo

keppysoftware / kmc Goto Github PK

View Code? Open in Web Editor NEW
117.0 13.0 21.0 28.8 MB

A fully functional MIDI to WAV/OGG converter.

Home Page: https://www.youtube.com/channel/UCJeqODojIv4TdeHcBfHJRnA

C# 78.95% Inno Setup 8.92% Batchfile 1.22% Rich Text Format 10.91%
midi-converter wav bassmidi keppy

kmc's Introduction

Keppy's MIDI Converter (Abandoned)

SonoSooS is currently rewriting it from scratch.


A fully functional MIDI to WAV converter, for FREE!

Keppy's Updates Server on Discord

I also post my updates on Discord, to keep everyone up-to-date 24/7! Join now here: https://discord.gg/jUaHPrP

I want to contribute with a translation!

Click this link and follow the guide.

Can I use your program's source code for my program?

Sure you can, but there are a few "rules" you need to follow.

What you can do:

  • Take parts of the code, and use it on your apps. (As long as you credit me, BASS.NET and Un4seen.)
  • Share the code on websites outside of the GitHub world. (Again, same as before.)
  • Create ports of the converter for other operating systems, such as Linux, Mac OS X, Amiga etc... Any other O.S. other than Windows. Mobile ports are allowed too. (See down below for further explanations.)

What you can't do:

  • Clone the source code of the converter, and change its name to "(Your name)'s MIDI Converter". I mean, why would you do that?
  • Create ports of the converter in different programming languages, but with Windows support. There's already a Windows version, which is this one.

Where did you get the idea?

This was actually supposed to be a clone of Free MIDI to MP3 Converter, then I changed myself, and had the idea of making my OWN converter.

Windows SmartScreen tells me that this app might infect my computer. Are you trying to steal my data???

Why would I publish KMC on GitHub then, to get sued by them? I already have money issues irl, no needs to have more on the Internet. Anyway no I'm not, the app is completely safe. The source code is on-line, even. Take a look if you don't trust my words.

How can I get the converter without installing it?

There's a portable version of Keppy's MIDI Converter too. Take a look here.

Is there any version for Linux and Mac OS X?

There was a Java version, but it's extremely outdated. KMC works under Wine w/ Mono though.

Requirements (Compiled program)

  • Windows Vista SP1+ or newer.
  • 256MB of RAM.
  • DirectX 8+ compliant sound card. (Vista-ready drivers are recommended, but XP WDM is supported)
  • Microsoft .NET Framework 4.5.

Requirements (For compiling the program)

  • Windows 7 SP1 or newer.
  • 2GB of RAM or more.
  • Microsoft Visual Studio 2017. (or newer, your choice)
  • BASS.NET by Radio42.

Credits

  • Thanks Ian Luck for his wonderful BASS libraries! Take a look at them here: Un4seen website
  • Thanks to Radio42 for his BASS.NET wrapper, that allows me to develop VB.NET/C# apps based off BASS libraries! Link: BASS.NET
  • Thanks to Jonathan from 365Icons, for the wonderful icon set used for the language selector! You can find the icon set here: Click me
  • Thanks to wyDay for VistaMenu, which I'm using to add icons to the default MainMenu control (MenuStrip is garbage). Download it here: Click me

NuGet packages used

kmc's People

Contributors

89mods avatar dependabot[bot] avatar gitter-badger avatar kaleidonkep99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kmc's Issues

MP3 rendering implementation

--SUGGESTION--

Just curious,

Will you ever implement MP3 rendering? (using LAME)
Other than that, your software is great!

Using Tal Reverb 4 VST causes crash

When I attempt to use this VST in the current version of KMC, the app freezes indefinitely (but doesn't crash until I hit the close button) when I begin the render. This is true in both the 32-bit and 64-bit programs
VST download: https://tal-software.com/products/tal-reverb-4
KMC Configuration: (if not included, I haven't changed it from the default)

  • Max Voices: 1000
  • Audio Frequency: 48000Hz
  • Render mode: Real-time simulation
  • VST DSPs:
  •  Loudmax: On
    
  •  Tal Reverb 4 (version 66049)
    
  •  Render to: WAV
    

What happens:
Render allocates memory for conversion.
Loudmax settings are set
Application stops responding
CPU usage whilst application is stopped: 0%

This is not an issue with the Tal Reverb 4 VST because this VST works fine with an older version of KMC (Before the rewrite)

Portable executable crashes on startup.

Every time I run the portable version of Keppy's MIDI Converter, it crashes giving the error:
==== Start of Keppy's MIDI Converter Error ====
Object reference not set to an instance of an object.
==== End of Keppy's MIDI Converter Error ====

This error ONLY happens on the portable version. The non-portable version works just fine.

(This has happened on both of my computers.)

Add "Check for Updates"

It is pretty lame going to the releases page and downloading the latest version, but it would be nice if we had a "Check for Updates" feature and download the latest version without going to the releases page, also "Auto-check for new version on startup".

.MUS support

suggestion and question

Hi Keppy, love your software!

I was wondering if you could add some type of support for *.MUS files. (They're like MIDIs, but used in old iD Software games.) There's only one utility for MUS files, but its quite buggy and doesn't work that much. (mus2midi)

If that were to be possible that would great! (if not, its OK :D)

x64 version complains about large MIDIs in Real Time Conversion

v18.1.3

I have been able to render large MIDIs through RT conversion mode before, but it seems to not let me now. If I try, this happens...
capture

If I set the render mode to Standard, it works fine. This leads me to believe this is intentional? (At least that's what I think...)

Crashes while Loading "Bad Apple!! feat. nomico Super-synthesized version V.2.mid"

The midi is 245 million notes
image

and my Pagefile is 80gb and I have 8gb DDR4 2166MHz RAM
image
Soundfonts
image


And this is the error I get when rendering as a Ogg (LoudMax enabled + realtime) [On regular it doesn't give a error, it's only on realtime simulation]
image
"==== Start of Keppy's MIDI Converter Error ====
MIDILoadError: Can not load this MIDI.

Are you sure you're not trying to open it in the 32-bit version of Keppy's MIDI Converter?
Also, try increasing the size of your paging file, you might not have enough RAM.
The MIDI might also be corrupted.

Additional info:
System.OutOfMemoryException: Array dimensions exceeded supported range.
at KeppyMIDIConverter.BASSControl.BASSStreamSystemRT(String str, Boolean PreviewMode)
at KeppyMIDIConverter.BASSControl.BASSStreamSystemRT(String str, Boolean PreviewMode)
==== End of Keppy's MIDI Converter Error ====
"

Add support for Windows XP SP1

When trying to run Keppy's MIDI Converter on Windows XP SP1, I keep getting an error saying "Only works on Windows XP SP2 or later". It would be nice if we could get it to work on Windows XP SP1 and convert MIDI files as it would!

Update on start by default - is not a good idea.

Update on start by default - is not a good idea.

After troubles on installation the app wan't to start. Nice!
It present in Process Explorer, but has no window.

Process Explorer Warning
No visible windows found for this process

And it take about 30(!) sec...
I almost decided to abandon this idea - to install and use this software -
when the window was opened at last.

If you really think it necessary to update on start, so:

  • turn off it on the first start, or
  • show to user something, but not the silence only...

My application level firewall is on the block mode always.
It seems, that most users do it in the same manner...
.

While checking for updates, it crashes

image

Crash Log:

************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2600.0 built by: NET471REL1LAST
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll

KeppyMIDIConverter
Assembly Version: 18.0.2.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

System
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2600.0 built by: NET471REL1LAST
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2612.0 built by: NET471REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

KeppyMIDIConverter.resources
Assembly Version: 18.0.2.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

KeppyMIDIConverter.resources
Assembly Version: 18.0.2.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

Microsoft.WindowsAPICodePack.Shell
Assembly Version: 1.1.0.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

Microsoft.WindowsAPICodePack
Assembly Version: 1.1.0.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

VistaMenu
Assembly Version: 1.9.0.0
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

Bass.Net
Assembly Version: 2.4.13.1
Win32 Version: 18.0.2.0
CodeBase: file:///C:/Program%20Files/Keppy's%20MIDI%20Converter/x64/KeppyMIDIConverter.exe

Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 14.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

System.Management
Assembly Version: 4.0.0.0
Win32 Version: 4.7.2556.0 built by: NET471REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Keppy's MIDI Converter ignores audio frequency when rendering

When you set a different audio frequency than the standard one (For example: 22.05kHz instead of the standard 44.1kHz) and you render your MIDI files to any file, it renders the MIDI in 44.1kHz instead of 22.05kHz.

I got this problem on version 17.3.1 on both portable and installed on x64. X86 also has this problem as well.

Add sinc interpolation

Keppy's Synthesizer has a sinc interpolation feature, but we need this feature for the converter!

"Limit" is spelled wrong

It's spelled "Liimt" instead. Located in Advanced Settings dialog. See pull request #52 for file difference.

Soundfont list not saving

The converter needs a soundfont list keeper, just like Keppy's Driver. The soundfont list clears itself when you quit the converter (then run the converter), resulting as a bug.

Install on existing folder unpossible

Install on existing folder unpossible if it is opened in Far, for example, with error:

Setup was unable to create the directory "E:\My\Not\Very\Long\Path\Keppy".
Error 5: Access is denied.

and resul to rollback.
.

bug on 18.1.1 - 18.13

hi on 18.1.1 - 18.1.3 is a lil bug... the vst fx will only be processed on the first file of the queue. tested on x86 and x64 version

random soundfont selection

would it be possible to select a folder full of soundfonts and randomly select a soundfont per midi file?

Cancelling preview gives out error

Welp, the new update spawned this error,

==== Start of Keppy's MIDI Converter Error ====
System.OverflowException: Arithmetic operation resulted in an overflow.
at KeppyMIDIConverter.MainWindow.RealTimePlayBackBeta_DoWork(Object sender, DoWorkEventArgs e)
==== End of Keppy's MIDI Converter Error ====

This happens when I am previewing a MIDI and the I cancel the playback. Happens sometimes, but gets annoying after time.
Luckily this doesn't crash the renderer, just it gives this error.

http://i.imgur.com/yD2F1eY.png

EDIT1: I think the 350 midis broke it and caused this error. ๐Ÿ˜†
EDIT2: This only happened after loading the 350 midis and then previewing one, and it should give out an error. If not, try previewing and cancelling multiple times until it pops up.

Some MIDIs are way too loud.

Some of the MIDIs I converted to OGG are quite loud. Is it possible to add a volume mixer, or a dB limiter?

Attached is the original MIDI, and the rendered MIDI in OGG format. (compressed into ZIP because GitHub doesn't allow MIDIs)

Soundfonts used (in order):
Keppy's Steinway Piano v6.03 (October 2, 2016)
Timbres of Heaven GM v3.2 Final

midi.zip

EDIT: Obligatory Audacity pic:
2017-01-09_07-23-06

sf2pack extension not accepted

I was forced to look for soundfonts and take them form another app.
However this file chorium.sf2pack was not recognised with error:

Error
This is not a valid soundfont!
Select a soundfont and try again.

It was just enough to change extension for it to "sf2".

So, not soundfont is invalid, but file extension only.
It is a two big differences, as they say in Odessa :)

Yeah, there is a list of supported extensions, but it closing up by the new opened file selection dialog window, and extensions are not present in it, but the non-informative "Soundfont files" description only.
.

Converter crashes after converting midis

Well, I was converting 350 midis (just regular midis) to OGG format, but after 29-31 midis, the converter gives a Windows crash screen, so I was not able to get an error log.

Seems to crash when initializing the renderer.
This is the first time it has crashed for me during the rendering process.

Is this because of the sheer amount of midis queued, or is it something else?

Running Windows 8.1 x86
2 GB RAM
Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz

picture of the list of midis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.