1 (edited by raygrote 2017-02-01 15:12:30)

Hi all,
A while back, I was sitting in class and realized that I had some midi files on a CompactFlash card which I just happened to be using with my Braille Note MPower at the time. There were also some other media files on there as well, so I was casually browsing through said files. I was surprised to find that midi files were detected by the MPower's media player. So I thought, what the heck, let's try playing one and see what happens. I was expecting it not to work, but to my surprise I heard the Super Mario Bros theme playing right before class! Luckily for me I had the volume really low, so that I didn't get in trouble for playing music while I was supposed to be doing more important things. Lol!
Then my geekery stepped in and I couldn't pay attention in school. Once I find a new synth or music toy or whatever, I'm the first to admit I become pretty obsessive about learning all I can about it, how it works, what makes it work, and what I could do with it.
After school I did some investigating. What synthesizer was this using to play midis? Is it just the standard Microsoft Wavetable synth, or had I stumbled across one of those many cheap mobile midi chips which are really hard to track down? Turns out it's the latter. I don't recognize many of the sounds. I still have little idea as to what this synth actually is or why it's being used over something more widely known like the Microsoft Wavetable synth.
The rest of this post covers some introductory stuff I noticed when first playing with the synth. In post 12 I've uploaded some recordings of the synth (recently re-uploaded) so you can hear it, and in post 18 you'll find some more recent info I've been able to gather on it.
So now for some technical notes.
The synth is clearly sample based, it's easy to tell that just by listening to it. After the first 5 minutes of playing different midi files with the synth, I figured out just how buggy it was. No effects like reverb or chorus, well what would you expect? Notes were cutting off (max polyphony is 8 voices at least to my testing), and there's only one drum kit that works, though I did find a second kit with what I believe to be Windows mobile sounds on it. A few of the sounds, particularly drums, have loud screeching artifacts at the ends of the samples., There are also watery artifacts in the background of almost all the patches, and a lot of the samples have awful blank space at the beginnings of notes. In addition some of the loops are so awful that I have to wonder if they actually tested any of this before releasing it. We're not talking about minor problems here!
The fact that there is blank space at the ends of samples, the fact that we have a lot of broken sample loops, and the weird screeching and watery artifacts suggest to me that the samples are in some odd compressed format, since using compressed files in samplers will generally do that sort of thing if the codecs used are buggy. My first guess is that they're using mp3 samples because of the artifacts I am hearing, since mp3 will generally do stuff like that. But it's just a guess.
In my opinion though, the synth still sounds much cooler than the Windows Microsoft wavetable synth, and with some cleanup I would use it in place of that. In its current state though, it's dismal.
Not sure what other Humanware note takers this works on, or what versions of Windows CE support this (The MPower I tested this on is running Keysoft 7.5 with Windows CE 4.2). To my knowledge this midi playback isn't a Braille Note feature but rather a Windows CE feature which was likely and unintentionally left exposed by Keysoft. Good one, Humanware! Anyway, I do know that the Apex ditched the midi synth and from what I heard that was again a result of upgrading Windows CE, and had nothing to do with the Apex itself. There were rumors that midi compatibility would be brought back in a future update of Keysoft, but as of Keysoft 9.1, I am unable to test to see if these rumors are true, as my Apex is currently a brick which I cannot fix.
So does anyone know anything at all about this hidden midi support? What versions of Windows CE does it work with and where are the sounds from? I do recognize a few sounds but not many. One of my friends is suspicious that this was originally a Casio synth since he recognizes some sounds from his old Casio keyboard, so maybe he's right. I still have my MPower and it still works, though the Braille display is failing and the battery is shot. But it does still work as of the end of 2015, so it's lasted me at least 5 years. I'm impressed.

Thumbs up

Hm, I seem to remember trying midis on the Pac Mate with no luck, though it could be using a different version of Windows CE, or could have nothing to do with the OS at all.

Thumbs up

3 (edited by raygrote 2015-11-26 17:26:35)

Yeah, from what I heard, the Pak Mate does not work with midi. The midi support on the MPower did give me a shock.
Why the Apex wouldn't work with it is something only programming techs would know.

Thumbs up

4 (edited by blindncool 2012-09-14 20:12:15)

The synt on the braillenote is called keynote gold.
Oh, and he apex is using a later verson of windowsce, just as the packmate is.h

Thumbs up

Please let me try and expound on this. KeyNote Gold can crack and waver its voice, almost like Dectalk. My hypothesis is this: the Midi file is using the Gold to sing the file. Now be warned, this is not fact, but opinion. And quite frankly, I'm not exactly sure why KeyNote Gold on the Apex won't sing Midi for you.

Thumbs up

6 (edited by raygrote 2015-11-26 17:32:50)

Hi,
Unfortunately we've run into a misunderstanding. Key note Gold is a speech synth. While it can do interesting things, midi has nothing to do with it. It cannot sing a midi file that you play, at least as far as I know, although it would be cool if it could. The synth I am referring to is some seemingly undocumented thing that comes with Windows CE which I'm trying to learn more about.

Thumbs up

The kind of synthesizer we are discusssing here is Software Synthesizer.
Do you still have that Empower Braille note? Maybe if you did, you can put up a reocrding of your MIDI file. Did it sound something made by Roland?

Thumbs up

Yes, please post some recordings of said MIDI files, and I might be able to figure it out. I leave right near a campus of computer technologies, maybe they would know?

Thumbs up

You mean you live near a campus? What about "said MIDI files".

Thumbs up

I believe the empower used ce version 4.0. I wonder if there is a way to get some version of it now that's its so out-of-date

Thumbs up

Woudl CE work on a virtual machine?

Thumbs up

12 (edited by raygrote 2017-02-01 15:10:58)

Hi all,
I've posted a link to samples of this synth. Below that, I will put down some information I have read that might help find out what it actually is. Also included in the archive are the midis that I used to create these samples. The midis were gathered from around the 'net, and are probably a bit more than the synth can handle, but it's going to be pretty dirty no matter what you throw at it.
The link is here:
https://drive.google.com/file/d/0B9aHZO … sp=sharing
To download, click on the link, tab to the download button, and the download should start.

Now for some information. Most of this is sketchy at best so it may be totally inaccurate! But anyway here goes.
The M Power uses Windows CE 4.2, and after doing research, I learned that while some midi capabilities were removed in that version of Windows CE, a midi direct show filter remained. then in windows CE 5.x, native midi support was dropped, however third party direct show filters could still be downloaded and used, which I don't even want to think about what may have happened with that route. So, whatever the M Power is using is the probably buggy direct show filter included with Windows CE 4.2, but I cannot find any details. So two possibilities exist, either Microsoft made the synth and that's all we'll ever know, or I am simply not looking in the right place. Still, the standard Microsoft Wavetable synth included with most versions of windows since Win 98 I believe is clearly at least in part designed by Roland. You can find that out on older versions of Windows by going to midi devices and pressing the about button. Plus that information is available online, as well as information on how to insert custom dls files into the driver to change the sound set. Why that kind of information would be so easy to find for that synth but not this one is sort of nagging at me.

Thumbs up

Lol this brings back memories!
I did get the chance to play around with the midi support feature for a while,  until I had to exchange my mPower for an apex.

Thumbs up

14 (edited by raygrote 2015-11-26 04:31:50)

Hi,
Was it this broken on your machine too?
I hope your Apex is working well for you. I had one on loan, and it worked flawlessly. But affter that, I got one for college which was meant for me to keep for a longer time, and that one is constantly giving me issues. The flash memory supposedly got corrupted after I plugged in a USB drive containing only a few word documents. Sounds very strange to me...
Anyway if they plan to add midi back in on an update, or perhaps they already have and I couldn't test it ... I wonder what they'll use.

Thumbs up

those samples definitely sounded like a Roland-based synthesizer, but what, I know not.

Thumbs up

Yeah, but I do not recognize anything from Roland synths. Since Windows CE 4.2 came out around 2003 I think, the synth would have had to be made before that, and if it was Roland I probably would recognize it. The only sound I even recognize for certain is the timpani sound, from the Roland SC88. Anything else is pretty much fair game.
Maybe I'll put up some more demos of individual instruments since that is when the synth actually shows what it sounds like. With the stuff I've put up now, it breaks so much that it's hard to tell sometimes.

Thumbs up

17 (edited by datajake 2013-09-14 20:42:31)

The bn mpower midi synth is called mobile synth. I also posted samples of the synth. The link is here. grossgang.com/midi%20files/synthesizers/windows%20ce%20wavetable%20synth/

Thumbs up

18 (edited by raygrote 2017-02-01 15:19:38)

Hi all,
Well 3 years, 2 months and 12 days after I created this topic, it's time to bump it. I've just found some more information. And no I haven't spent 3 years nonstop on this!
As you may know, the Microsoft Wavetable synth uses DLS (downloadable sounds) files to produce its sounds. Most DLs files are nothing more than a set of PCM wav files with instructions on how to play those wav files. That's how the gm.dls file supplied with pretty much every Windows version since Win 98 works.
However the fun has only started, as the old Windows CE synth which this topic is about also uses DLs sounds! The DLS file it uses can be found on the keysoft system disc of the MPower, and is called wince_gm.dls. I've also uploaded the dls file at this link:
https://drive.google.com/file/d/0B9aHZO … sp=sharing
To download, click on the link and tab to the download button. The download should start.

Now, here's where things get complicated. If you try to import the wince_gm.dls file into DLS players, most will not be able to do anything with it. However if you give them the standard gm.dls file supplied with desktop Windows, they normally just work without issue. So what's going on here?
The problem here is that wince_gm.dls is a mobile DLS file, and these types of DLs files allow for alternative formats to store the wave data. The most common wav format is uncompressed PCM, but technically DLS allows other formats. For example you could use ADPCM compressed wavs and so long as the appropriate ACM codecs are installed, the DLS synth *should* be able to decode and use them. Windows comes with some built-in ACM codecs for mp3 and a few other formats, and older versions of Windows also come with old WMA ACM codecs as well, though I've never gotten them to work.
So the reason you can't plunk the wince_gm.dls file into your player of choice is because most things don't have proper codecs to read the samples. In fact most players I've tried will give some error saying the file is unsupported, they won't even try to load the instrument data, they'll just crash when trying to load samples. I've tried Winamp's DLS midi synth, as well as a few other sample converters like Extreme Sample Convert and Awave Studio, none of which could read the data.
There is a little bit of hope though. While looking around for dls editors, I found an old program called Direct Music Producer,which seems to allow composers to utilize the direct music framework to handle game audio for old PC games. One of its features is designing custom DLs sound banks which are what Direct Music uses to play midi files. I thought I'd give it a shot.
Direct Music Producer would not install on Win 7 X64, but I was able to get it to work by manually registering the dll and ocx files it depends on. However it still could not read wince_gm.dls. I then tried installing the program properly with its installer on a Windows XP VM, and had a bit more success. I don't have the technical expertese to say why it would be better on the VM, other than to say that it was probably designed for XP and not 7...
Direct Music producer was able to read 28 samples from the DLS. That's not many, but it's at least a start. It also was able to read the DLS instrument data, meaning that although I can't decode most of the samples, I can see what they are called, where they're used, and their attributes. I can even dig into DLS instrument parameters, so I could hypothetically rebuild the DLS by replacing the references to those compressed samples with uncompressed ones to make it work.
My guess at this point would be that the compressed samples were encoded with the ACM MP3 or WMA codecs. But again I'm just guessing here.
I've actually considered sampling the synthesizer myself and making a new DLs or sound font. It would be a lot of tedious work and would likely take ages. But at least I have access to the insturment data, so I can see what notes were sampled, what the note ranges are, where the loops are, etc. And assuming I actually do follow through and re-sample everything, I can then go about fixing all the really awful glitches that the samples have, and make a half decent replica of the synth without all its issues. whether I'll eventually do all that, I don't know. I'd like to, but meh ... I've already invested a ton of time obsessing over this already, just to hit dead ends. And while re-sampling the synth the way I just described would probably work, I'm not sure it would be worth it. If there's enough interest I'll certainly do it, since I'm just the type who would. Lol. But for now, I'm still trying to decide whether to really start on that or not.

Thumbs up +1

Where can I get direct music producer from?

Thumbs up

20 (edited by slender 2017-04-21 16:39:40)

Time to revive this old topic again. So, you can actually replace the dls file that the MPower uses, by putting your dls in a windows folder on the flash disk and rebooting. Of course it must be called wince_gm.dls, but it works. Another interesting observation is that the driver is *strictly* GM. There is absolutely no way for it to support GS or XG; it doesn't understand the messages for some reason. Correction: it actually does support GS, to some extent. You can get GS drums to work. I suspect this is because they are still on channel 10, which is reserved for percussion. But it still doesn't understand the GS system exclusive messages. You can find additional DLS files to use in the MPower in post 21. Edit: here are some interesting observations I've made about the artifacts in the default DLS supplied with the MPower. I have noticed that with some samples, particularly the ones that screech at the end, every time you load a midi file, the screech changes slightly. It takes on a different tone every time; sometimes a beep, sometimes a squeak, and sometimes a strange sort of hiss. Also, with some drums, the synth will screech, but using pieces taken from the last sample played. You can see how the artifact changes by loading a midi that screeches, exiting the media player, then loading it again. Pausing doesn't work. Perhaps it's dependent on what's in memory at the time? I'm not sure. And the Windows Mobile kit that was being discussed earlier is on channel 10, program 1. It mostly contains things like old Windows 9x sounds, such as chimes, chord, and tata, but it also contains some badly broken DTMF tones as well. the kit itself is internally named CE UI, however why it had to be added as a drum kit I will never understand. And the MIDI feature itself is actually part of Direct Music. The files that power the synth are dmusic.dll and dmsynth.dll, with the codec for the DLS in msacmce.dll. The problem is the name for that DLL is very generic, and it could really mean anything. It may even have multiple file formats it supports, not just one.  There is information about the synth in the Windows CE registry, however, nothing that would tell us what the DLS is, or what codec it's using. In fact, the only even slight documentation about it is here, and it only gets mentioned at the very bottom of the article. What's interesting, however, is that you can, by editing the registry, change the GM file path, i.e. the path where the synth looks for its DLS file, so if you had a very large DLS, you could, say, store it on another drive and have CE use it instead of the default. I don't think that means you can just throw a 2 GB DLS on a CF card and use it as that would probably be too large to store in RAM, however, it is still a possibility. As for the question of what BrailleNotes midi playback works on, it seems to be the MPower only. When I viewed the ROM dump of the Classic, dmsynth.dll was not present, even though they were using the same version of Windows CE. From looking at old mailing list posts, it seems HumanWare thought the Midi support would be mostly useful for playing back embedded Midi files on web pages. And they were aware of the synth's existence, so they added the *.mid association to KSWMedia.exe, KeySoft's media player. However it's understandable that it wouldn't be mentioned, as it is rather buggy. Also, in an attempt to find out what codec was being used, I had a look at the Mobile DLS specification. It seems polyphony is, *gasp* five voices, and reverb and chorus are optional, as well as many other details that are different from the main DLS specification. Also, the specification does not restrict you to only PCM wave files to store samples. It allows for compression as well, however, it does not specify what type of compression must be used, so it is up to the manufacturer to decide what codec they wish to compress their samples with. I recently obtained a system dump of a BrailleNote, so I do have access to the files now, however registering them on an Apex is not an easy task as there is no obvious register server. Here's an interesting detail about wince_gm. I decided to view a text dump of it using Strings, and, interestingly, some of the samples were apparently composed using Sound Forge 4.51.

Thumbs up

21 (edited by slender 2017-01-05 00:22:07)

Update. I just found three new DLS files that can be used with the MPower. Unfortunately, though, they are only Microsoft GS Wavetable, with an 8k sampling rate. No, just kidding. Actually, one of them is a Yamaha PSR510, and the other, Chaos XP, I believe is some kind of Roland, but I'm not sure exactly, and FAT OPL2 is an old FM synthesis based sound card that was sampled in to a DLS. And BTW, you can use them in anything, not just the MPower. Here's the link to the zip file containing them. http://grossgang.com/utilities/dls%20files.zip

Thumbs up

I think chaos xp is roland sc88 pro

Thumbs up

Not the best in design though, if you ask me.

Thumbs up