CODINGLISTINGS ★ THE SOUND OF MUSIC: ★

Hymn of Joy (Schneider Aktiv)Coding Listings
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

Wer sagt denn, daß der CPC gerade gut genug ist beim Einschalten zu piepen? Was wirklich in ihm steckt, kann unsere kleine Reihe zur Soundprogrammierung aufzeigen.
Sie erinnern sich sicherlich, daß wir im letzten Teil der Serie die ersten drei Parameter des Befehls SOUND besprochen haben. In dieser Folge wollen wir uns noch etwas genauer mit dem ersten Parameter beschäftigen und dann unser erstes Stück Musik von Ludwig van Beethoven programmieren, damit wir unsere Theorie auch praktisch anwenden können.

Soundausgabe auf mehreren Kanälen Stereo ist beim CPC ganz einfach

Das Ausgeben von einem Ton auf mehreren Kanälen wollen wir anhand von verschiedenen Beispielen erlernen. Geben Sie dazu bitte folgenden Befehl ein:

SOUND 1,284,50

Sie hören jetzt ein A auf dem linken Kanal. Zur Wiederholung: 1 steht für den Kanal, 284 für den Ton und 50 für die Länge des Tones. Geben Sie nun den nächsten Befehl ein:

SOUND 4,284,50

Nun hören Sie den gleichem Ton auf dem rechten Kanal, da das erste Bit verändert wurde. Addieren wir nun die Parameter der beiden Befehle, bekommt man folgendes heraus:

SOUND 5,284,50

Geben Sie auch diesen Befehl ein und Sie werden merken, daß das A nun auf beiden Kanälen ausgegeben wird. Die Methode der Ausgabe eines Tones auf mehreren Kanälen ist also denkbar einfach. Man muß lediglich die Dezimalzahlen der einzelnen Bits addieren und schon ist man fertig.

Das FLUSH-BIT Prioritäten in der Reihenfolge

Wie schon in Teil I beschrieben, kann man mit dem Befehl Flush Prioritäten setzen. Dieses wollen wir uns wieder anhand eines Beispieles verdeutlichen. Geben Sie dazu bitte folgende zwei Befehle ein:

Sound 1,284,100:

SOUND 1,142,100

Sie hören nun einmal ein tiefes und einmal ein hohes A. Geben Sie nun folgendes ein:

10 '===============
20 '= =
30 '= Hymn of Joy =
40 '= =
50 '= L.v. Beeth. =
60 '= =
70 '===============
80 DATA 1,190,48

Sound 1,284,100:

SOUND 129,284,100

Diesmal hören Sie nur den hohen Ton, obwohl Sie auch den tieferen eingegeben haben. Dieses liegt daran, daß Sie bei dem zweiten Befehl die Priorität gesetzt haben (was übrigens auch nach dem oben er-klärtenAdditionsprinzip funktioniert). Dieses bedeutet, daß nur noch die Befehle ausgeführt werden, die mit “FLUSH“ versehen sind.

Das HOLD-Parameter: Schneller Zugriff auf die Warteschlange

Das Hold-Parameter ist sehr einfach zu erklären. Setzt man einen Sound-Befehl in den Hold-Mo-dus und gibt ihn ein, passiert solange nichts, bis man ihn mit RELEASE aufruft. Dieses ermöglicht einen schnellen Zugriff auf die Warteschlange.

Z.B.: SOUND 66,284,200

Auflösung durch RELEASE 2. Es ist wichtig, hinter dem Befehl RELEASE noch die dem zu „erlösenden“ Kanal entsprechende Dezimalzahl zu setzen, da sonst gar nichts passieren wird. Natürlich ist auch eine Kombination der Befehle HOLD und FLUSH möglich, was so aussähe:

SOUND 128+64+2,284, 200

Doch nun zur Praxis. Im Anhang sehen Sie ein Beispiel für die Programmierung eines einstimmigen Musikstückes. Versuchen Sie einmal, quasi als Hausaufgabe, das Programm zu analysieren und die Programmierung zu verstehen. Die Besprechung folgt dann in der nächsten Folge. Weiterhin werden wir im nächsten Teil das Kapitel Sound mit Rendezvous behandeln.

(Sascha Basler) , SA

★ PUBLISHER: Schneider Aktiv
★ YEAR: 1987
★ LiCENCE: LISTING
★ COLLECTION: SCHNEIDER AKTIV 1987
★ AUTHOR: Sascha Basler
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Hymn  of  Joy    (Schneider  Aktiv)    GERMANDATE: 2021-06-19
DL: 162
TYPE: ZIP
SiZE: 3Ko
NOTE: Dumped by Johnny Farragut ; 40 Cyls
.HFE: Χ

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » De la musique avant toute chose
» Coding Src's » Rocking CPC volume 3
» Coding » Clefs2 55 - Logo - Programmation des Notes Musicales
» Coding » WAV2AY (WAV conversion to PSG register list, Amstrad Plus DMA-list..)
» Coding Src's » Stone's Rag
» Coding » De Mozart a Amstrad (Amstrad Magazine)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 300 millisecondes et consultée 683 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.