Exporting to PMW

• Jun 14, 2009 - 04:39

After trying to write in LilyPond, to be able to produce eps snippets, I almost became insane and now work solely using PMW. But for experiments, as a composer rather then than just a copyist, I need a graphical notator like MuseScore, and I have to stay it blew my mind away when I first tried it on my Mandriva box!

So, in short, it would really be nice of exporting to PMW is added. And I'm quite willing to help there, as I used to be a programmer in a previous life...

I also need to use quarter-tones a lot, but thankfully enough I can see it mentioned here and there on the forum. Although, I might add, here in Egypt, we tend to use the half-flat as a normal flat with an added small slash on its stem, rather than a mirrored one as is customary in Turkey. The Egyptian variety is in fact included in the Feta font that comes with LilyPond.

Thanks a lot for a truly nice programme.

HosAdeeb


Comments

Hi HosAdeeb,

I had no idea what PMW is but a little search brought me to the Philip's Music Writer, correct? There is nothing against implementing more export filters, but perhaps it's a better option to add MusicXML import to PMW. MusicXML is currently the standard for exchanging scores between different programs and the MuseScore prerelease has excellent musicXML import/export on board.

Off topic question: would you be interested to translate MuseScore in Egyptian Arabic? According to Wikipedia, 76 million people speak this language, so it would be great if the MuseScore software can appeal to these people.

In reply to by Thomas

Dear Thomas,
You're absolutely correct about what PMW is. Let me just add that it is by far simpler than LilyPond, and the output is quite good, too. Check http://groups.google.com/group/pmw_music

1) I could easily participate in developing a filter for MuseScore, but burdening the author (Dr Philip Hazel) with writing the import filter is, well, beyond my direct capacities. I'm sure you can understand...

2) About translating into Arabic, of course, why not?! What should I do to start?

HosAdeeb

In reply to by [DELETED] 5

EPS stands for "Encapsulate PostScript", i.e. a PostScript that can be embedded in a document, for example. So, if you need to use an excerpt to demonstrate a concept, say, in an article or a thesis EPS can be used, but not PS, because PS produces whole pages, while EPS is used for snippets.

HosAdeeb

In reply to by HosAdeeb

Hi HosAdeeb,

Translating MuseScore to Arabic goes as followed:

You're ready to start translating MuseScore. Once you have some strings translated, feel free to attach the ts file to a comment, we'll make sure it gets committed and it will be available in the next prerelease. The message is to do is step by step because it might seem quite a challenge when you start translating from scratch.

I strongly believe that your translating work will pay off by attracting more developers from your region who have the same feature requests as you want.

In reply to by HosAdeeb

Hello HosAdeeb,

Since PMW is a text-based format, it should be possible to write a MusicXML-to-PMW converter as an independent program, if the PMW author does not want to add MusicXML import.

These days most programs are not adding special-purpose converters beyond MusicXML and MIDI, but rather are removing the old converters. Both Finale 2010 and Sibelius 6 got rid of all their special-purpose importers, relying entirely on their MusicXML and MIDI importers.

The MusicXML site includes the MusicXML DTDs, XSDs, a tutorial, sample files, mailing lists, and more.

Best regards,
Michael

In reply to by musicxml

Hello Michael,
It's not that the PMW doesn't want to add MusicXML/MIDI import facilities; he doesn't know about my current endeavours since has been away from his email for a couple of weeks (I got an automatic email response last couple of times), so I don't know what he thinks.

On the other hand, PMW has rather recently acquired some very interesting capabilities: hybrid accidentals in a key signature (e.g. B-flat & E-half-flat); writing music from right-to-left (although not universally adopted, it does help quite a bit when writing lyrics below the music for Arabic and Hebrew). So, potentially, if I could export to PMW I could simply add these missing features, accumulatively, that is.

Writing a direct MusicXML->PMW programme is alluring, but seems intimidating to me at the moment... I had had a glimpsing idea about the former a couple of years ago, but will eventually need to pay more attention to it. But, at least, does it support half-flats and half-sharps, for example? I mean: if I put one using MuseScore, will it show up in xml? I can't really remember the coding conventions in xml; does it follow LiliPond's example in insisting on writing each and every pitch, paying no attention to the key signature? Because that last bit is a nightmare!!! Imagine having to go through a lengthy piece, mending lots and lots of E-flats into the E-half-flats you had in mind in the first place!!!!

Anyway, any helping hands in any directions are more than welcome. Thanks.

Hosam Adeeb

In reply to by HosAdeeb

Hello Hosam,

Yes, MusicXML supports the quarter-tone accidentals. Note though that they are called quarter-sharp, quarter-flat. etc. in reference to the quartertones. You can also put these microtones into the hybrid key signatures that you describe as being available in PMW. MusicXML can handle bidirectional text for lyrics, but not right-to-left for the music. I don't know how MuseScore's MusicXML export supports these features, but if the features are in MuseScore you should be able to add the MusicXML export for them without too much difficulty.

MusicXML is not intended for direct typed input like LilyPond and PMW are, so you would rely on the MusicXML being produced from MuseScore. But with MuseScore being open source, and MusicXML and PMW both being text-based formats, you should be able to write what you need. MusicXML is very big, but it's also layered. Focus on the basics first, then elaborate with more features over time - otherwise it is indeed easy to get overwhelmed. The tutorial should be helpful in focusing on the basic MusicXML features that you would want to start with.

I'm not quite sure about the LilyPond issue, but MusicXML pitches always explicitly include the pitch step and the alteration (e.g. a step of "F" and an alter of "1" for a F#, or an alter of "0.5" for an F-quarter-sharp). The accidental element is separate, since sometimes the accidental is displayed and sometimes it is not. The accidental values would be "sharp" and "quarter-sharp" respectively.

I hope this helps! It would be great to see more MusicXML-based tools supporting the quarter-tone features.

Best regards,
Michael

In reply to by musicxml

I can confirm that musescore does not import/export quarter accidentals in musicXML for the moment. The support of quarter accidentals is quite recent in musescore core.
I don't see any problem with bidirectional lyrics but I may miss something.
Hybrid keys are not in the core

I'm facing a couple of problems:
1) I couldn't find a place to put the name of the language (Arabic), so I put it as a translation of the very first occurrence of the word "system". I hope I haven't done something stupid...

2) A lot of musical terms have no translation in Arabic, so I'll just have to leave them like that.

Attachment Size
interim_mscore_ar.ts 254.19 KB

In reply to by HosAdeeb

I added the missing element (see attached file)

<message>
<source>Arabic</source>
<translation type="unfinished"></translation>
</message>

That's it. Shall I add this ts file already to the repository so we can test with a release? You never know there are some other issues like right to left direction.

Attachment Size
interim_mscore_ar.ts 254.3 KB

I have done a bit more work, but far from even a quarter of it all!!!

If you want to try it with a build, I suppose there's no harm in trying, is there?! But I'm not worried about RTL (right-to-left) since, in my experience Qt already knows Arabic, and provided the proper locale is installed, it automatically displays standard menu items in Arabic (like Load, Save, ... etc.) even without giving the user the option to revert to English, if one so chooses!!! The only way to do the latter is to use an English-based locate in the first place...

HosAdeeb

Attachment Size
interim_mscore_ar.ts 254.29 KB

In reply to by HosAdeeb

Hi HosAdeeb,

I committed the ts file and we'll test it out later today. If you feel adventurous and you wish to build MuseScore yourself, there are great guidelines in the [[nodetitle:developers handbook]] how to build on Ubuntu (preferred platform) and Windows.

It is indeed quite a work to translate MuseScore and it is much appreciated ([1], [2]). Above all, it will drastically improve our chances to attract more developers who want the same features as you.

In reply to by Thomas

I think I'll keep sending daily drafts because, frankly, things can easily get out of hand. Although I know I will be doing some travelling the next couple of weeks, but don't just lose hope... Oh, according to QtLinguist, I have already accomplished a feat: 215 out of more than 2048 (aaaaarrrrrrggggghhh) 8-Q

HosAdeeb

N.B.: Why, oh, why isn't there an option to put half-flats and half-sharps in parentheses? Currently, only usual accidentals can be used as cautionary ones... Are they ready-made glyphs in the Feta font? Is that why?

Attachment Size
interim_mscore_ar.ts 255.97 KB

In reply to by HosAdeeb

I committed the updated ts file.

Regarding your NB, it's advised to start a new forum topic for each new question / feature request because it will get more views. Besides this, I'm not able to answer whether or why half-flats and half-sharps in parentheses is possible or not.

In reply to by Thomas

Hi Thomas,
Indeed I might need to compile the pre-release version to try and see things in perspective. I just need a pointer to the current code

By the way, I work on a Mandriva box, and found no trouble at all compiling 0.9.4 on it just yesterday. EXCEPT that I needed to "make clean" first, after having got a fatal error that, thankfully, got away after the cleaning.

Thanks.

Hosam Adeeb

Do you still have an unanswered question? Please log in first to post your question.