mailto: blog -at- heyrick -dot- eu

Navi: Previous entry Display calendar Next entry
Switch to desktop version

FYI! Last read at 13:00 on 2024/04/27.

Of PMR radios...

There are two nice things about being asked to take big binfuls of rubbish from work to the recycling centre nearby. The first, it's not an unpleasant way to pass an afternoon. Don't get me wrong, it can be hard work, but when the weather is good I'd rather be walking around outside tugging a wheelie-bin than inside where you can't tell if it is night or day.
The second good thing is that if you happen to spot anything that might be, you know, useful...

I used to have two PMR radios. They were from when PMR was first introduced so they have eight frequencies and, well, that's it. Their range is poor, they can manage reasonably well in line-of-sight (across fields and such) but with obstacles, such as the house, it would struggle to transmit the audio from my satellite receiver to me by my dish up a ladder. It's about twenty metres in a straight line. Last year, I noticed that one of the radios was dead. Don't know why. It just gave up the ghost.

So I was pleased with my last disposal job...


Picked up on the way to disposal - four Motorola "TLKR T7" PMR radios. These were used at work for the different line managers to call each other, but usually it was everybody calling for Maintenance to come and fix stuff. I don't know why they were all disposed, I wonder if the replacements were incompatible with these ones?
I picked up four. I think I saw another, but it flew by in the process of being disposed. Of the four, one was damp (it had been rained on) and seems to be okay after a drying out. Another was damper yet, but after a drying out, it appears to work. You can see the LCDs lit up in two of them. I just took them outside and mom and I spoke to each other as I walked most of the way up the driveway. That's from mom's room to me half a kilometre away. I guess one day I'll go for a longer walk and see what sort of range these radios can manage.
The third has a broken antenna (quick solder fix?) and the speaker is very quiet (speaker fault or blown amp?). The fourth was half underwater so I would imagine it's for spares only. In all cases, the supplied Ni-MH battery is dead, so it will be replaced with four AAA cells. Very nice of Motorola to offer that option.

Usefully, a PDF of the user guide is available online. The specs of the radios are:

There's a way to go yet - certainly the other radio needs to be put back together, and the complete one will need its antenna swapped for one from the 'spares' unit.

 

...and MIDI interfaces

David Feugey is a name known to some in the RISC OS world. No wonder, as he has recently set up http://www.riscos.fr/ to bring news and information on RISC OS to the French speaking world, as well as a nod towards English and German speakers.
His most recent contribution was Maestro playing songs to a MIDI synth. In my case, I use a Yamaha keyboard while he uses a rather cute Dreamblaster box based around the SAM2195 wavetable synthesiser. It seems like a nice little IC. Unfortunately for David, he got one of those cheap little USB to MIDI interfaces, and this is where the fun begins.

To compare - here is an MP3 recording of his setup playing "Follow You". You can tell it is a synth, it reminds me a bit of a games console soundtrack. Here's my keyboard playing the same thing in the same way and you'll notice immediately that the bass line is present on my version, but frequently lost on his.
This isn't a fault of the Dreamblaster. It is likely a problem of the USB to MIDI interface. Specifically - Maestro schedules a group of notes to be played. These are sent (as TxCommand) to the MIDI module. My MIDI module packages the commands according to the USBMIDI spec and sends them to RISC OS to send to the device. It's a complicated bit of malarky where you treat a USB device as a file. Anyway, the problem arises when the USB device (running at 12,000,000bps) sends multiple commands to the MIDI interface. The MIDI side runs at 31,250bps and from the look of things, has maybe twelve to sixteen bytes of buffer. As each note will be three bytes (Note On, then note value, finally velocity), that means that you can only send 4-5 notes at once before stuff starts being discarded. That's a chord and one or two extra notes. Sufficient for a simple melody. That's about it.

Apparently the easiest way to make one of these interfaces fall over is hit it with a SysEx packet. These, apparently, don't tend to pass correctly in either direction. Another commonly reported problem is that there is a notable lag between playing a key on the keyboard and it showing up on the computer. I cannot really comment as my MIDI module reads data by polling - I couldn't ever get the "data available" notification method to work for me. Which might be just as well since I disable null padding but the USB stack pads regardless... Would padding count?

As far as I can work out, there is no status port or anything to check on the buffer sizes. That said, if you look at the hardware, there's not much of anything. Optoisolator? Yeah, we've heard of it. The Chinese haven't.

The other side of the board holds three LEDs and a 12MHz crystal and the printed description "UM1X1 PCB".

It works, as in, it works just about enough to play simple tunes. Here is that same interface playing Pachelbel's Canon (sort of) on an older Roland E16 keyboard. I think the most complicated this track gets is four notes at once.

One of the primary problems of Maestro is that its music scheduler is complete bollocks. Don't take my word for it - listen!. This is a rendition of Erasure's "A Little Respect" played directly on RISC OS. The melody is set to WaveSynth-Beep and the bass line is set to StringLib-Hard. It makes a jarring "twang" for each bass note. Now, apart from three bars about two thirds of the way in, the bass line consists of crotchets. Four to a bar, so it is supposed to be a consistant twang-twang-twang-twang. You'll hear that it is anything but regular.
It's kind of funny that Maestro's scheduling is so rubbishy that even a 700MHz machine can't get this right. I don't remember it sucking this much on an 8MHz A3000, but then I don't think I ever tried playing anything complicated. If I ever switch my RiscPC on again, I will have to try to remember to give this a whirl, see how it sounds on a RiscPC.

To this end, I have sent David a special build of the MIDI module. As RISC OS has no high resolution timer that can provide callback entry in an unthreaded "safe" state, I simply count down a bunch of times (something like 19500 times per byte sent). It sucks, but it is just a test to see if introducing slight delays can be used to get crappy MIDI interfaces working better. I never really experienced this issue before as all my work so far has been done using the Yamaha keyboard. I don't know if it speaks USB directly or if it translates to MIDI inside. Given that it has a USB port and it doesn't choke on complicated data, I know which option I favour...

I'll await David's response to see if we can get something working with even crappy MIDI interfaces.

The moral of this story? There's a reason why the plugs alone (1×USB, 2×MIDI) ought to have cost more than you paid for the device (and that was including postage from Hong Kong).

 

To recover from how bad that Erasure rendition was (gives a new meaning to "extraordinary rendition", doesn't it?), here are two tracks played directly by my keyboard.

 

Your comments:

Rick, 20th November 2014, 00:59
MIDI fun: Fixing this cheap interface, see: http://www.arvydas.co.uk/2013/07/cheap-usb-midi-cable-some-self-assembly-may-be-required/
David Pilling, 24th November 2014, 02:20
I recall listening to CB users in the USA (from England). Possibly the sunspot cycle has to be right. Ah the days of 27MHz AM CB. People had big aerials and amplifiers. Then they made it legal and everyone stopped.

Add a comment (v0.11) [help?]
Your name:

 
Your email (optional):

 
Validation:
Please type 18732 backwards.

 
Your comment:

 

Navi: Previous entry Display calendar Next entry
Switch to desktop version

Search:

See the rest of HeyRick :-)