We have detected that cookies are not enabled on your browser. Please enable cookies to ensure the proper experience.
Results 1 to 18 of 18
  1. #1

    Bruzo's midi to abc converter

    I started writing my own midi to abc converter, it's still in the alpha phase, but the core engine is working (most of the time), that's why I'm doing this post now. I put some conversions I did with it on my website, so even if you don't want to or can't use it, you can listen to some of the conversions done with it ( if you got the abcplayer that is ). Also I am hosting the source-code of the program there, so feel free to copy/modify or delete it

    https://sites.google.com/site/brutemm/

    I did not implement all the features that Firefern's converter has to offer (I really like that webpage), but I wanted to have something I could use offline (while travelling with the train etc). So what I came up with is a command line python tool, which so far is only usable on linux systems - sorry but it's just easier to develop there

    Although it is not at all as easy to use as Firefern's converter I added some additional capabilities like arbitrary mapping of midi-channels to the lotro-channels, for example you can map the melody with full volume to a clarinet, the same melody transposed by one octave and with reduced amplitude and a small delay to the flute ( that produces some echo-like effect ).
    Also polyphony can be adjusted for the abc-tracks, meaning an instrument like the flute would play only one note at a time, even if you map several tracks to it.

    So if you are interested in having other effects included or maybe help me turn this into something that can be run on windows with a graphical user interface .. I'm open for suggestions - python programs can be converted into executables for windows .. generally (not with the current form of the code) .. so even an external GUI could do the trick.
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  2. #2
    Join Date
    Jun 2011
    Location
    Brabrand, Denmark
    Posts
    219
    Interesting!

    Sadly I don't have any -X box so I can't really try it out, but maybe some day.
    [LEFT][SIZE=1][color=#BFBFBF][I]Phede's mini minnie army: [/I][color=#FFFFFF]Phedelene[/color], [color=#FFFFFF]Netteellen[/color], [color=#FFFFFF]Ledepeter[/color][I] and [/I][color=#FFFFFF]Amorph[/color].
    [I]Proud member of [/I][url='http://s13.zetaboards.com/Andunie/'][color=#FFFFFF]Andúnië[/color][/url][I] and the [/I][color=#FFFFFF]Greenway Band[/color].
    [I]A small collection of Phedelene's original music (ABC's and MP3's) on [/I][url='http://sdrv.ms/ZMMwsA'][color=#FFFFFF]SkyDrive[/color][/url].[/color][/SIZE]

    [color=#FFFFFF][SIZE=2][FONT=Times New Roman]FOR THE SAKE OF PRISONERS AND THE FLIGHT OF BIRDS.[/FONT][/SIZE][/color]
    [/LEFT]

  3. #3
    Hey Bru'

    Thx for your soft!

    Is it possible to know where you encoding the drums map, in which file ?

    i'm not very contented at this time for some transcription with BruTE for the drums ^^
    I would like to work on it for my personal usage if it's possible but i'm not really sure where to find it in source code.

    If you can help me

    Thx

    Zed' from Bara Bahau / Les Chantefables

  4. #4
    -- i'm not very contented at this time for some transcription with BruTE for the drums ^^

    Point taken

    I added the option to use drum maps that are exportet from Maestro 1.0. (The source code version that is on the webpage is totally outdated by now, I'll update it at some point.)
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  5. #5
    Little status update on the features:

    With the latest release (alpha-14) BruTE gives fairly good control over volume dynamics and fixed a bug that cause slurry tempo in parts that were too fast (faster than max speed in lotro)
    ( https://sites.google.com/site/brutemm/the-program/ )

    To list some features that are superior to the other transcoders (Fireferns and Maestro)

    - true tempo (the midi timings are used, no quantization/approximation of tempo changes, ideally the song will have the same duration as your midi file)
    - full controll over volume and volume dynamics (by default the midi dynamics are imitated, but volumes and compression can be adjusted freely)
    - automatic pitch adjustments can be switched off (pitch-shifting into the playable range and down/up moving of parts that move outside the playable range)
    - analysis of sample usage (the converter will tell if your tune plays too many sounds at a time, which would lead to tones not being heard when the tune is played ingame)
    - arrangement files can be saved (it is possible to modify the midi and redo the transcoding using the same arrangement)

    I have to add the cons as well (which will probably be a reason for a lot of ppl not to use it)

    - very basic and not failsafe GUI (you have to know what you are doing, probably have the song open in a midi editor to see what kind of tracks you are putting into the abctracks)
    - unreadable abc files (in order to achieve the time precision very strange note durations have to be used)
    - only support for format 1 midi files (a lot of free midi editors can export those)
    - large binary blob (due to the way my python scripts are put into windows executables)
    - part naming style is fairly fixed (by default it generates the style used by "a rock and a hard place" and also supports the style of "the starlight orchestra")

    Try it out! Especially for tunes with a lot of tempo changes this is the tool to use, it'll give you the maximum the music engine of lotro permits.
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  6. #6
    After all the claims I made here, I guess it's necessary to show the actual benefits of my converter, so I took a problematic midi file and ran it through our three options (Maestro, Fireferns and BruTE). I just ensured that the pitches and instruments are the same and didn't edit anything, I used the default Maestro drum mapping for both Maestro and BruTE.
    As both Maestro and Fireferns have certain problems with multispeed midi files I took one that runs at constant speed but has some issues with very quick runs and a fairly unique rythm.

    Its a pretty well known piece by Dave Brubeck:

    Take5 Maestro, Take5 Firefern, Take5 BruTE

    Take a listen and judge yourself. After all I guess Fireferns would place last in this test as it's swallowing some tones, Maestro and BruTE are pretty close, although Maestro slurs a tiny bit with the melody.
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  7. #7
    Join Date
    Sep 2011
    Location
    Sacramento, CA
    Posts
    630
    This is an amazing tool
    [center]"Accept the things to which fate binds you, and love the people with whom fate brings you together, but do so with all your heart." - Marcus Aelius Aurelius [/center]

  8. #8
    Join Date
    Mar 2011
    Location
    The Prancing Pony, usually I'm drunk in a corner
    Posts
    3,298
    The gui on this one can be a pain in the butt, but it's the best transcription tool I've seen. To bad I get totally lost when I try to use it... hehe.
    Did everyone get a bugged signature? My BB code doesn't work anymore
    ____________________________

    Glorgnorbor, A Rock And A Hard Place, Stop by our Friday music shows! 4PM EST at the Bree West Gate on Dwarrowdelf!
    If a Malledhrim Soldier dies alone in the forest because of canceled quest, will it make a sound? ~Leixy

  9. #9
    Hey folks,

    I did a bit of measuring for the U15.3 volumes and included a feature in my converter to "normalize" the observed volume over all the instruments and pitches. Most instruments vary internally over the pitchrange by 3-4 dB, which is +/- 2 lotro levels at +ff+ or +/- 1 lotro level at +ppp+. Not so much the Cowbell/Moorbell, they have a pretty constant volume over all pitches, but that is compensated by the drums who's loudest tone to most silent tone ratio is the difference of +fff+ to +ppp+.

    In short: a script compares the perceived volume of all the instrument sounds using the C-weighting (found it to fit best) from ingame recordings, then the intended lotro volume is corrected using the velocity curve of the game, which is not linear, so it's much more than a +1 for a track.

    So this is trying to calculate the lotro-volume that is required to tell to the game so that it actually plays at the intended volume.

    That being said ... keep in mind that lotro just has 8 volume levels, and thus all those adjustments happen in a very limited space, also for chords there will be no truly satisfactory solution and audio perception of sustained and short tones varies. It'll probably still need some manual adjustments, but it roughly works!

    Anyway ... if you want to try:
    https://sites.google.com/site/brutem...2_alpha20_.zip

    Also:

    To listen to the abc files produced by BruTE, please don't use the current ABCplayer: play ingame or use Version 1.4.1 of the ABC player in combination with the new lotroinstruments.sf2 file from the most recent release of the ABC player - there are some issues with the timings in the newest version.

    Cudos to Digero for coming up so fast with the corrected instruments file for U15.3 !!
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  10. #10
    Quote Originally Posted by SchorschiSchrumpf View Post
    After all the claims I made here, I guess it's necessary to show the actual benefits of my converter, so I took a problematic midi file and ran it through our three options (Maestro, Fireferns and BruTE). I just ensured that the pitches and instruments are the same and didn't edit anything, I used the default Maestro drum mapping for both Maestro and BruTE.
    As both Maestro and Fireferns have certain problems with multispeed midi files I took one that runs at constant speed but has some issues with very quick runs and a fairly unique rythm.

    Its a pretty well known piece by Dave Brubeck:

    Take5 Maestro, Take5 Firefern, Take5 BruTE
    (I know that post was over a year ago, but I just saw it today. Miss Fincin suggested BruTE to me, so I plan to check it out.)

    Your choice of example gave me a bit of a chuckle: a piece metered in 5.

    I haven't run them through a player yet, but I did examine the individual text files. It was interesting to see the different methods the three use for certain things.

    Just as a learning exercise, I think I might attempt extracting the flute parts and combining them into a single multipart file. Then see if I can edit the tags to where ABC Player might allow me to play them in unison in order to switch between them for real-time comparison. I doubt, though, that I will succeed at getting even two of them to form a valid multipart abc, but I would like to try. It sure would be nice to learn ways of concatenating ABCs from different sources for times when I can't get Anvil to do it satisfactorily on the MIDI end (or when the pieces have already been transcoded).

    There are a great many MIDI files out there that provide only the backing tracks (rhythm and harmonies), without the melody/main vocal lines. (I don't know why. . .maybe they do it like that for karaoke applications?) However, there are some that only have the melody line (or perhaps just a clip there of. . .perhaps for learning the tune, rather than for listening to?). Because we don't have vocals in game, the former often ends up overly repetitive, and the latter, too thin. If MIDI tools fail me, direct editing of the ABC notation has been my only recourse.

    Take a listen and judge yourself. After all I guess Fireferns would place last in this test as it's swallowing some tones, Maestro and BruTE are pretty close, although Maestro slurs a tiny bit with the melody.
    Sometimes a bit of slurring on a piece that is intended as staccato can be benefit because the music system gives us no control over the attack and release of the notes. I have noticed that, especially with flute, notes often seem to clip oddly. Cutting out the bad tongue-ing could potentially improve a track in some cases. Thus, again, I hope to learn to put together parts generated by different transcoders.

  11. #11
    First of all with Maestro 2 the situation is different. I should redo that test to see how it changed, I expect Maestro to be better now.

    To really compare the flute parts the only way is to export WAV files from the abcplayer and listen to them in Audacity (an open source multi track audio editor).
    Use the abcplayer 1.4.1 for the files generated with BruTE though, the version 2 branch of maestro has issues with my files (version 2.3) - but there is hope that it will change soon.

    With all the editing you should really keep in mind that ABC is basically a lossy format. There is a minimal duration for tones of 1 millisecond and the tracks have to be at constant BPM.
    Digero and me took different routes to work around that, I think both have their justifications. The ABC files created with Maestro are still human readable, so if you intend to edit ABC files directly, use Maestro!

    My strategy is to do everything on the midi level and midi tools never failed me so far. From my point of view the transcoding tool is just the routine that projects the midi into the ABC while taking into account the lotro restrictions - it should basically do as few modifications to the midi as necessary and more importantly tell the user when changes were necessary - thats a point where Maestro still has a lot to catch up.

    Just try other midi editors than Anvil, if you have access to a Linux machine I strongly recommend qtractor - it's offering a similar interface as commercial programs like Cubase or Cakewalk. But there is plenty of options also for windows.
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  12. #12
    Quote Originally Posted by SchorschiSchrumpf View Post
    First of all with Maestro 2 the situation is different. I should redo that test to see how it changed, I expect Maestro to be better now.

    To really compare the flute parts the only way is to export WAV files from the abcplayer and listen to them in Audacity (an open source multi track audio editor).
    Use the abcplayer 1.4.1 for the files generated with BruTE though, the version 2 branch of maestro has issues with my files (version 2.3) - but there is hope that it will change soon.
    Let me guess. . .does it have something to do with correctly calculating fractional note lengths when the numerator or denominator exceeds 3 or 4 digits? That was the only thing I saw in your output that I thought was odd enough that a player might not be ready to handle.

    The ABC files created with Maestro are still human readable, so if you intend to edit ABC files directly, use Maestro!
    True, but. . .it looks to me like BruTE output might be directly readable by Excel, moreso than the other two. With a few (long) formulae to parse the notation for each note, one could write macros in Visual Basic to perform tasks on a selected section of the file (such as transpose it up or down an arbitrary number of semitones, strip off out-of-range notes so you don't get odd chord inversions when the game shifts the notes' octaves, change velocity, etc.). The biggest challenge I see for editing BruTE output might be that measures do not appear to be delimited. But, then, I suppose one could just add columns to the spreadsheet to keep track of elapsed time and beat count (even though it might be fractional). And maybe even write a macro script to meter it and insert markers as comments (and, of course, remove old count markers when there has been a change).

    My strategy is to do everything on the midi level and midi tools never failed me so far.
    That's certainly my preference as well, but sometimes it's not so easy to go back that far in the process to make a change (such as when you don't even have the source MIDI for an ABC file you wish to modify or incorporate into another). I don't know of any tools for cleanly transcoding from ABC to MIDI.

    Just try other midi editors than Anvil, if you have access to a Linux machine I strongly recommend qtractor - it's offering a similar interface as commercial programs like Cubase or Cakewalk. But there is plenty of options also for windows.
    I have looked at a few and plan to try more. Thus far, though, I've not come across any that have as broad a set of relevant features as Anvil Studio. Well, one did have a feature I was interested in (though I don't offhand recall what it was), but I didn't feel it was worth learning another interface for at this point. (I have just barely started familiarising myself with Anvil.)

    I am told that many of the more modern instrumental audio editing packages have abandoned MIDI in favor of Guitar Pro tabs. So, on some tunes for which I have the GPX files, I might convert them to GP6, do all the editing with an open-source GP package, transcode to MIDI, and then transcode again to LotRO abc. And then, of course, get offered a sweet recording contract with Virgin Records of Gondor.

  13. #13
    Quote Originally Posted by Halgoreth View Post
    That's certainly my preference as well, but sometimes it's not so easy to go back that far in the process to make a change (such as when you don't even have the source MIDI for an ABC file you wish to modify or incorporate into another). I don't know of any tools for cleanly transcoding from ABC to MIDI.
    Hmm if you don't have the midi you're probably interfering with someone else's work tststs

    Try abc2midi (there is windows binaries of it around), you'll have to make your lotro-ABC conforming to the real ABC standard, which means the X:'s have to be V:'s and all the comments and empty lines have to go. The timings are not exact when applied to ABC made with BruTE.
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  14. #14
    The latest version (alpha 21b) now has it's own abc-to-wav renderer that works with up to 28 parts, using fluidsynth as midi rendering backbone - direct playback is limited to 14 parts like in Maestro.
    Naming conventions are Maestro/ABCplayer compatible now as well. The panning of the parts (stereo position) can be stated in the map file, so the preview can be done "stereo"-aware, which should help with huge arrangements.

    It uses a heavily modified version of Digero's lotroinstruments.sf2 file with adjusted volumes per tone, the preview should be fairly close to the game volumes. The basic lute isn't adjusted in volume though.
    The sf2 file is not entirely compatible with maestro because the bagpipes are not split into drones/normal tones, so if you use that same sf2 file with maestro it'll produce twice the volume on something like the lowest octave of the bagpipes, otherwise it should work perfectly fine.

    You can get it here: http://drive.google.com/open?id=0B95...klTd2ZZcjRmZnc
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  15. #15
    Join Date
    Jun 2011
    Location
    Canterbury, UK
    Posts
    120
    I read all this with interest but barely understand it! I can see I am a complete amateur when it comes to transcribing.
    Jobbing musician that resides in Bree. Frequenter of Taverns and places of ill repute

  16. #16
    In short : If you want to make songs with 15 or more parts and you want to hear how they are supposed to sound when they are played in the game .. this here is one option.

    There will be a standalone ABC player that will also read Maestro/Firefern generated files in foreseeable future ... but it'll come without a GUI
    Bruzo, Dwarrowdelf Minstrel ~ "A Rock & a Hard Place"

  17. #17
    Quote Originally Posted by SchorschiSchrumpf View Post
    It uses a heavily modified version of Digero's lotroinstruments.sf2 file with adjusted volumes per tone, the preview should be fairly close to the game volumes. The basic lute isn't adjusted in volume though.
    The sf2 file is not entirely compatible with maestro because the bagpipes are not split into drones/normal tones, so if you use that same sf2 file with maestro it'll produce twice the volume on something like the lowest octave of the bagpipes, otherwise it should work perfectly fine.

    You can get it here: http://drive.google.com/open?id=0B95...klTd2ZZcjRmZnc
    This version of the .sf2 file is quite good. From a mere listening point of view (I'm no tech savvy in these matters) I found the sound somewhat richer and closer to in-game standards.
    As you mentioned, there are issues with volume on lower octaves when used with Digeros Maestro.
    Thumps up!
    [i]Sev ... Member and founder of Instant Play. Playing concert every Monday 20.00-22.00 CET (14.00-16.00 server time) at West Bree stables on Gwaihir.
    Alles musik oder was![/i]

  18. #18
    Quote Originally Posted by SchorschiSchrumpf View Post
    Hmm if you don't have the midi you're probably interfering with someone else's work tststs
    So, converting a (frequently unlicensed) MIDI into an ABC for performance without compensation to the copyright holders is not interfering with someone else's work, but daring to fix things in a third party's derivative ABC might be?

    Are you sure you want to mount that steed? The saddle looks a little high.

    My jesting aside, I appreciate your note of caution, and am conscious of the issues. (Or, at least, I think I am.) We often bleed for our creations and must respect the efforts of others.

    There's joke in the folk music community. . .
    "Treat others' works as you would have them treat your own." That is The Golden Rule
    "Feel free to give me an idea. If I like it, I'll claim it was mine." That is The Folk Process
    (Okay, I swiped the basis of that joke from author/musician Steven Brust and then greatly modified it. But I'm pretty sure he didn't originate it, either. Thus, the cycle continues.)

    Some performers are very protective of their 'scriptions. And understandably so. Musicianship in-game is equal for all. No one can play a given file more skillfully than someone else. No, the uniqueness of acts often relies very heavily on the uniqueness of the original arrangements they worked to create. Anyone who acquires those file can easily "steal" that act with just a press of the PLAY button. If everyone had access to all the same ABCs, the only creative distinctions between acts would be playlist selections, stage antics, and costumes.

    Many other performers, though, are happy to share their material (at least, once they've had opportunity to debut the work properly themselves.)

    If I wish to work with someone else's ABC, I usually contact them to make sure they don't have a problem with me performing or modifying it.

    Thus, I seek out the arranger and ask.

    (Well, if the transcriptionist is someone from the game, that is. Sometimes, though, the best I can get is an assurance from someone else who says "Sadly, Lady Effluviel of Lorien quit the game years ago because it would not let her dye the horns of her Mordor goat, but it's generally accepted that she doesn't mind, and rumour has it that she was delighted to learn that folks were keeping her songs updated for the music changes." Of course, if it's just a generic clip from some ''Free ABC Files" website, that I edited to work with LotRO (often including adding repeats in the appropriate places to turn the clip into a full-length tune), I don't attempt to contact the source.

    And I keep the attributions intact. If it lacks attributions, I usually add a note about where it came from. However, if I modify a file, I add indication, either as a comment or appended to the Z: tag, that I did so (not so much for my own ego, but more for providing a trail of creative ownership that can traced back to the original ABC to determine what credit belongs there and what blame should fall on me).

    Try abc2midi (there is windows binaries of it around), you'll have to make your lotro-ABC conforming to the real ABC standard, which means the X:'s have to be V:'s and all the comments and empty lines have to go. The timings are not exact when applied to ABC made with BruTE.
    Oh, nice! Thank you for the tip. (Normalising LotRO ABC to standard, and vice versa, is something I wanted to play around with more sometime, anyway.)

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

This form's session has expired. You need to reload the page.

Reload