GRUB로드 전후에 사운드 재생


14

나는 리눅스 방어자 또는 knoppix (또는 다른 어떤 것을 기억하지 못한다)에서 멋진 시작 소리를 들었다. 내가 로그인 할 때별로 의미가 없으므로 GRUB을 시작할 때 재생하는 것이 가장 좋습니다. 할 수 있습니까?


2
크노픽스였다. :) 첫 번째 Linux 배포판 이었기 때문에 기억합니다.
Azendale

공정한 경고 :이 아마있을 것 정말 큰 소리로.
Nonny Moose

답변:


9

GRUB 매뉴얼에 따르면 첫 번째 음표는 '템포'이며, 다음에 나오는 각 숫자 쌍은 지속 시간과 피치입니다.

음정은 Hz 단위이므로 소리가 좋은 음을 연주하려면 (서쪽에있는) 음조 주파수가 서양의 동일 기질 음계가 필요합니다.

http://pastebin.com/rJY30FmM

덧붙여 말하면, 붙여 넣은 Java 코드를 작성하고 사용한 후에 생각해 낸 내용은 다음과 같습니다.

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"

A, F # m, D, E의 4 음 아르페지오를 연주합니다.


잘 작동합니다! +1
Wilf

템포 분당 박자수 때문에 수단 (60) 1 비트 매초 120 개 수단 2 비트 매초 등 그리고, 인 시간이 너무 60 템포 2의 기간은 사운드, 비트 단위로 측정되는 2 초간 지속됩니다.
jpaugh

그것은 당신이 기대하는 것과 정확히 일치하며, 매뉴얼 뿐만 아니라 실험적으로도 검증했습니다 .
jpaugh

7

어떻게

파일 /etc/default/grub에서 변수 GRUB_INIT_TUNE를 원하는 튜닝으로 설정하십시오 .

예를 들어 : GRUB_INIT_TUNE="2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"

완료되면로 변경 사항을 적용하십시오 sudo update-grub2.


기존 곡

(내가 찾은 것)

  • 마리오 브라더스 버섯 파워 업 :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
  • 스타 워즈 제국의 죽음 3 월 :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éi의 곡 (오름차순) :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

여기에 더 많은 것들이 있습니다 .


곡 이해

구문은 다음과 같습니다. GRUB_INIT_TUNE="tempo [pitch1 duration1] [pitch2 duration2] ..."

템포는 모든 음표 길이의 기본입니다. 60은 1 초베이스, 120은 1/2 초베이스 등을 제공합니다. 피치는 Hz입니다. 휴식을 취하려면 피치를 0으로 설정하십시오.

출처 : grub documentation , grub play 명령 문서 (동일한 페이지).


곡 미리보기 / 테스트

조정을 테스트하려면 : 해당 ubuntuforum.org 스레드sox 에서 스크립트를 설치 하고 사용하십시오 (경고를 제거하기 위해 약간 수정했습니다).

그럽 플레이 튠

#!/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

실행 가능하게하려면 chmod +x grub-playtune

사용 예 :

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

노트의 빈도

노트의 빈도를 계산하는 python3 기반 스크립트 :

피치

#!/bin/bash

python3 -c "print(*(int(0.5 + 440 * 2 ** (note/12)) for note in (${*/%/,})))"

사용 예 :

$ 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

주파수 표

하나는 여기에 있습니다 . 위의 스크립트를 사용하여 생성 할 수도 있습니다.

$ 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

3

당신은 묻습니다, 할 수 있습니까? 간단한 대답? 그렇습니다. 어떻게 할 수 있습니까? 해당 답변을 위해 더 많은 돈을 투입해야합니다. 내 작은 농담. 내가 할 수있는 최선은 이것입니다 :

GRUB 매뉴얼

5.1 간단한 구성 처리 섹션으로 이동하여 GRUB_INIT_TUNE 줄을 찾으십시오. 재생 및 파일 이름 구문에 대한 링크를 따라야합니다. Grub 파일을 수동으로 편집해야합니다.


링크 주셔서 감사합니다! (그러나, 5 장에 직접 링크하지 않으시겠습니까? gnu.org/software/grub/manual/grub.html#Configuration )
jpaugh

3
  1. /etc/default/grub다음 줄을 포함하도록 파일 을 편집하십시오 (여기서는 내 초기 조정입니다).

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

  2. sudo update-grub2변경 사항을 적용하려면 실행하십시오 .


0

미디 파일을 다음과 같은 초기화 곡으로 변환하는 파이썬 스크립트를 만들었습니다.

https://gitlab.com/lukasfink1/midi2grub

실행하려면 mido 라이브러리가 필요합니다. 또한 grub play 명령은 모노 포닉 멜로디 만 연주 할 수 있으므로 미디는 그렇지 않은 경우 이상하게 들릴 수 있습니다.


실수로 개인용으로 사용했습니다. 이제 작동합니다.
Lukas Fink가
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.