OpenDCC AniMat, MP3-Ausgabe

Überblick

    Zu den Animationen auf einer anspruchsvollen Modellbahnen gehören auch stationäre Geräusche (z.B. Bahnhofsdurchsagen, Vogelzwitschern im Wald, Kirchturmuhren, ..) Zum einfachen Erzeugen dieser Töne dient die nachfolgend vorgestellte Software, welche auf der Plattform AniMat einen mp3-Decoder realisiert.

    Die Sounds sind entweder in der Betriebsart dedizierter mp3-Dekoder benutzbar oder innerhalb von Sequenzen eingebettet.

Wie wird der 'Sound' erzeugt?

    Zum Speichern von Tönen hat sich das mp3-Format durchgesetzt. Töne können einfach am Computer bearbeitet werden und als Dateien abgespeichert werden. OpenDecoder4 verwendet eine microSD-Karte als Datenträger. Beim Eintreffen eines Weichenstellbefehls (DCC Accessory Command) wird einfach die zugehörige Datei von der Speicherkarte gelesen und auf den Ausgang ausgegeben. Damit man das auch gut hören kann, ist eine kräftige Audioendstufe auf dem Dekoder vorgesehen.
    Der Decoder kann mit dieser Software 8 verschiedene (frei wählbare) mp3-Dateien abspielen, die Dateinamen, Lautstärke und Balance Einstellung werden mit CVs definiert.

Kurzanleitung

    Nachfolgende Anleitung beschreibt die schnelle Inbetriebnahme des Dekoders, ohne groß an den CVs was einstellen zu müssen.
  • Zuerst muß man die gewünschten Audiodateien auf eine MicroSD-Karte kopieren. Der Dekoder gibt bis acht verschiedene Dateien aus, auf der SD-Karte dürfen aber auch mehr Dateien liegen. Die Namen der einzelnen Dateien sind wie folgt vorgegeben: 0.mp3, 1.mp3, 2.mp3, 4.mp3, 5.mp3, 6.mp3, 7.mp3 und 8.mp3.
  • Diese SDcard wird nun einfach in den Dekoder einsteckt und DCC sowie Stromversorgung eingeschaltet.
  • Durch Drücken des Programmiertaster (bzw. kurzes Schließen der Pins PROG und GND mit einem Schraubendreher) gelangt der Dekoder in den Programmiermode. Diese ist durch schnelles Flackern der Kontroll-LED erkennbar.
  • Nun wird eine Zubehöradresse an der DCC-Zentrale aufgerufen. Der Dekoder lernt diese Adresse (siehe hierzu auch die Erläuterungen beim normalen Schaltdekoder).

Sequenzen / Sound komibieren mit anderen Aktionen

    Der Decoder enthält neben der reinen mp3-Funktion auch die Möglichkeit, verschiedene Dekoderaktionen zu kombinieren. Beispiel und Erläuterungen.

Konfiguration mit Configurationsvariablen (CV)

    Im Grundzustand ist bereits eine sinnvolle Belegung für die CVs enthalten, man muß normalerweise bis auf die Adresse keine weiteren CV's einstellen!
    Die allgemeine Einstellung des Decoders (wie z.B. Adresse, BiDi-Verhalten, Einschaltzeit) ist identisch zum normalen Opendecoder und dort nachzulesen. Auch hier ist die vereinfachte Programmierung mittels Taster (zwischen PROG und Masse) und anschließendem Weichenstellbefehl möglich.
    Allgemeine Vorbemerkung: Um die Vielfalt des AniMat besser kontrollieren zu können, sind die CVs in Funktionsblöcke gegliedert (Adressen dieser Funktionsblöcke). Folgend ist hier nur der Offset zur Basisadresse angegeben.

CV für den mp3-Block im AniMat

    Die folgenden CVs sind als Block aufzufassen. Die tatsächliche Adresse ergibt sich, wenn man die Basisadresse des Blocks zur Teiladresse addiert. Deswegen sind die CV-Adressen hier mit einem '+' - Vorzeichen angegeben. Je nach integrierten SW-Modulen kann eine andere Basisadresse gelten, bitte daher bei PC-Programmen zur CV-Einstellung diese Möglichkeit vorsehen.
  • CV [Base] + 0: VOLUME
    Hier wird die allgemeine Lautstärke eingestellt, welche zusätzlich zur Lautstärke der einzelnen mp3-Dateien berücksichtigt wird.
      CV [Base] + 0: VOLUME
      255 volle Lautstärke.
      254 .. 1 reduzierte Lautstärke, jedes Digit bedeutet eine Pegeländerung um 0,5dB. Hierbei ist zu beachten, dass der Höreindruck einen großen Wertebereich von bis zu 100dB umfasst.
      0 Lautstärke 0, Ton ist aus.
  • CV [Base] + 1: BALANCE
    Hier wird die allgemeine Balance eingestellt, welche zusätzlich zur Balanceeinstellung der einzelnen mp3-Dateien berücksichtigt wird.
      CV [Base] + 1: BALANCE
      0 links und rechts gleich laut.
  • CV [Base] + 2: BASS
    Hier wird die Bassanhebung einsgestellt.
      CV Base+2: BASS
      0 normale Lautstärke
      1 .. 15 Bassanhebung
  • CV [Base] + 3: TREBLE
    Hier wird die Höhenanhebung/Absenkung einsgestellt.
      CV Base+3: TREBLE
      0 normale Lautstärke
      1 .. 7 Höhenanhebung
      -1 .. -7 Höhenabsenkung (-1 = 255, -2=254, usw.)
  • Definition der einzelnen Töne
    Für jeden Ton existieren Steuer-CVs, welche Abspielmode, Lautstärke, Balance und Dateinamen vorgeben. Diese CV sind je mp3-File zusammengefasst, der Decoder kann 8 verschiedene mp3-Files abspielen, es gibt also 8 solcher Gruppen von Steuer-CVs. Jede Gruppe ist dann einem DCC-Befehl (=[Cmd] zugeordnet.

    Tipp: der Sound für Befehl 0 sollte auf internen Flash bleiben - dort ist eine leere Datei abgelegt. Dadurch kann man eine laufende Ausgabe (selbst wenn diese unendlich repetierend ist) auch durch den Befehl 0 abbrechen.
    • CV [Base] + 4: MP3-SOURCE
      Hier wird der Wiederholungsmodus eingestellt (für Befehl 0).
        CV [Base] + 4: MP3-SOURCE
        0(*) internal flash
        1 sd-card
        Normalerweise wird die mp3-Datei von der SD-Karte gelesen. Bei bestimmten Anwendungen kann es aber erwünscht sein, direkt aus dem Programmspeicher des Dekoders zu agieren: hierbei muß die mp3-Datei bereits beim Kompilieren des Decoders mit eingebunden werden, nähere Hinweise siehe Quelltext.
    • CV [Base] + 5: LOOP CONTROL
      Hier wird der Wiederholungsmodus eingestellt (für Befehl 0).
        CV [Base] + 5: LOOP CONTROL
        0 Das mp3-file wird in einer Endlosschleife abgespielt.
        1(*) Das mp3-file wird einmal abgespielt.
        2 .. 255 Das mp3-file wird die angegebene Zahl mal abgespielt.
    • CV [Base] + 6>: FILE VOLUME
      Hier wird die individuelle Lautstärke dieser Datei eingestellt. Diese Lautstärke wird zusammen mit der allgemeinen Lautstärke verwendet.
        CV [Base] + 6: FILE VOLUME
        255 Das mp3-file wird mit voller Lautstärke abgespielt.
        254 .. 1 Das mp3-file wird mit reduzierter Lautstärke abgespielt.
        0 Lautstärke 0.
    • CV [Base] + 7: FILE BALANCE
      Hier wird die individuelle Balance (Links/Rechts) dieser Datei eingestellt. Diese Balance wird zusammen mit der allgemeinen Balance verwendet.
        CV [Base] + 7: FILE BALANCE
        -100 .. -1 Der rechte Kanal ist leiser, links ist ungedämpft.
        0 Links und Rechts gleich laut.
        1 .. 100 Der linke Kanal ist leiser, rechts ist ungedämpft.
      Hinweis: normalerweise kann man in Digitalsystemen keine negativen Werte programmieren. Es ist dann anstelle der negativen Zahl die entsprechende Darstellung im Zweierkomplement einzugeben: -1 entspricht 255, -100 entspricht 156
    • CV [Base] + 8 ... [Base] + 15: FILE NAME
      Hier wird der Dateiname für das mp3-File bei Stellbefehl 0 eingestellt. Die Software verwendet (aus Vereinfachungsgründen) klassische 8.3-Namen, d.h. der Dateinamen darf auf bis zu 8 Zeichen bestehen, die Dateierweiterung (manchmal auch Dateityp genannt) aus bis zu 3 Zeichen, beides getrennt durch einen Punkt. Die Dateierweiterung ist fest als .mp3 vorgegeben.
        CV [Base] + 8 ... [Base] + 15: FILE NAME
        32 ... 128 Eingabe Dateiname als ASCII-Zeichenkette z.B. '123'.
      Hinweise:
      Die Umwandlung von Zeichen in Zahlen wird gemäß der ASCII Tabelle vorgenommen.
      Wenn der Dateinamen kürzer als 8 Zeichen ist, so sind die restlichen Zeichen mit Leerzeichen (=32) oder 0 aufzufüllen.

      Voreinstellung: "0.mp3"
    • CV [Base] + 4 + [Cmd] * 16: MP3 SOURCE
      Hier wird der Signalquelle eingestellt (für Befehl [Cmd]).
    • CV [Base] + 5 + [Cmd] * 16: LOOP CONTROL
      Hier wird der Wiederholungsmodus eingestellt (für Befehl [Cmd]).
    • CV [Base] + 6 + [Cmd] * 16: FILE VOLUME
      Hier wird die individuelle Lautstärke dieser Datei eingestellt.
    • CV [Base] + 7 + [Cmd] * 16: FILE BALANCE
      Hier wird die individuelle Balance (Links/Rechts) dieser Datei eingestellt.
    • CV [Base] + 8 + [Cmd] * 16 ... [Base] + 15 + [Cmd] * 16: FILE NAME
      Hier wird der Dateiname für das mp3-File bei Stellbefehl 1 eingestellt. Voreinstellung: "#.mp3", wobei # den DCC-Befehl [Cmd] bezeichnet. Bei Befehl 1 wird also 1.mp3 abgespielt.
  • mp3-Testmode

      Zur Inbetriebnahme und zum Test der Audioendstufe gibt es einen Testmode, dieser wird mit CV33 = 49 und anschließendem Neustart aktiviert. Im Testmode werden keine mp3-Dateien abgespielt, sondern es werden die Sinusfunktionen des VS1011e aufgerufen.
        Taste Wirkung
        1 Ton abgeschaltet, Kontroll-LED leuchtet kurz auf.
        2 Sinuston mit 281,25 Hz, Kontroll-LED leuchtet etwas länger auf.
        3 Sinuston mit 375 Hz, Kontroll-LED leuchtet auf.
        4 Sinuston mit 468,75 Hz, Kontroll-LED leuchtet auf.
        5 Sinuston mit 562,5 Hz, Kontroll-LED leuchtet auf.
        6 Sinuston mit 1031,25 Hz, Kontroll-LED leuchtet auf.
        7 Sinuston mit 1500 Hz, Kontroll-LED leuchtet auf.
        8 Sinuston mit 2531,25 Hz, Kontroll-LED leuchtet auf.

    Unterlagen / Links