Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Lied "Stille Nacht" auf der Open-Maxi Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 12.12.2021 20:21)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
' ===========================================================================
' Demoprogramm: Lied "Stille Nacht" über Piezo-Schallwandler abspielen
' In OCBASIC 1.12a_e1 für Open-Macro von Dietmar Harlos am 22. Dezember 2020
' Konvertiert auf Open-Maxi am 12. Dezember 2021
' ===========================================================================

' Die Töne werden am BEEP-Port der Open-Maxi ausgegeben. Am BEEP-Pin kann ein
' Rechtecksignal mit unterschiedlicher Frequenz ausgegeben werden. Durch
' Anschluß eines Piezo-Schallwandlers (ohne Elektronik) wird ein Ton erzeugt.
' Der BEEP-Ton kann wie auf der C-Control I Version 1.1 parallel zur
' Programmausführung ausgegeben werden. Allerdings ist die Tonfrequenz um
' 25% höher.

' Dieses Programm demonstriert auch, wie komplizierte Berechnungen in
' Integer-Arithmetik durchgeführt werden können.

' Umrechnung der Tonhöhe (Note) von Open-Macro auf Open-Maxi:

' ton = 312500 / f                   'auf der Open-Maxi
' f   = 3.2E6 / (3*a^2+17*a+116)     'auf den bisherigen OM-Controllern
' ton = 312500 / (3.2E6 / (3*a^2+17*a+116))
'
'        75  2   425     725         'mit MuPAD Light berechnet
' ton = --- a  + --- a + ---
'       256      256      64
'
' ton = 75*a/256*a+83*a/50+11        'Umrechnung für Open-Maxi

' An dieser Stelle möchte ich mich bei Dirk von "das |_ Team" und bei Norbert
' für ihre Unterstützung bedanken.

' --- Definitionen ----------------------------------------------------------

DIM i BYTE          'Index
DIM a,b BYTE        'Aus Tabelle gelesene Werte für Tonhöhe und Tonlänge
DIM ton WORD        'Für die Open-Maxi berechneter Wert der Tonhöhe

DEFINE C4 61  '262 Hz        Noten der vierten Oktave
DEFINE D4 57  '294 Hz
DEFINE E4 54  '330 Hz
DEFINE F4 52  '349 Hz
DEFINE G4 49  '392 Hz
DEFINE A4 46  '440 Hz
DEFINE B4 43  '494 Hz

DEFINE C5 42  '523 Hz        Noten der fünften Oktave
DEFINE D5 39  '587 Hz
DEFINE E5 37  '659 Hz
DEFINE F5 36  '698 Hz
DEFINE G5 34  '784 Hz
DEFINE A5 32  '880 Hz
DEFINE B5 30  '988 Hz

DEFINE L1 60  'Ganze Note    Zeitdauer der Noten
DEFINE L2 30  'Halbe Note
DEFINE L3 20  'Drittelnote
DEFINE L4 15  'Viertelnote
DEFINE L6 10  'Sechstelnote
DEFINE L8  8  'Achtelnote
DEFINE L12 5  'Zwölftel Note
DEFINE L16 4  'Sechzehntel Note
DEFINE PAU 4  'Pause

' --- Hauptprogramm ---------------------------------------------------------

WHILE TRUE

  PRINT
  PRINT "Ich spiele Musik..."
  PRINT

  FOR i=0 TO 96 STEP 2

    a=LOOKTABBYTE(lied,i)
    b=LOOKTABBYTE(lied,i+1)

    PRINT a;" ";
    ton=75*a/256*a+83*a/38+11 'mit /38 statt /50 hier kleinerer Fehler
    PRINT ton
    BEEP ton, b, PAU

  NEXT i

  PAUSE 100

WEND

' --- Tabellen --------------------------------------------------------------

' Noten für "Silent Night" nach:

' http://tomaszdziurko.com/2014/12/merry-christmas-in-java/

TABLE lied BYTE

  G4, L2                    'First line
  A4, L6
  G4, L2

  E4, L1

  G4, L2
  A4, L6
  G4, L2

  E4, L1

  D5, L2
  D5, L4

  B4, L2
  B4, L4

  C5, L2
  C5, L4

  G4, L1

  A4, L2
  A4, L4

  C5, L2                    'Second line
  B4, L6
  A4, L3

  G4, L2
  A4, L6
  G4, L3

  E4, L2
  E4, L4

  A4, L2
  A4, L4

  C5, L2
  B4, L6
  A4, L3

  G4, L2
  A4, L6
  G4, L3

  E4, L2
  E4, L4

  D5, L2
  D5, L4

  F5, L2                    'Third line
  D5, L8
  B4, L4

  C5, L1

  E5, L1

  C5, L4
  G4, L4
  E4, L4

  G4, L2
  F4, L8
  D4, L3

  C4, L1

END TABLE

' --- Programmende ---------------------------------------------------------


Passender Link: Bedienungsanleitung zur Open-Macro und Open-Maxi

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Demoprogramm: Lied "Stille Nacht" auf der Open-Maxi (von das |_ Team - 13.12.2021 4:48)