Speech ROM and Other Components

discuss bbc micro and electron emulators (including mame) here!
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Speech ROM and Other Components

Post by Coeus »

From the photos of Colday's new BBC micro board, there were two TI chips in the speech upgrade. IC99 is the speech processor and is generic while IC98 is, if I remember correctly, speech samples from Kenneth Kendal, the BBC newsreader. Do we have that archived anywhere?

What else was in the speech upgrade? Is there a service ROM to drive it?
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

I did come across the user guide whilst trying to hunt one down. There are references to the components and planned future cartridges early on. Unsure if these sockets mentioned to the left of the keyboard were used for further speech expansion?

http://chrisacorns.computinghistory.org ... stemUG.pdf
User avatar
danielj
Posts: 9904
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: Speech ROM and Other Components

Post by danielj »

Rob_hawk wrote: Fri Nov 12, 2021 3:35 pm I did come across the user guide whilst trying to hunt one down. There are references to the components and planned future cartridges early on. Unsure if these sockets mentioned to the left of the keyboard were used for further speech expansion?

http://chrisacorns.computinghistory.org ... stemUG.pdf
No additional phroms were ever released, so the hardware was never used despite being part of the upgrade.
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

danielj wrote: Fri Nov 12, 2021 5:04 pm
Rob_hawk wrote: Fri Nov 12, 2021 3:35 pm I did come across the user guide whilst trying to hunt one down. There are references to the components and planned future cartridges early on. Unsure if these sockets mentioned to the left of the keyboard were used for further speech expansion?

http://chrisacorns.computinghistory.org ... stemUG.pdf
No additional phroms were ever released, so the hardware was never used despite being part of the upgrade.
Thanks for confirming I’d certainly not seen any mention of other phroms.
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

KenLowe wrote: Fri Nov 12, 2021 3:54 pm https://www.waitingforfriday.com/?p=30
Thanks Ken.
User avatar
BeebMaster
Posts: 7396
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Speech ROM and Other Components

Post by BeebMaster »

The US BBC Model B has its own phrase ROM different to the Kenneth Kendall one. I think the speech upgrade, including the serial ROM socket on the keyboard, was fitted as standard. Apart from that, nothing was ever released, and having software in ROM cartridges rather than speech data, never came about. Sprow has more info here:

https://www.sprow.co.uk/bbc/speechupgrade.htm
Image
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

Rob_hawk wrote: Fri Nov 12, 2021 7:20 pm
KenLowe wrote: Fri Nov 12, 2021 3:54 pm https://www.waitingforfriday.com/?p=30
Thanks Ken.
Quick question Ken. Will that fit alongside a Retro Clinic 1770 without any issues?

Thanks in advance.

Rob
User avatar
KenLowe
Posts: 4691
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Speech ROM and Other Components

Post by KenLowe »

Rob_hawk wrote: Fri Nov 12, 2021 8:14 pm Quick question Ken. Will that fit alongside a Retro Clinic 1770 without any issues?
I added an extra socket to my RetroClinic board to lift it high enough to clear the speech ICs:
RetroClinic 1770 board alongside speech chips
RetroClinic 1770 board alongside speech chips
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

KenLowe wrote: Fri Nov 12, 2021 8:57 pm
Rob_hawk wrote: Fri Nov 12, 2021 8:14 pm Quick question Ken. Will that fit alongside a Retro Clinic 1770 without any issues?
I added an extra socket to my RetroClinic board to lift it high enough to clear the speech ICs:

20211112_205341.jpg
Thanks Ken looks like good clearance there. In the absence of me having a spare socket do you think it will fit without? Looks like it might from the picture but hard to tell!

Thanks in advance.

Rob
User avatar
KenLowe
Posts: 4691
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Speech ROM and Other Components

Post by KenLowe »

Rob_hawk wrote: Fri Nov 12, 2021 9:11 pm Thanks Ken looks like good clearance there. In the absence of me having a spare socket do you think it will fit without? Looks like it might from the picture but hard to tell!
It just about fits. The thru hole pins from the IC on the underside of Retroclinic board will marginally clash with the top of speech IC, and will cause the Retroclinic board to sit at a slight angle. However, the Retroclinic board does appear to almost fully plug into the 40 pin socket, so I think it would work. That said, I would just buy a 40 pin socket to avoid the clash altogether.
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

KenLowe wrote: Fri Nov 12, 2021 9:28 pm
Rob_hawk wrote: Fri Nov 12, 2021 9:11 pm Thanks Ken looks like good clearance there. In the absence of me having a spare socket do you think it will fit without? Looks like it might from the picture but hard to tell!
It just about fits. The thru hole pins from the IC on the underside of Retroclinic board will marginally clash with the top of speech IC, and will cause the Retroclinic board to sit at a slight angle. However, the Retroclinic board does appear to almost fully plug into the 40 pin socket, so I think it would work. That said, I would just buy a 40 pin socket to avoid the clash altogether.
Thanks for checking for me. Sounds like I’ll go with the extra socket, any ideas where I can obtain a 40 pin socket from?

Regards - Rob
User avatar
KenLowe
Posts: 4691
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Speech ROM and Other Components

Post by KenLowe »

Rob_hawk wrote: Fri Nov 12, 2021 9:34 pm Thanks for checking for me. Sounds like I’ll go with the extra socket, any ideas where I can obtain a 40 pin socket from?
A quick check on ebay turned up this:

https://www.ebay.co.uk/itm/363458323705

or a batch of 5 here for not much more:

https://www.ebay.co.uk/itm/282666688430

I'm sure you could get it cheaper if you looked further. I would go for the turned pin version.
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

KenLowe wrote: Fri Nov 12, 2021 9:39 pm
Rob_hawk wrote: Fri Nov 12, 2021 9:34 pm Thanks for checking for me. Sounds like I’ll go with the extra socket, any ideas where I can obtain a 40 pin socket from?
A quick check on ebay turned up this:

https://www.ebay.co.uk/itm/363458323705

or a batch of 5 here for not much more:

https://www.ebay.co.uk/itm/282666688430

I'm sure you could get it cheaper if you looked further. I would go for the turned pin version.
Beat me to it, thanks for sharing will check who delivers to France.

Have a great weekend.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

As you might probably have guessed from my question, I was following up on the request to add speech to B-Em. Thanks everyone here for some very useful information and especially also to Frank Palazzolo who wrote the MAME module I have adapted. It is worth noting that the MAME version was informed by discussions with one of the original designers, a US patent and de-cap of the chip as well as the data sheet.

Here is a quick video of B-Em speaking from the vocabulary in the Phrase ROM A - thanks for Simon Inns for archiving that ROM as part of his project to make a replacement.

https://youtu.be/QIEv25rAJo0

This version is on GitHub at https://github.com/stardot/b-em/tree/sf/speech

I think the next step would be to test the "Speak External" command, i.e. where the data is provided by the CPU rather than read from the serial ROM. Does anyone have a suitable test case, i.e. something that will speak something without too many keystrokes from initial loading?
User avatar
Pernod
Posts: 3439
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Speech ROM and Other Components

Post by Pernod »

Coeus wrote: Sat Nov 13, 2021 7:44 pm I think the next step would be to test the "Speak External" command, i.e. where the data is provided by the CPU rather than read from the serial ROM. Does anyone have a suitable test case, i.e. something that will speak something without too many keystrokes from initial loading?
Try Tricky's Star Wars demo at viewtopic.php?p=322500#p322500

BTW, if you have the latest BeebEm installed then you'll already have a folder full of alternative PHROMs, including the US version, in UserData.

Did you change anything from the original MAME code?
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

As a further note on the speech upgrade I wonder if a mistake was made in constructing the Phrase ROM. There is a command, Read and Branch which, as far as I can tell, reads an address from the ROM and then updates the read pointer to the address just read. That would seem to be an ideal thing to use when wanting to speak a word by index number. What the OS actually does is:
  • Calculate the offset into the index of words stored early in the chip. The header is just the right length that the lowest index that speaks something, 32, goes to this without any subtraction.
  • Load the address of the index entry into the ROM (via the speech processor)
  • Read two bytes from this address, reversing the order of the bits in each.
  • Send those same bytes back as the new address.
  • Tell the speech processor to speak the word.
with "Read and Branch" this could have been:
  • Calculate the offset into the index of words stored early in the chip (as before).
  • Load the address of the index entry into the ROM (as before).
  • Issue a "read and branch" command.
  • Issue the speak command.
So my suspicion is that the reason this is done the long way is because someone missed that, in order to use read and branch, the order of the bits in the index entries would have needed to reversed before the values were put in the ROM.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

Pernod wrote: Sat Nov 13, 2021 8:16 pm Did you change anything from the original MAME code?
The B-Em version is C, rather than C++, doesn't have MAME's save and re-load logic, and doesn't yet have the equivalent for B-Em, and is simplified in that it doesn't need to be able to emulate the other chips in the family. But the core of it is mostly a copy and paste. It uses the same lattice filter, the same function to parse the frames, the same function to produce a block of samples to hand off to the sound system.
User avatar
Rob_hawk
Posts: 478
Joined: Mon Jul 12, 2021 6:50 pm
Location: Valmeinier, France
Contact:

Re: Speech ROM and Other Components

Post by Rob_hawk »

KenLowe wrote: Fri Nov 12, 2021 8:57 pm
Rob_hawk wrote: Fri Nov 12, 2021 8:14 pm Quick question Ken. Will that fit alongside a Retro Clinic 1770 without any issues?
I added an extra socket to my RetroClinic board to lift it high enough to clear the speech ICs:

20211112_205341.jpg
Hi Ken,

Just a quick note to say thanks for the advice. All nicely fitted after a nervous moment inserting the TMS5220 into IC99,it was very stiff to get in.
1D3B050C-B848-4410-9C4A-EEB82A565066.jpeg
Regards Rob
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

Another question on the Speech upgrade: was it available for the Master?
User avatar
KenLowe
Posts: 4691
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Speech ROM and Other Components

Post by KenLowe »

Nope. I believe the speech I/O addresses were assigned to the RTC chip on the Master.
User avatar
Rich Talbot-Watkins
Posts: 2054
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Speech ROM and Other Components

Post by Rich Talbot-Watkins »

I find it surprising that OS 1.20 had explicit support for the Speech system built into it, when the same was not true for arguably more important optional components like the 8271 disk system.
User avatar
tricky
Posts: 7709
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Speech ROM and Other Components

Post by tricky »

I'm guessing that there was investment in the UK with Kenneth Kendall while the DFS was being done in Oz iirc.
Last edited by tricky on Mon Nov 29, 2021 10:48 pm, edited 1 time in total.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

OK, I now have a version of B-Em that both speaks words from the PHROM and runs Tricky's Starwar speech demo which uses the "Speak External" command.

This is in GitHub at: https://github.com/stardot/b-em/tree/sf/speech

For Windows there is a pre-build pre-release at https://github.com/stardot/b-em/releases/tag/sf/speech

The PHROM test case I have used, and the demo in the YouTube screen capture is:

Code: Select all

   10REM > SPEAK
   20REPEAT
   30READ S%
   40IF S%=0THENEND
   50SOUND -1,S%,0,0
   60UNTILFALSE
   70DATA 270,209,170,217,170,133
   71DATA 159,170,170,175,179
   80DATA 0
The Tricky demo is linked up-thread.

The speak external was much more tricky to get working. Speaking from the PHROM required no synchronisation with the emulation of the 6502 as, once the speak command was received, everything else could be driven by requests for sound samples using reasonably large buffers. For speak external the processing this is not the case and underrun happens quite easily if the sound stream demands more samples than there is data in the FIFO to produce and the 6502 emulation won't run until feeding the sound stream has finished so this required a change to synchronous working with more but smaller buffers.
KenLowe wrote: Sun Nov 28, 2021 7:42 am Nope. I believe the speech I/O addresses were assigned to the RTC chip on the Master.
Thanks. It was actually having a Master lock-up when trying to write to the CMOS RAM that made me start to question it. It certainly seems that the CMOS/RTC has taken the Speech upgrade's spot on the slow data bus but I know sometimes things just got moved on the Master. So I have just made the integration of Speech with the SDB dependent on the machine not being a Master.
Rich Talbot-Watkins wrote: Sun Nov 28, 2021 11:39 am I find it surprising that OS 1.20 had explicit support for the Speech system built into it, when the same was not true for arguably more important optional components like the 8271 disk system.
It may seem surprising looking back, as we now know the speech upgrade sold poorly and the concept of ROMs in cartridges to work with it never really took off, but it presumably made sense at the time. The cassette filing system was the one that initially received the effort. The ROM filing system seems related and is certainly tied up with the speech system as serial ROMs that would be plugged into the "ash tray" to the left of the keyboard could work with it. Arguably, those ROMs were the whole point of having the ROM filing system - it's a pretty slow way to access a normal sideways ROM.

Then we have the way the Model B was more popular than initially predicted and the same may be true of discs. I am also not sure it would have fit.
User avatar
arg
Posts: 1291
Joined: Tue Feb 16, 2021 2:07 pm
Location: Cambridge
Contact:

Re: Speech ROM and Other Components

Post by arg »

Coeus wrote: Mon Nov 29, 2021 1:09 am It may seem surprising looking back, as we now know the speech upgrade sold poorly and the concept of ROMs in cartridges to work with it never really took off, but it presumably made sense at the time. The cassette filing system was the one that initially received the effort. The ROM filing system seems related and is certainly tied up with the speech system as serial ROMs that would be plugged into the "ash tray" to the left of the keyboard could work with it. Arguably, those ROMs were the whole point of having the ROM filing system - it's a pretty slow way to access a normal sideways ROM.
I think the falling price of EPROMs was a significant factor, combined with the single-source nature of the serial ROMs and nobody at TI promoting it. I remember seeing an emulator so you could try out your content in EPROM on the emulator before sending it off to TI to make a ROM, but they weren't readily available or promoted, and were too big/expensive to use other than as a prototyping tool. With a sideways ROM product, you could start off in EPROM with a view to making a mask ROM if sales took off, whereas with the serial ROMs you had to make the immediate commitment to the big volume - which would have been a huge ask for the first few such product given that few if any users actually had the 'ashtray' fitted.

Effectively, the prospects for serial ROM cartridges as a means of software distribution were killed off by the decision not to fit the 'ashtray' as standard (maybe it would have been OK with the actual speech chips left out as they were an easy DIY upgrade, but the complex, soldering-required, upgrade for the socket wasn't something that could reasonably be required as a pre-requisite for a high volume piece of software). There was no practical way to make cartridges an optional alternative for packages primarily being distributed on cassette or floppy.
Rich Talbot-Watkins wrote: Sun Nov 28, 2021 11:39 am I find it surprising that OS 1.20 had explicit support for the Speech system built into it, when the same was not true for arguably more important optional components like the 8271 disk system.
It was originally intended that DFS would be in the OS, but it became clear at an early stage that it had no chance of fitting; it was then pushed out into a 4K sideways ROM (on the assumption that it would fit since it was a port of System 3 DOS which fitted in 4K), then when it came to actual implementation it was found that with the extra things a BBC version needed to do 4K was an extremely tight fit and there was a sigh of relief when the price of 8K EPROMs came down enough that it could expand to 8K. The disc system was an expensive upgrade overall and could afford a sideways ROM as part of it.

The speech filesystem on the other hand shared most of its code with the cassette, and the speech upgrade was in principle fairly cheap such that adding a sideways ROM to support it would have been a big percentage increase. Also there was almost certainly politics involved; I don't know the exact sequence of events, but the "Kenneth Kendal" part of the project will have made these otherwise minor technical decisions visible at a much higher political level. In fact, speech in the OS (using the TI standard ROM) was done fairly early, I think before much progress had been made on DFS, but the KK ROM took much longer, well after DFS had been finished.
tricky wrote: Sun Nov 28, 2021 5:45 pm I'm guessing that there was investment in the UK with Kenneth Kendall while the fds was being done in Oz iirc.
DFS was _not_ done in Australia (nor Econet), despite persistent misinformation to that effect apparently stemming from some misleading Wikipedia entries.

DFS was a port of the Acorn System 3 DOS, done in the timeframe January-March 1982 by John Cox, working at Acorn Fulbourn Road. There were subsequently some independent DFS implementations (though none that I'm aware of from Australia), but it is not possible for any of them to have pre-dated the official DFS since there was no support for add-on filesystems in OS 0.1 - the first releases of OS with that support (0.9x) were issued to enable early DFS sales.

Barsons in Australia were however pushing very hard to get early access to the official DFS, and the efforts they had to make given the limited support from Acorn are probably the source of these rumours. The true story is documented in Brian Cockburn's ABug video:
http://abug.org.uk/index.php/2020/09/05/brian-cockburn/
User avatar
Rich Talbot-Watkins
Posts: 2054
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Speech ROM and Other Components

Post by Rich Talbot-Watkins »

arg wrote: Mon Nov 29, 2021 11:16 am It was originally intended that DFS would be in the OS, but it became clear at an early stage that it had no chance of fitting; it was then pushed out into a 4K sideways ROM (on the assumption that it would fit since it was a port of System 3 DOS which fitted in 4K), then when it came to actual implementation it was found that with the extra things a BBC version needed to do 4K was an extremely tight fit and there was a sigh of relief when the price of 8K EPROMs came down enough that it could expand to 8K. The disc system was an expensive upgrade overall and could afford a sideways ROM as part of it.
Ah, that's an interesting bit of history. I guess I always imagined that the disk system would need the filing system as a service ROM, but it might've made sense for the low-level / NMI interface to be in the OS. This would make more sense later on, with the move to 1770, so that the different filing systems could share the low-level OS layer (although that of course would have required an OS upgrade!). I suppose there's also then an argument - why not Econet too?
The speech filesystem on the other hand shared most of its code with the cassette, and the speech upgrade was in principle fairly cheap such that adding a sideways ROM to support it would have been a big percentage increase.
Right, makes sense. I don't suppose the speech stuff takes up an enormous amount of the OS in any case - far too little to warrant an expansion ROM. The OS also has minimal support for other extras like the 1MHz bus, so I suppose it wasn't any big deal to add it, given the overlap with the tape filing system. It's funny though how the speech system was deemed so unimportant in the end that it was discontinued entirely when the Master came along!
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

Rich Talbot-Watkins wrote: Mon Nov 29, 2021 1:15 pm ...but it might've made sense for the low-level / NMI interface to be in the OS. This would make more sense later on, with the move to 1770, so that the different filing systems could share the low-level OS layer (although that of course would have required an OS upgrade!). I suppose there's also then an argument - why not Econet too?
That is another thing that is easy to see with hindsight. Looking at the lower filing system numbers, and assuming these are allocated in order for development, or at least having the idea it might be developed, we have:

Code: Select all

01 - Tape
02 - Tape
03 - ROM
04 - DFS
05 - NET
06 - TELESOFT
07 - IEE
So up until this point a new filing system is also a different type of media so there is, up until this point, no benefit in having a shared driver for more than one filing system to use. It is only with the introduction of ADFS that it seems like there would be an advantage. I think it was Hugo Tyson (the ADFS developer) that mentioned that ADFS was originally intended for hard discs to break out of the limitation of a small directory, so it is almost following the same scheme - a new filing system for a new media, except of course, that a hard disc shares many similarities with floppies. ADFS was then a perfect candidate for making use of the extra capacity of DD floppies.

So, at that point, with two disc-based filing systems and three controllers: the i8271, the WD1770 and the hard disc interface it would indeed make sense to have an interface between a filing system and a raw disc. To be fair, I think all these filing systems allow sector level access from applications using OSWORD, but different ones for different media and the missing bit is having the filing system access discs via the OSWORD concerned so one could implement a driver for a new kind of disc and have an existing filing system use it.

JGH addresses this in HADFS which can be made to run on top of any block-based media by implementing a particular OSWORD.

Interestingly CP/M has an interface of this type between BDOS and BIOS which is a perfect example of how to do it if you want to scupper any chance of decent performance, by working one sector at a time. OSWORD &7C is a much better example, i.e. logical block addressing and transfer as many blocks as the caller wants - so it could be a whole file. There remains some complexity about how to handle special operations, for example formatting.
Rich Talbot-Watkins wrote: Mon Nov 29, 2021 1:15 pm It's funny though how the speech system was deemed so unimportant in the end that it was discontinued entirely when the Master came along!
And yet the concept of the ROM cartridge, rather than being dropped, became a built-in part of the machine. Presumably the difficulty due to a lack of programmable serial ROMs remained with the TI system, hence the cartrdges using ordinary ROMs.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

Back on the topic of speech, what do we know of the PHROMs in the BeebEm respository. We have (with MD5 sums):

Code: Select all

35e9ab10bcf016bd24b4c716add009b9  phroma.bin
0fa890b2b52bf5c92a1a194f6d34be1d  phromus.bin
268257afba780985b35fcdbc6f778a52  phromus.txt
0fa890b2b52bf5c92a1a194f6d34be1d  vm61002.bin
ef52c912612b36201d7a3b99a936230f  vm61003.bin
56c717a1d60f32998c5b946a6027880c  vm61004.bin
b21bd0fec4919d24c1cd01e26083ba3f  vm61005.bin
b549a2b2d1a1f1502079fe916f01f8c8  vm71003a.bin
The first thing to note is that vm61002.bin is a duplicate of phromus.bin. Listening to the words in phromus.bin suggests to me that it is not a direct equivalent to the UK version, just with a different speaker. The UK ROM seems to have a very general set of words. The selection of words in the US ROM, though, seems to be aimed at having equipment provide information about industrial processes to a person, possibly as part of an alarm condition. Maybe it could even be part of equipment that would generate an automatic telephone call to a remote technician and deliver a suitable message.

The next ROM, vm61003.bin, does not seem to be in Acorn format, i.e. it doesn't seem have an index that can be found by the BBC OS and therefore speaks sounds that seem somewhat random. That is as far as I have got so far.
User avatar
Pernod
Posts: 3439
Joined: Fri Jun 08, 2012 11:01 pm
Location: Croydon, UK
Contact:

Re: Speech ROM and Other Components

Post by Pernod »

Coeus wrote: Mon Nov 29, 2021 7:38 pm Back on the topic of speech, what do we know of the PHROMs in the BeebEm respository. We have (with MD5 sums):

Code: Select all

35e9ab10bcf016bd24b4c716add009b9  phroma.bin
0fa890b2b52bf5c92a1a194f6d34be1d  phromus.bin
268257afba780985b35fcdbc6f778a52  phromus.txt
0fa890b2b52bf5c92a1a194f6d34be1d  vm61002.bin
ef52c912612b36201d7a3b99a936230f  vm61003.bin
56c717a1d60f32998c5b946a6027880c  vm61004.bin
b21bd0fec4919d24c1cd01e26083ba3f  vm61005.bin
b549a2b2d1a1f1502079fe916f01f8c8  vm71003a.bin
The first thing to note is that vm61002.bin is a duplicate of phromus.bin. Listening to the words in phromus.bin suggests to me that it is not a direct equivalent to the UK version, just with a different speaker. The UK ROM seems to have a very general set of words. The selection of words in the US ROM, though, seems to be aimed at having equipment provide information about industrial processes to a person, possibly as part of an alarm condition. Maybe it could even be part of equipment that would generate an automatic telephone call to a remote technician and deliver a suitable message.

The next ROM, vm61003.bin, does not seem to be in Acorn format, i.e. it doesn't seem have an index that can be found by the BBC OS and therefore speaks sounds that seem somewhat random. That is as far as I have got so far.
They're documented at https://en.wikipedia.org/wiki/User:Lord ... DULE_STUFF
- Nigel

BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
Coeus
Posts: 3557
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Speech ROM and Other Components

Post by Coeus »

Pernod wrote: Mon Nov 29, 2021 7:45 pm They're documented at https://en.wikipedia.org/wiki/User:Lord ... DULE_STUFF
Thanks. So the US ROM that had a different word set is described there as the industrial vocabulary which matches my description. This one does seem to contain an index in the style used by Acorn. The next three seem to lack this index but I have been able to index them by simply starting at address zero and letting VSP parse until it gets a STOP frame then pick up the new address. In the following the addresses are in hex. A ? means I could not make out what the word was so maybe someone else can have a listen to fill in the blanks.

VM61003 (Time and Weather Demo)

Code: Select all

         0 Zero
        4D One
        90 Two
        C7 Three
       113 Four
       15D Five
       1B0 Six
       203 Seven
       261 Eight
       2A4 Nine
       336 Ten
       389 Eleven
       414 Twelve
       45D Thirteen
       4E6 Fourteen
       584 Fifteen
       60B Sixteen
       698 Seventeen
       73B Eighteen
       7AB Nineteen
       845 Twenty
       891 Thirty
       8E9 Forty
       956 Fifty
       9C1 Sixty
       A2D Seventy
       AB0 Eighty
       B02 Ninety
       B6C Hundred
       BC3 Thousand
       C72 Million
       CEC Half
       D4F Negative
       DE6 Point
       E33 Affirmative
       EE7 Timed
       F69 Divide
       FD9 by
      1047 Hours
      10AC Plus
      10F1 Minus
      116D Equals
      11DB Red
      1254 Yellow
      12A6 Green
      1325 White
      136B the
      139E the
      13BF Answer
      142A Is
      1482 start
      14E4 Stop
      153D Ready
      157D Temperature
      1610 Time
      167B AM
      172D PM
      17DF O'clock
      1847 Degrees
      18FE Celsius
      19AC Fahrenheit
      1A4B Error
      1AA7 ?
      1B2F ?
      1B74 hour
      1BDB minutes
      1C51 Adjusting to
      1D06 Just
      1D5E East
      1DC4 West
      1E30 South
      1E91 North
      1EFE North-East
      1FB7 North-West
      2061 South-East
      210D South-West
      21C1 Hail
      222B Tornado
      22C2 Wind
      2340 Weather
      23BD Showers
      2448 Sleep
      24AF Smoke
      2520 Storm
      25AC Snow
      2627 Sand
      26B6 TELEX
      2718 Rain
      2788 Ice
      27E6 Feet
      282E Fog
      289D Heavy
      28DF Land
      294F in
      298F On
      29CB Variable
      2A6A Obscured
      2B09 Broken
      2B68 aloft
      2BDF Ceiling
      2C48 Partially
      2CC2 Visibility
      2D7A Drizzle
      2DDD Indicated
      2E74 Severe
      2ED7 Moderate
      2F59 Greenwich
      2FCA Mean
      3043 List
      30C0 Estimated
      314D Decreasing
      31F0 Moving
      325C Pressure
      32C9 Alternate
      334F Clear
      33AA Current
      33F4 Blowing
      3470 At
      34AA Turbulence
      353B Thinly
      3599 Increasing
      3634 More than
      36DB Less than
      3763 Freezing
      37EA Air
      382A Below
      38A6 And
      38ED ?
      3927 Haze
      39A5 ?
      3A0D Scattered
      3A8E Increasing to
      3B6A in
      3BB7 low
      3BE7 of
      3C2E ?
      3C37 Thunderstorms
      3CFB Overcast
      3DC7 Unlimited
      3E7B Low
      3EF4 Percent
      3F46 Over
      3F91 ?
VM61004 (Military Demo)

Code: Select all

         0 alpha
        64 bravo
        BC charlie
       11E delta
       171 echo
       1B3 foxtrot
       248 ought
       280 hotel
       2F6 india
       356 juliet
       3BC kilo
       409 lima
       44C mike
       48E november
       52A oscar
       587 papa
       5C9 quebec
       610 romeo
       670 sierra
       706 tango
       77D uniform
       7FB victor
       86E whisky
       8C7 x-ray
       93B zulu
       984 affirmative
       A38 negative
       ACF mayday
       B74 warning
       C07 icing
       C78 danger
       D0B emergency
       DD2 roger
       E50 hertz
       E8D ?
       E96 security
       F13 target
       F6E vectors
       FE6 light
      103D front
      1098 way
      10DA glide
      115E open
      11C2 lights
      1221 on
      1287 gun dish
      130A fireman
      13B9 select
      1420 filed
      14A5 MIG
      1511 alert
      1579 zone
      15FD terminal
      167E cancel
      16EB radios
      178E speed
      1800 knots
      1868 expect
      18D6 action
      193C radio
      19AA power
      1A07 cat
      1A5F information
      1B09 true
      1B52 pressure
      1BBF check
      1BF6 decrease
      1C63 advise
      1CED you
      1D27 ?
      1D7E error
      1DDA ?
      1E31 wrong
      1E91 no
      1EEA immediately
      1FA3 final
      200F please
      205A start
      20B6 course
      2102 RADAR
      2181 plan
      21EE target
      225B windows
      22F3 watch
      2336 use
      2381 turn
      23CE traffic
      2435 tank
      248A slow
      24F9 release
      256D jeep
      25A8 ignition
      2639 degree
      26A4 drain
      26F9 repair
      277C cancel
      2806 verify
      28A0 ready
      28FA use
      2976 out
      29BF other
      2A25 oil
      2A78 off
      2AC6 near
      2B26 rate
      2B93 mixture
      2C16 much
      2C6E rate
      2CD0 is
      2D28 caution
      2D97 below
      2E13 cylinder
      2E90 contact
      2F0A and
      2F51 fuel
      2FA8 for
      2FE2 sequence
      3068 side
      30C3 slow
      3119 to
      3148 rich
      31B6 pumps
      320C level
      3273 lower
      32E5 rear
      3364 old
      33C9 long
      3435 level
      34AE left
      350F right
      356F open
      35C9 spray
      3659 ?
      36E2 evacuate
      379A failure
      3807 service
      3881 abort
      3902 identify
      3999 too low
      3A2F centre
      3AA9 area
      3B09 base
      3B45 control
      3BBB measured
      3C41 the
      3C74 the
      3C95 vacuum
      3D13 ?
VM61005 (Aviation Demo)

Code: Select all

         0 APU
        CC FSS
       1A8 ILS
       276 IFR
       34B VFR
       420 VHE
       52F landing gear
       60C level off
       6CE under-carriage
       791 spoilers
       83F air brakes
       8DB aerial
       960 engine
       9E4 flame out
       A70 flap load
       B36 inbound
       C08 ignite
       C7A no turn
       D47 flaps
       DB3 evacuation
       E8F doors
       F13 cabin
       F7F arrival
      1018 acknowledge
      10C2 raise
      1156 list
      11C2 approach
      123F departure
      12C5 clearance delivery
      13BB fuel
      142B idle
      1495 increase
      150D up
      154E taxi
      15BB as
      15F6 converging
      1690 above
      16F6 brake
      174E calm
      17C6 braking
      1837 call
      189E cross-wind
      1938 cyrstals
      19A6 cylinder
      1A32 cycle
      1A99 down
      1AF3 ground
      1B4B full
      1B9A new
      1C19 leg
      1C8B maintain
      1D37 landing
      1DC2 lean
      1E2E set
      1E75 short
      1ECB wake
      1F28 <silence>
      1F31 ?
      1F86 ?
      1FF9 RVRs
      20ED squawking
      2161 magnetos
      220E stabiliser
      22C7 ?
      2344 selcow
      23DF vortex
      247F VOR
      256A marker
      25DD heading
      263E ETA
      26F4 downwind
      2789 ceiling
      27F2 mid-point
      288B cygnet
      2906 roll-out
      29A4 ?
      29FD aircraft
      2A89 altimeter
      2B20 runway
      2BAB auto-pilot
      2C47 localiser
      2CFE cow
      2D5D in-flight
      2DF6 over sea
      2EA7 departure
      2F3B lunch
      2F9F tar
      3006 height watch
      30AC stall
      312B touchdown
      31BF squawk
      321D elevation
      32D0 climb
      3342 bank
      33A3 accelerated
      344E trin
      34A0 ?
      3546 slope
      359F niner
      361E galley
      3675 freedom
      36F0 flight
      3749 degree
      37B4 airport
      3820 airspeed
      38AE clearance
      3920 altitude
      39BB radio
      3A53 remarked
      3AEA refuelling
      3B9C outer
      3BF9 middle
      3C5F inner
      3CAC instruments
      3D55 flight
      3DB0 approaches
      3E55 here
      3EA8 boost
      3EE7 telephone
      3F79 ?
      3FEE alpha
Post Reply

Return to “8-bit acorn emulators”