J'ai un son sympa de Linux Defender ou Knoppix (ou autre chose, je ne me rappelle plus lequel) qui dit "lancer la séquence de démarrage". Et je veux l'utiliser dès que possible au démarrage. Le faire dire que lorsque je me connecte n'aura pas beaucoup de sens, donc le faire jouer lorsque GRUB sera le mieux. Cela peut-il être fait?
Selon le manuel GRUB, la première note est un "tempo" et chaque paire de nombres suivants est la durée et la hauteur.
La hauteur est en Hz, aussi, pour pouvoir jouer des notes agréables (qui sont accordées), vous aurez besoin des fréquences des notes à l'échelle de tempérament égalitaire occidental:
A propos, voici ce que je suis arrivé après avoir écrit et utilisé le code Java que j'ai collé:
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"
Cela joue un arpège de 4 notes de A, F # m, D, E.
Dans le fichier _/etc/default/grub
_, définissez la variable _GRUB_INIT_TUNE
_ sur la mélodie souhaitée.
Par exemple: _GRUB_INIT_TUNE="2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"
_
Une fois terminé, appliquez vos modifications avec _Sudo update-grub2
_.
(Ceux que j'ai pu trouver)
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
_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
_2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
_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
_Plusieurs d'entre eux ici .
La syntaxe est la suivante: _GRUB_INIT_TUNE="
_ tempo [pitch1 duration1] [pitch2 duration2] ...
_"
_
Le tempo est la base pour toutes les durées de note. 603 donne une base de 1 seconde, 120 une demi-seconde, etc. Définissez la hauteur sur 0 pour obtenir une pause.
Source: le documentation grub , le grub lecture documentation sur les commandes (même page).
Si vous voulez tester la mélodie: Installez sox
et utilisez le script de ce fil d'ubuntuforum.org (légèrement modifié par moi pour supprimer les avertissements):
_#!/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
_
Pour le rendre exécutable _chmod +x grub-playtune
_
Exemple d'utilisation:
_grub-playtune 2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
_
Un script basé sur python3 pour calculer la fréquence d'une note:
_#!/bin/bash
python3 -c "print(*(int(0.5 + 440 * 2 ** (note/12)) for note in (${*/%/,})))"
_
Utilisez des exemples:
_$ 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
_
L'un est disponible ici . Il peut également être généré en utilisant le script ci-dessus comme suit:
_$ 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
_
Vous demandez, peut-il être fait? La réponse simple? Oui, apparemment. Comment ceci peut être fait? Vous devez mettre plus d'argent dans la fente pour cette réponse. Juste ma petite blague. Le mieux que je puisse faire est la suivante:
Passez à la section 5.1 Gestion de la configuration simple et recherchez la ligne GRUB_INIT_TUNE. Vous devrez suivre les liens vers la syntaxe de lecture et de nom de fichier. Vous devrez éditer manuellement un fichier Grub.
Editez le fichier /etc/default/grub
pour inclure la ligne suivante (voici mon réglage init):
GRUB_INIT_TUNE = "2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"
Exécutez Sudo update-grub2
pour appliquer le changement.
J'ai créé un script python qui convertit les fichiers MIDI en ces mélodies initiales:
https://gitlab.com/lukasfink1/midi2grub
Il a besoin de la bibliothèque mido pour fonctionner. Notez également que la commande de lecture grub ne peut jouer que des mélodies monophoniques. Par conséquent, vos midis peuvent paraître étranges s’ils ne le sont pas.