News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_GUNHED

LambdaSpeak FS

Started by GUNHED, 17:50, 18 February 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

VintageAdvantage

Quote from: MiguelSky on 12:00, 26 March 21
I got some trouble in making the card pronounce correctly stressed syllables in Spanish as it uses a predictive way of pronunciation quite accurate but not for all words as you can type the accented vowels in CPC. I sorted this issue by using double vowel or hyphens, depending on the word structure. Just in case someone else bump into the same problem.
Like all automatic text-2-speech algorithms, the Spanish Epson parser that translates into DECtalk phonemes uses rules and heuristics, and these sometimes fail. That also happens in English mode btw.

In any case, the acceptable codes should just be standard ASCII (is that ISO-LATIN1?) :

áéíóúüñ  -> E1 E9 ED F3 FA FC F1
so each ASCII character with 8. bit set (> 127) needs to be sent in HEX using \x??.
Hence, the following should in principle work in |spanish |epson mode, but as I said, the parser can make mistakes: 

\xE1, ..., \xF1


GUNHED

Also it's fun to let tell the LS pseudos like "AST" or "PDT"...  :P
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

The RSX ROM for LSF was slightly changed. Now it does NOT reset the LS at initialization. Because some games need the SSA1 mode or the dk'tronics mode. Well, these games just initialize all ROMs and this does of course also init the LS ROM - and this in turn would reset the LS.

Now, all speech games will work without unplugging the RSX ROM.

Let me know in case there is a problem.

Download as usual ... see my signature or goto downloads at www.futureos.de
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

The new Firmware version 8 is out for LambdaSpeak FS. Enhancements in the serial communication, MIDI and so on. Please update your  ATmega 644 CPU. The new RSX ROM does support it. Here is the firmware file...
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

VintageAdvantage

#29
And here is the first MID file player for the CPC:


https://www.youtube.com/watch?v=hgxb1jFQXZo

:)

Update: Folks also asked for Speak&SID and LambdaSpeak 3, so here it goes.
Who likes Bach?


https://youtu.be/VYSfdv_Bce8

https://youtu.be/DupxDnYlKGM


XeNoMoRPH

Eeeeeeh, update firmware for my powerful  LS3?  :o :o :o
your amstrad news source in spanish language : https://auamstrad.es

VintageAdvantage

Quote from: XeNoMoRPH on 10:07, 14 April 21
Eeeeeeh, update firmware for my powerful  LS3?  :o :o :o
Not necessarily...the same should already work with LS3 since 2019  ;) I'll try with the LS3 and post a video soon. It should just work. Check out the MIDISYN.BAS program on the LS3.DSK.

GUNHED


Quote from: XeNoMoRPH on 10:07, 14 April 21Eeeeeeh, update firmware for my powerful  LS3?  :o :o :o

There will be one, we're still testing some 'news'  :) :) :)

Simple Terminal program for LSF, see LSF DSK 2 in my downloads, or here:
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

VintageAdvantage

Quote from: GUNHED on 23:17, 14 April 21Simple Terminal program for LSF, see LSF DSK 2 in my downloads, or here:

Oh that's great, finally my CPCs can chat with each other!


https://youtu.be/yyLCA3sauxY

Thanks much, great work! I had to remove the "CLEAR INPUT" in line 340 for the 464 though.

VintageAdvantage

Enough with all that classical piano B***S*** music for intellectuals  :P
Let's hear some real music from the CPC  ;D 8)

https://youtu.be/eS8sM_TLJnQ



RetroCPC

Brilliant Midi controller in full swing :) great work :)


VintageAdvantage

Thank you!

In principle yes... but there is still a bit of work to do  ;) See, the MIDI data is streamed into the CPC from the PC currently, and then echoed into the MIDI module.

This experiment shows that the interface and the CPC is fast enough to also, in principle, process complex MIDI songs. What we now need to do is record the incoming MIDI messages, associate each message with some time stamp info (e.g., FrameFly Ticker Counter value Delta from the previous MIDI message), write them into CPC RAM as they arrive, and write them to disk. Then, "MIDI record" the MIDI data streamed from the PC over USB MIDI into the CPC - a song such as Van Halen or Descent  2. Once recorded, we would like to play these MIDI messages back from RAM, utilizing the timestamp info we added. Not sure how much MIDI message data the CPC RAM can hold (well, we have memory expansions). In any way, the CPC should be fast enough to record and play back the MIDI message data in realtime, also for complex scores. The recorder and playback machine code programs still need to be written.

GUNHED

Yes, or have a kind of 'converter' maybe?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

GUNHED

#38

Thanks to Michael, we got FW9 now.
Firmware 9 tested and verified. Better serial communication (file attached).
Please see my pages download for new updates too if you like.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

RetroCPC

Quote from: GUNHED on 12:48, 22 April 21
Yes, or have a kind of 'converter' maybe?

"Intelligent" MIDI repeater :D

VintageAdvantage

#40
Quote from: GUNHED on 12:48, 22 April 21
Yes, or have a kind of 'converter' maybe?
Well, the converter would be a full-blown "MID" file player. Something that can just play back the standard MID files from the CPC and stream out the MIDI.

Here it is a bit simpler - the MID file is played by the PC and output as MIDI messages into the CPC via the USB -> MIDI PC Interface. The CPC would only have to record these (with timestamp information) into memory and play them back from there. A kind of "real time sequencer". I think this is easier to implement on the CPC than a full-blown MID player. But you are the expert, you will see when you get to it  ;)
Or there could be a PC Program (e.g., in Python) that writes out a CPC Assembler Program for a song. I believe this is what Arkos Tracker does (not sure it can write MIDI CPC Songs though). Python has lots of libraries for dealing and parsing MID files.

GUNHED

Quote from: VintageAdvantage on 16:15, 22 April 21
Well, the converter would be a full-blown "MID" file player. Something that can just play back the standard MID files from the CPC and stream out the MIDI.
Yes, that's what we need.

Quote from: VintageAdvantage on 16:15, 22 April 21Here it is a bit simpler - the MID file is played by the PC and output as MIDI messages into the CPC via the USB -> MIDI PC Interface. The CPC would only have to record these (with timestamp information) into memory and play them back from there. A kind of "real time sequencer". I think this is easier to implement on the CPC than a full-blown MID player. But you are the expert, you will see when you get to it  ;)
Or there could be a PC Program (e.g., in Python) that writes out a CPC Assembler Program for a song. I believe this is what Arkos Tracker does (not sure it can write MIDI CPC Songs though). Python has lots of libraries for dealing and parsing MID files.

The question is: How much memory would this effort take up?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

VintageAdvantage

#42
Quote from: GUNHED on 16:23, 22 April 21
Yes, that's what we need.

The question is: How much memory would this effort take up?

I don't think that much - van Halen MID File has only 45 KBs. So, if you only record the essential MIDI Messages with the CPC, (plus Timestamp added - something similar is also already in the MID file, but not represented in the MIDI messages when they arrive of course!), then it should just fit fine into the CPC memory. An some of the MIDI messages we would not need to record either.

As you year, something like van Halen MID file is reallly the creme de lá creme de lá creme of MID files. There are much more simpler and still great sounding MID files that have onl 24 KBs.

GUNHED

Would a 'record' of the 45 KB MID file (with timestamps) be smaller?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

RetroCPC

#44
If my memory serves me correct (bare in mind is was back in 1984 or some such) - the Music Machine for the CPC had a Midi sequencer, I used it with a Cheetah Midi keyboard.

http://www.cpcwiki.eu/index.php/Music_Machine


A quick search and I can only find a MP3 file of the program tape - not sure if a DSK file version of the software is available anywhere...

The Music Machine's great as it has an ADC - if we where to recreate one we could use a modern 16b Audio ADC and dither down to 8bits with a small FPGA...

VintageAdvantage

#45
Quote from: RetroCPC on 03:44, 23 April 21The Music Machine's great as it has an ADC - if we where to recreate one we could use a modern 16b Audio ADC and dither down to 8bits with a small FPGA...

Great idea in principle, just not sure what it would entail for the firmware. Would sampling need some extra RAM (EEPROM?) on board? The CPC doesn't have a lot of space for high-quality samples. LambdaSpeak 3 had 128 KB SPI EEPROM for PCM Sample memory.

I saw a replica of the Music Machine on Ebay, btw. Somebody is selling the PCBs.
https://www.ebay.com/itm/114671480943?hash=item1ab2f3f06f:g:xV0AAOSw4UVgH-FO

Unfortunately, the ATMega is also almost full... it seems such a project needs a more capable MCU?

Regarding old MIDI Sequencer programs for the CPC - I am a bit skeptical that they are really capable. For example, did it support MIDI track playback and simultaneous MIDI in sequencing / recording? And then, the polyphony... and multiple tracks of instruments. I have doubts that any of the existing CPC MIDI programs could reproduce something like the Jump! MID above. Did the MUSIC Machine software produce its own sounds, or require a MIDI module?

VintageAdvantage

#46
Regarding the Music Machine, it has some limitiations:

http://www.cpcwiki.eu/imgs/c/c7/Music_Machine_Manual.pdf

- for example, Page 28:
  (e) Using a MIDI Synthesizer, you may play 2 MIDI Machines notes simultaneously
- on Page 36:  The total [PCM sample] duration is 1.2 seconds  (24 KBs of RAM left)

Our MIDI AY CPC demo program uses all 3 AY voices (plus 3 more with Speak&SID from the SID chip... work in progress) 

So much for polyphony  ;)
Well, the AY has only 3 voices, and it seems you can also play a PCM Sample over MIDI. Of course, this is monophone... the Amdrum allowed for up to 3 PCM voices to be mixed together "on the fly" if I remember correctly. So this is a bit more limited than the Amdrum wrt PCM playback it seems.

Well, it's a cool device for sure, for the time, but has severe limitations.

The biggest drawback regarding MIDI IMHO is that you cannot really playback any standard MID files with it. This is what I am looking for. AS there are so many fun MIDs available. Nobody wants to use a clunky slow CPC editor to input some 3channel MIDI song by hand or one note at a time with a step sequencer (not realtime recording).

Besides, if you would add a chip such as the VS1053B then you would also have a GM MIDI synthesizer on board. This is what SymbiFace 3 has. For MP3, but they can also do MIDI. AFAIK, they stream the MIDI from the SDcard though, not from the CPC, which basically turns it into a SDcard MIDI jukebox then? Not sure that's the case. MIDI is only interesting if it is being generated / processed by the CPC IMHO, and not coming from SDcard which the firmware of the expansion card accesses.And, unlike MP3, for MIDI it is a realistic option that the CPC generates / streams it, and not only initiates a "playback from SDcard" command to the firmware. For MP3, the file sizes are of course prohibitive from a CPC point of view. So SDcard-based MP3 playback it is, like in LambdaSpeak. Even with 4 MB CPC memory expansion it would be insane of trying to attempt to playback / stream MP3 from the CPC memory  :) PCM samples and MIDI are a different story IMHO - see Amdrum, Music Machine, .... 

VintageAdvantage

Quote from: GUNHED on 01:08, 23 April 21Would a 'record' of the 45 KB MID file (with timestamps) be smaller?

Not sure. The MID format is pretty compact.

GUNHED

Quote from: VintageAdvantage on 07:03, 23 April 21
Our MIDI AY CPC demo program uses all 3 AY voices (plus 3 more with Speak&SID from the SID chip... work in progress) 
Actually it would be great if the 6 voices of the PlayCity can be added too. It's very easy to use them. Just like the AY, but write data direct (not via PIO). Maybe an idea to think about?  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

VintageAdvantage

#49
Quote from: GUNHED on 19:59, 23 April 21
Actually it would be great if the 6 voices of the PlayCity can be added too. It's very easy to use them. Just like the AY, but write data direct (not via PIO). Maybe an idea to think about?  :)
I didn't realize it's that easy. However, I am using ENVs controlled by the firmware... not sure how easy it is to have the firmware control PlayCity ENVs? I could probably use the hardware ENVs of the AY, that should be easier. Anybody has a BASIC code example for making a "Bell-like" (decaying) sound with PlayCity, using a hardware ENV?

NOTE: Speaking of which... I think I never really tried any of the AY's hardware ENV's in the CPC. Because I think it's impossible, given that the firmware controles the volume / ENVs, and hence would overwrite any hardware ENV volume control? Anybody know more? I guess it is as easy as writing some OUT commands to some registers in order to check if we can enable the AY's hardware ENVs. I'll try that at some point.

https://k1.spdns.de/Develop/Hardware/Infomix/ICs%20computer/IO%2C%20DMA%2C%20Timer/Sound/AY8910%2C%20AY8912%20PSG/psg.html

@TotO can you let me know what the preferred (simple) way of using ENVs with PlayCities AY is? Is the interupt counter to be used for this, or will simple hardware ENVs work? Thank you. A simple BASIC program would help that shows how to set up a harware ENV.

Powered by SMFPacks Menu Editor Mod