Jump to content
  • 0

SMF MIDI to CDLC Converter


cozy1

Question

  • Developer

I know this topic has been discussed in other threads, but I couldn't find any real progress or direction.

 

Are there any CF members that would like to have a drag/drop tool that would convert a Standard MIDI File (SMF) to CDLC?  I am not talking about converting Frets on Fire, Phase Shift, or the likes of Rock Band MIDI files.  If you would like to have such a tool then lets hear it.  If I can get 100 or more potential users to signup then I may try to develop the tool.  Has anyone else already started or conceived such a project?  Don't want to step on any toes or reinvent the wheel.

 

I have heard all the Cons of why not to do this; can't capture bends, capos, slides, and missing other techniques for more advance players.  And I realize there will be obstacles like converting SMF midi to compatible CST xml files, and converting MIDI audio to WEM.  Both of which will still require some manual handling like EOF output.  No disrespect intended.

 

Just seems like there is an endless library of SMF MIDI songs already out there.  For some the simplicity of creating CDLC from MIDI may outweigh all the Cons.

 

Open for discussion.  Fire away.

 

 

  • Like 2

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0
  • Administrator

I would say no. I can see the entire database getting flooded with imho poor quality CDLC. 

Creating a CDLC takes time and should not be a drag/drop thing. 

Community Admin | Send me a message if you are having trouble with something | Teinashu's Hall of Glory
Steam -

Link to comment
Share on other sites

  • 0

I believe some tablature programs can import MIDI files and transcribe them to guitar/bass. It would be interesting, but would still be very complex and people would definitely want to put work into the imported file, such as by working on the tab in a tab editor, EOF or something else. Otherwise there'd be a need for a complex system of denoting techniques MIDI doesn't support through text events or something.

Link to comment
Share on other sites

  • 0

I have tried MIDI to GP to EoF.  It fails badly at the MIDI to GP stage.  And that's a pro program with official MIDI import.  The best I could muster was a couple of simple bass lines out of all the MIDI files I wanted to try.

 

I wanted to try it because, yes, there are tonnes of great MIDI files about and I thought it would be a quick/easy process.  It isn't, it's complicated, time consuming and yeilds pretty meh results.

 

At least in my case...

 

 

If you do want to go for it, I would suggest concentrating on bass lines first.  You go anywhere near MIDI chords and you are going to cry.  Like a little girl :D

  • Like 2
Link to comment
Share on other sites

  • 0
  • Developer

@PC Plum, @aludog:

So it sounds like you think chords could be a problem.  What if Midi is used to produce only lead output and not chords initially?   Also try GP5 for producing Midi it is much better.  GP6 MIDI output must be patched to work correctly.

 

Later on can look at chord recognition algo but could get ugly.  I am studying simple lead.xml files now to see how to cross map to midi.  Do you guys already have cross mapping done?

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0

I only have GP5 so that is what I used.  Although, I was trying to get MIDI into GP5 not out of it.  I planned to then import that GP5 file to EoF.

 

I have no cross mapping sorry.

 

I would suggest though, that looking at bass lines first would both be easier to implement and there would be a greater end user base.

 

Think a lot more people would play simple bass lines than simple lead.

 

 

Also, do you intend to create audio from the MIDI file and play along to that?

 

If you are planning to use the original artists' audio then tempo mapping will still need to be done at some stage.

Link to comment
Share on other sites

  • 0
  • Developer

I only have GP5 so that is what I used.  Although, I was trying to get MIDI into GP5 not out of it.  I planned to then import that GP5 file to EoF.

 

I have no cross mapping sorry.

 

I would suggest though, that looking at bass lines first would both be easier to implement and there would be a greater end user base.

 

Think a lot more people would play simple bass lines than simple lead.

 

 

Also, do you intend to create audio from the MIDI file and play along to that?

 

If you are planning to use the original artists' audio then tempo mapping will still need to be done at some stage.

 

I was thinking of using both midi import and midi export from GP5 because it can produce midi with new guitar track and necessary (string, note) data to produce game xml file.  Midi audio initially to keep process simple.

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0
  • Developer

I've have made some good progress on a new Midi2RsXml program that will be released soon.  The program is geared toward producing CDLC songs for beginning guitarist who are still learning note play and timing.  No advanced techniques yet. 

 

The most significant feature is easy of use.  Just drag and drop a Rocksmith ready MIDI file onto the application.  Midi2RsXml will produce a CST compliant Song2014 XML file along with the necessary WEM audio files (including the preview audio) all ready for packaging by CST into a CDLC song.  You wont even need to open up Wwise anymore, that is a goal.

 

Stay tuned and watch for new thread announcing the release of Midi2RsXml along with the tutorial.

  • Like 2

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0
  • Developer

Midi2RsXml is ready for use.  Convert Midi files to CDLC songs.  Details are here.

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0
  • Developer

I believe some tablature programs can import MIDI files and transcribe them to guitar/bass. It would be interesting, but would still be very complex and people would definitely want to put work into the imported file, such as by working on the tab in a tab editor, EOF or something else. Otherwise there'd be a need for a complex system of denoting techniques MIDI doesn't support through text events or something.

@raynebc:

First off, thank you for EOF and providing the new feature to "Save Separate Music Midi File".  I have small proposed change and a new feature request that will expand the usefulness of the save function. 

 

A little background ... the Fretlight M-Player program uses standard midi files that contains a track that has channelization to activate an LED at the correct fret/string position on the guitar.  Fretlight guitar owner's could use EOF to produce compatible midi files if midi track channelization is added to the "Save Separate Music Midi File" feature. 

Below is an example of Midi Track Channelization for an "A" major chord.

 

Excerpt of current EOF Output using "Save separate musical MIDI file" - notes_music.mid

 

Meta TrkName "PART REAL_GUITAR"

Meta Text "A"

NtOn ch=1 n=45 v=64

NtOn ch=1 n=52 v=64

NtOn ch=1 n=57 v=64

NtOn ch=1 n=61 v=64

NtOn ch=1 n=64 v=64

NtOf ch=1 n=45 v=0

NtOf ch=1 n=52 v=0

NtOf ch=1 n=57 v=0

NtOf ch=1 n=61 v=0

NtOf ch=1 n=64 v=0

 

Proposed EOF Output with Midi Track Channelization

The track name must be prefixed with "FMP - " for the M-Player program to recognize the midi track.  This could even be done by adding a new separate track if desired to the existing notes_music.mid format.

 

Meta TrkName "FMP - Rhythm"

Meta Text "A"

NtOn ch=11 n=64 v=127

NtOn ch=12 n=61 v=127

NtOn ch=13 n=57 v=127

NtOn ch=14 n=52 v=127

NtOn ch=15 n=45 v=127

NtOf ch=11 n=64 v=0

NtOf ch=12 n=61 v=0

NtOf ch=13 n=57 v=0

NtOf ch=14 n=52 v=0

NtOf ch=15 n=45 v=0

 

 

Programmatic KEY to Midi Track Channelization

 

///

/// input Guitar String Number 5 - 0 ==> High E, B, G, D, A, low e

/// returns Midi Channel Channel 10 - 15

///

public static int StringNum2ChannelNum(int stringNumber)

{

    int midiChannel = 15 - stringNumber;

    return midiChannel;

}

 

A major benefit of adding midi track channelization is that it would allow a new feature to be added to EOF that could "Import" the "Save Separate Music Midi File" back into the program that contains the necessary note, string and timing data to populate the editor.

 

Thank you for your consideration.

Cozy1

 

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0

Does it have requirements for the velocity being 127, or does it otherwise react differently to different velocity values? Are the channel numbers mentioned required to be the same for ALL tracks? If so, I'd probably have to have it save a separate MIDI file, as I believe Synthesia is designed to offer the notes on a individual channels as playable arrangements.

Link to comment
Share on other sites

  • 0
  • Developer

Velocity can be anything greater than 0.  Only the FMP track(s) need to be multichannel and use channels 10-15 (base zero).  Drums are always on Midi Channel 9 and Channels 0-8 can be used by any other track.  I think you are using Channel 1 in the note_music.mid file so this does not need to changed. 

 

I may have inadvertently introduced some confusion because I am referring to a base zero channel system, but actually Midi Channels are more commonly thought of as channels 1 - 16, so drums are on Channel 10 (if we are talking base one)

 

Here is a link to AuClair.mid which is FMP compatible. Enclosed in the rar is a text output of the AuClair midi file which will help to explain things better.  The multichannel FMP track in AuClair contains the same note on and note off events as the single channel guitar track. 

 

The Synthasia manual says something about "mute just the tracks you play in the Track Menu for the song you are playing" but I have not played the game so I'm not sure whether two midi files are necessary or not.  I would like to think that a Type 1 multi track midi file could be used be used by Sythasia and individual tracks are mutable like in GP5 or GP6 but it is just a guess.

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

  • 0

I've added some logic so musical MIDI export will write one Synthesia style MIDI and one Fretlight style MIDI. If you can confirm that the only things that really needed to be different between the two are the channel numbering, velocity and track name prefix, then I think it's ready for you to try in the next hotfix.

Link to comment
Share on other sites

  • 0
  • Developer

Thanks.  To confirm channel numbering, velocity and track name prefix are as shown in sample above.  I will test when released.

Are you tired of AV False Positives???  Now accepting donations on my website (Click Here)  Your donation will be used towards buying a code signing certificate.   CGT is now compatible and safe to use with Rocksmith® 2014 Remastered ... 

 

Latest Build of Custom Game Toolkit (CGT) w/ Game Save Gigbox       Latest Build of Rocksmith Toolkit       Latest Build of Customs Forge Song Manager (CFSM)

 

All bug reports and help requests please include your: OS, CPU, AV, .NET Framework versions along with a description of the issue (include screenshots of error if possible).  It should go without having to say ... make sure you are using the latest build before submitting bug reports or asking for help.

 

*  Remember to use your magic words (please and thank you) if you would like a response.  Don't use phrases like 'thanks anyhow' as it is demeaning.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy