Yamaha CX5-m music macro programmeren

Enzo.F

vrijwillig lid
Lid sinds
31 mei 2010
Berichten
1.663
Locatie
a forest
Heeft iemand ervaring met de voor MSX geproduceerde Music Macro rom-kaart? Yamaha bracht in 1984 een speciale MSX personal computer uit met de CX5-m uitbreiding. Deze CX5-m is een 4 operator, 8 stemmige FM synth met 8 algoritmes.

Als optie zijn een aantal rom's te koop geweest waarop software staat die edit-tools aanbieden. Één daarvan is een basic-programmeer applicatie waarmee je geluiden kunt 'programmeren' met code.

Zijn er gebruikers van deze setup met de Music Macro rom die ervaring hebben met het programmeren? Heeft iemand documentatie hierover?
 
even wat rondgeneusd op CX5M.net... Onderaan de pagina met rom-images een tekstje:
** Henk Koekoek has sent me scanned articles from MSX Club Be/Nl Magazine which describes how to use the built-in speech synthesis on the Music Macro cartridge. Click here to read it.
Dat is erg grappig! Met de Music Macro cartridge in de MSX opgestart kun je vanaf de command-prompt "call init" typen en dan gevolgd door "call say(1,<string>)". Hierdoor zou je dus een soort sprekende stem moeten kunnen genereren, gebaseerd op instrument 1 (zit in het geheugen, kan je voor je het "call say" commando aanroept de eigenschappen van het instrument naar je hand zetten).

Verder:
Since the speech synthesis is aimed at the Japanese language it can be difficult getting the right pronouncation. In addition to these combinations above it's also possible to combine the following three letters: CHA CHI CHO CHU
Ik ga dit komend weekend even proberen, to be updated!

Verder ben ik er ook al achter gekomen dat je middels het commando MCSK, MODI en SOUND direct invloed kunt uitoefenen op de eigenschappen van het spelende geluid. Dit geeft me het idee dat je dus zonder note off en weer note on, het geluid kunt laten moduleren. Ik weet dit nog niet zeker. Als iemand hier info over heeft is dit zeer welkom!
 
Ik heb de Philips Music Module voor de MSX,,
De CX5M heb ik nooit gehad,, En er is/was idd veel voor te vinden,,
Er was idd veel in het Japans,..
Check effe https://www.msx.org/

Ik vind de MSX de beste home game computer die ik gehad heb.
De GFX sreen scroll was niet zo smooth, maar de game play was echt afgewerkt..
Dat ben ik maar bij enkele Amiga Games tegen gekomen

Soit, altijd leuk als je iets ontdekt dat nieuw is voor jezelf,, :) :)
 
Inderdaad Stephen!

Vanavond even wat getest. Bij Yamaha hebben ze het destijds zo gemaakt dat als de MSX niet snapt wat je geprogrammeerd hebt, er een Japanse tekst gesproken wordt. Dit geeft je het idee dat er gezegd wordt wat je typt maar het is een standaard tekstje dat er een syntax error heeft voorgedaan.

Ik als kaaskop versta dus niet dat ze zegt dat ze me niet snapt. Na wat verwoede pogingen begreep ik dat als ze dus steeds het zelfde zegt en dat ik dus wat moest veranderen in mijn syntax. Je bent strikt gebonden aan de combinaties in deze tabel. Als je bijvoorbeeld CA, FN of HX achter elkaar zet snapt de MSX het niet en krijg je dus het Japanse syntax error-tekstje.

Na opstarten dien je
Code:
CALL INIT
aan te roepen om de spraak synthese te initialiseren.
Daarna kun je
Code:
CALL SAY(1,"ROO")
aanroepen met als auditief resultaat dat je een geluid gelijkend op de kreet rooo hoort.
Het is mogelijk om het volume, de toonhoogte en de snelheid aan te geven door V-waarde 1-8, P-waarde 1-24 en S-waarde 1-8 voor de te spreken tekst te plaatsen.
Code:
CALL SAY(1,"v5p12s5,ROO")
Dit zal de kreet rooo in volume 5, toonhoogte 12 en snelheid 5 ten gehore brengen. Om het nog 'levendiger' te maken zijn er de < en > tekens om een portamento aan te brengen. Je plaatst tussen de tekens die gesproken dienen te worden de < voor porta omlaag en > voor porta omhoog. Dus:
Code:
CALL SAY(1,"v5p12s5,RO>OO")

Ik zal proberen deze code te tapen en als audio-bestandje toe te voegen in deze draad.
 
Zangles voor de MSX:



De code:
Code:
10 cls
20 call say(1,"v1p4s2,jee")
30 call say(1,"v1p9s5,roo")
40 call say(1,"v2p6s8,nee")
50 end
 
Last edited by a moderator:
 
Last edited by a moderator:
Het begint er op te lijken... De MSX vraagt van de gebruiker vier getypte teksten en vier eigenschappen-combinaties in format V ( 1-8 ) P ( 1-23 ) S ( 1-8 ). (V=volume, P=pitch, S=snelheid). Het programma zal dan willekeurig teksten spreken met willekeurig eigenschappen-combinaties:
Code:
10 cls
20 dim ZG$(4)
30 dim TN$(4)
40 R1=RND(-time)
50 R2=RND(-time)
60 for i = 0 to 3
70 input "wat zingen";ZG$(i)
80 input "geef eigenschappen";TN$(i)
90 next
100 R1 = int(RND(1)*4)
110 R2 = int(RND(1)*4)
120 Z$ = ZG$(R1)
130 T$ = TN$(R2)
140 print R1;R2;T$,Z$
150 call say(1,T$,Z$)
160 goto 100

Lekker naïef en onbevangen ingestapt, weinig kaas gegeten van programmeren maar toch een leuk resultaat. Probeer morgen even een youtube'je te posten...
 
Laatst gewijzigd:
Hey.. wat leuk dit. :mega: Heb zo'n zelfde computer gehad en in mijn jeugd veel MSX basic geprogrammeerd.
Is dit nu iets wat er standaard in zit, een beetje hetzelfde als het "Call fmv" commando? Of heb je hier een speciaal rom cartridge voor nodig?

Momenteel heb ik de CX5M-128 nog ergens samen met een memory-cartridge om klanken op te kunnen slaan zodat ik geen data recorder hoef te gebruiken.
Van de oude versie (CX5m) vond ik het maar een grote syntax error in het ontwerp dat de midi poorten op het ding geen note data naar de interne fm synth stuurde.. Ik had zelf destijds wel het klavier om de synth te bespelen.. en er zat 'n noten score rom bij .. maar dit is dan veruit de meest interessante rom dan :)
 
Is dit nu iets wat er standaard in zit, een beetje hetzelfde als het "Call fmv" commando? Of heb je hier een speciaal rom cartridge voor nodig?
De "call say" kan je uitvoeren met de YRM104 (Music Macro cartridge).


Van de oude versie (CX5m) vond ik het maar een grote syntax error in het ontwerp dat de midi poorten op het ding geen note data maar de interne fm synth stuurde..
Dit is in de eerste versie (SFG-01) niet mogelijk. De latere versie kan dit wel. De module heet SFG-05.
 
Hier een demonstratie zoals de code nu is... Hopeloos traag en kan ook in een simpele functie geschreven worden??


Hier heb ik zes leestekens per te zingen frase getoetst:


Ik vind d'r nog geen talent hebben maar dat reken ik mezelf ook een klein beetje aan...
 
Last edited by a moderator:
Het idee wordt de komende tijd uitgebreidt. Er worden dan twee frases willekeurig samengevoegd waardoor het naar verwachting iets muzikaler gaat worden. Ook zal de gebruiker zelf kunnen bepalen hoeveel frases er gebruikt worden en hoeveel eigenschappen er ingevoerd dienen te worden.
 
Ideetje:

definieer een array met toegestane pitches (in c-mineur bijvoorbeeld, of welke chromatische schaal je ook leuk vindt)
definieer een array met toegestane klanken
maak een loopje waarin je twee willekeurige nummers uitkiest die in de index van de array liggen - 1 voor de pitch, 1 voor de klank
herhaal 16 of 32 keer

Voila, muzikaal resultaat :)
 
Dank je Yoozer! Ik ga er eens tijd insteken!
 
Back
Top