Frage Spielen Sie einen Sound vor oder nach dem Laden von GRUB


Ich habe einen coolen Sound von Linux Defender oder knoppix (oder etwas anderes, ich erinnere mich nicht daran), der sagt "Start-up-Sequenz initiieren" Und ich möchte es so früh wie möglich im Boot-Prozess verwenden. Wenn ich sage, dass wenn ich mich einlogge, würde es nicht viel Sinn machen, es am besten zu spielen, wenn GRUB startet. Kann es gemacht werden?


13
2017-11-07 00:18


Ursprung


Es war knoppix. :) Ich erinnere mich nur, weil es meine erste Linux-Distribution war. - Azendale


Antworten:


Laut dem GRUB-Handbuch ist die erste Note ein "Tempo" und jedes folgende Zahlenpaar ist Dauer und Tonhöhe.

Die Tonhöhe ist in Hz. Um schön klingende Noten zu spielen (die stimmen), benötigen Sie die Frequenzen der Noten in der westlichen Equal Temperament-Skala:

http://pastebin.com/rJY30FmM

Übrigens, was ich nach dem Schreiben und Verwenden des eingefügten Java-Codes herausgefunden habe:

GRUB_INIT_TUNE="480 220 1 277 1 330 1 440 1 185 1 220 1 277 1 370 1 294 1 370 1 440 1 587 1 330 1 415 1 494 1 659 1"

Dies spielt ein 4-Noten-Arpeggio von A, F # m, D, E.


8
2017-07-19 13:24



Funktioniert super! +1 - Wilf
Das Tempo ist die Anzahl der Schläge pro Minute, also 60 bedeutet 1 Schlag pro Sekunde, 120 bedeutet 2 Schläge pro Sekunde, usw. Und, die Dauer wird in Beats gemessen, also sollte bei einem Tempo von 60 und einer Dauer von 2 der Sound 2 Sekunden dauern. - jpaugh
Das entspricht genau dem, was Sie erwarten, und ich habe es sowohl experimentell als auch von der Handbuch. - jpaugh


Wie

In der Datei /etc/default/grub, setze die Variable GRUB_INIT_TUNE zur gewünschten Melodie.

Zum Beispiel: GRUB_INIT_TUNE="2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"

Wenn Sie fertig sind, übernehmen Sie Ihre Änderungen mit sudo update-grub2.


Vorhandene Musikstücke

(Die ich finden konnte)

  • Mario Bros. Pilz Powerup: 1750 523 1 392 1 523 1 659 1 784 1 1047 1 784 1 415 1 523 1 622 1 831 1 622 1 831 1 1046 1 1244 1 1661 1 1244 1 466 1 587 1 698 1 932 1 1195 1 1397 1 1865 1 1397 1
  • Star Wars Imperialer Todesmarsch: 480 440 4 440 4 440 4 349 3 523 1 440 4 349 3 523 1 440 8 659 4 659 4 659 4 698 3 523 1 415 4 349 3 523 1 440 8
  • xiè-jìléis Melodie (aufsteigend): 2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
  • Adams 'Melodie (Rington-ähnlich zu mir): 480 220 1 277 1 330 1 440 1 185 1 220 1 277 1 370 1 294 1 370 1 440 1 587 1 330 1 415 1 494 1 659 1

Mehr davon Hier.


Verstehe eine Melodie

Die Syntax lautet: GRUB_INIT_TUNE="tempo [pitch1 duration1] [pitch2 duration2] ..."

Das Tempo ist die Basis für alle Notenlängen. 60 ergibt eine 1-Sekunden-Basis, 120 eine halbe Sekunden-Basis usw. Die Tonhöhen sind Hz. Setzen Sie die Tonhöhe auf 0, um eine Pause zu erzeugen.

Quelle: die grub Dokumentation, die Made abspielen Befehlsdokumentation (gleiche Seite).


Vorschau / Test einer Melodie

Wenn Sie die Melodie testen möchten: Installieren sox und benutze das Skript von dieser ubuntuforum.org-Thread (leicht von mir modifiziert, um Warnungen zu entfernen):

grub-playtune

#!/bin/dash

if [ $# -lt 3 ]; then
    echo "Usage: $0 tempo freq dur [freq dur freq dur...]" >&2
    exit 1
fi

tempo=$1; shift

tmpdir=$(mktemp -d)

while [ -n "$*" ]; do
    freq=$1; shift
    dur=$1;  shift
    dur=$(echo "$dur*(60/$tempo)"|bc -l)
    sox -e mu-law -r 8000 -n -t raw - synth $dur sine $freq >>$tmpdir/grubtune.ul 2> /dev/null
done

play -q -c1 -r 8000 $tmpdir/grubtune.ul

rm -r $tmpdir

Um es ausführbar zu machen chmod +x grub-playtune

Anwendungsbeispiel:

grub-playtune 2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6

Häufigkeit einer Note

Ein python3-basiertes Skript zur Berechnung der Häufigkeit einer Note:

Tonhöhe

#!/bin/bash

( echo "print("
for note do
  echo "'{:.0f} '.format(440 * 2 ** ($note/12)) + "
done
echo "'')" ) | python3

Um es ausführbar zu machen chmod +x pitch

Verwenden Sie Beispiele:

$ pitch 0        # gives you A_4
440
$ pitch 2        # gives you B_4
494
$ pitch -2       # gives you G_3
392
$ pitch -12 0 12 # gives you A_3, A_4 and A_5
220 440 880

Häufigkeitstabelle

Einer ist verfügbar Hier. Es kann auch mit dem obigen Skript wie folgt erzeugt werden:

$ pitch {-12..0} # A_3 to A_4
220 233 247 262 277 294 311 330 349 370 392 415 440
$ pitch {0..12} # A_4 to A_5
440 466 494 523 554 587 622 659 698 740 784 831 880
$ pitch {12..24} # A_5 to A_6
880 932 988 1047 1109 1175 1245 1319 1397 1480 1568 1661 1760

4
2018-01-24 22:34





Du fragst, Kann es getan werden? Die einfache Antwort? Ja, anscheinend. Wie kann es gemacht werden? Sie müssen mehr Geld in den Schlitz für diese Antwort setzen. Nur mein kleiner Witz. Das Beste, was ich tun kann, ist folgendes:

Das GRUB-Handbuch

Gehen Sie zu Abschnitt 5.1 Einfache Konfigurationsbehandlung und suchen Sie nach der Zeile GRUB_INIT_TUNE. Sie müssen den Links zu Play und Dateinamensyntax folgen. Sie müssen eine Grub-Datei manuell bearbeiten.


3
2017-11-07 00:56



Danke für den Link! (Warum verlinken Sie nicht direkt zu Kapitel 5? gnu.org/software/grub/manual/grub.html#Configuration) - jpaugh


  1. Datei bearbeiten /etc/default/grub um folgende Zeile einzuschließen (Hier ist meine Init Melodie):

    GRUB_INIT_TUNE = "2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"

  2. Lauf sudo update-grub2 um die Änderung anzuwenden.


3
2018-05-25 06:29