Heute, am 11. November 2015, ist Veterans Day in den Vereinigten Staaten. " Taps " ist das Signalhorn, das bei US-Militärbestattungen gespielt wird:
( "Taps" auf SoundCloud von vtmiller )
Es ist eine einfache Melodie, die nur vierundzwanzig Noten lang ist und nur vier verschiedene Noten verwendet. Hier ist das Notenblatt:
( Quelle )
Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die "Taps" abspielt oder eine Audiodatei von "Taps" in einem beliebigen gängigen Audiodateiformat (z. B. MP3, WAV, MIDI) ausgibt. Es kann in jeder Tonart gespielt werden, mit jeder Art von Instrument oder Piepton, die für Ihre Sprache verfügbar sind. Zum Beispiel klingt es wie ein Klavier anstelle eines Signalhorns. (Es sollte jedoch immer nur ein Instrumententyp verwendet werden.)
Alle vierundzwanzig Noten müssen mit genauer Tonhöhe, Dauer und Abstand gespielt werden. Jemand, der mit "Taps" vertraut ist, sollte in der Lage sein, Ihren Code auszuführen und das gespielte Lied leicht zu erkennen.
Die Dauer der Melodie (vom Anfang der ersten bis zum Ende der letzten Note) muss zwischen 30 und 70 Sekunden liegen. Optional können Sie den Anfang und / oder das Ende Ihrer Audiodatei mit einer Pause von bis zu 5 Sekunden füllen, sodass eine 80-Sekunden-Datei die längste zulässige Zeit ist.
Natürlich können Sie den Song nicht einfach irgendwo online herunterladen oder aus einer Audiobibliothek extrahieren, die ihn zufällig als Sample enthält. Sie können jedoch Audiobibliotheken verwenden, mit denen Sie einzelne Noten abspielen / komponieren und Audiodateien erstellen können.
Wertung
Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes. Für diese besondere Herausforderung empfehle ich Ihnen jedoch, sich nicht auf Ihre Byteanzahl zu konzentrieren, insbesondere auf Kosten der Klangqualität. Spielen Sie mit Ihren Einsendungen, aber lassen Sie sich bei der Wahl Ihres Instruments oder der Klangausgabemethode kreativ ein. Bei dieser Herausforderung geht es darum, Veteranen zu ehren, und nicht darum, eine kaum wiedererkennbare Version von "Taps" herauszuholen.
Beachten Sie, dass Sie SoundCloud- Audiodateien direkt in Posts einbetten können, indem Sie den Link einfach in eine leere Zeile einfügen. Wenn Sie einen SoundCloud-Account haben, ist dies eine großartige Möglichkeit, Ihre Ausgabe zu teilen.