เล่นเสียงก่อนหรือหลังโหลด GRUB


14

ฉันได้รับเสียงที่ยอดเยี่ยมจาก linux defender หรือ knoppix (หรืออย่างอื่นฉันจำไม่ได้ว่าอันไหน) ที่ระบุว่า "การเริ่มต้นลำดับการเริ่มต้น" และฉันต้องการใช้มันให้เร็วที่สุดเท่าที่จะทำได้ในกระบวนการบู๊ต มันบอกว่าเมื่อฉันเข้าสู่ระบบจะไม่ทำให้รู้สึกมากดังนั้นการเล่นเมื่อ GRUB เริ่มจะดีที่สุด มันสามารถทำได้?


2
มันเป็น knoppix :) ฉันจำได้เพียงเพราะมันเป็นดิสทริบิวเตอร์แรกของฉัน
Azendale

เตือนเป้าหมาย: นี้อาจจะเป็นจริงดัง
Nonny Moose

คำตอบ:


9

ตามคู่มือ GRUB โน้ตตัวแรกคือ 'tempo' และแต่ละคู่ของตัวเลขต่อไปนี้คือระยะเวลาและระยะห่าง

ระดับเสียงอยู่ใน 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"

สิ่งนี้เล่น arpeggio 4 โน้ตของ A, F # m, D, E


ใช้งานได้ดี! +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เมื่อเสร็จแล้วให้ใช้การเปลี่ยนแปลงของคุณด้วย


เพลงที่มีอยู่

(สิ่งที่ฉันหาได้)

ขึ้นของพวกเขาที่นี่


ทำความเข้าใจกับเพลง

ไวยากรณ์คือ: GRUB_INIT_TUNE="tempo [pitch1 duration1] [pitch2 duration2] ..."

จังหวะเป็นฐานสำหรับระยะเวลาบันทึกทั้งหมด 60 ให้ฐาน 1 วินาที, 120 ให้ฐานครึ่งวินาที ฯลฯ สนามคือ Hz ตั้งระดับเสียงเป็น 0 เพื่อสร้างส่วนที่เหลือ

ที่มา: เอกสารด้วง , เอกสารคำสั่งด้วงเล่น (หน้าเดียวกัน)


ดูตัวอย่าง / ทดสอบการปรับแต่ง

หากคุณต้องการทดสอบการปรับแต่ง: ติดตั้งsoxและใช้สคริปต์จากเธรด ubuntuforum.org นั้น (แก้ไขโดยฉันเล็กน้อยเพื่อลบคำเตือน):

ด้วง 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

เพื่อให้มันปฏิบัติการได้ 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

คุณถามว่ามันสามารถทำได้? คำตอบง่ายๆ ใช่เห็นได้ชัด จะทำอย่างไร? คุณต้องใส่เงินในช่องสำหรับคำตอบนั้น แค่เรื่องตลกเล็ก ๆ ของฉัน สิ่งที่ดีที่สุดที่ฉันทำได้คือ:

คู่มือด้วง

ไปที่ส่วน 5.1 การจัดการการกำหนดค่าอย่างง่ายและค้นหาบรรทัด GRUB_INIT_TUNE คุณจะต้องติดตามลิงก์ไปยัง Play และไวยากรณ์ของชื่อไฟล์ คุณจะแก้ไขไฟล์ Grub ด้วยตนเอง


ขอบคุณสำหรับลิงค์! (แต่ทำไมไม่เชื่อมโยงโดยตรงกับบทที่ 5? gnu.org/software/grub/manual/grub.html#Configuration )
jpaugh

3
  1. แก้ไขไฟล์/etc/default/grubเพื่อรวมบรรทัดต่อไปนี้ (นี่คือการปรับแต่ง init ของฉัน):

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

  2. วิ่งsudo update-grub2เพื่อใช้การเปลี่ยนแปลง


0

ฉันสร้างสคริปต์หลามที่แปลงไฟล์ midi ให้เป็นเพลงเริ่มต้นเหล่านี้:

https://gitlab.com/lukasfink1/midi2grub

มันต้องการไลบรารี่ mido เพื่อที่จะทำงาน นอกจากนี้โปรดทราบว่าคำสั่ง grub play สามารถเล่นท่วงทำนองแบบโมโนโฟนิกได้เท่านั้นดังนั้นคนกลางของคุณอาจฟังดูแปลก ๆ หากพวกเขาไม่ใช่


ฉันบังเอิญไปเป็นส่วนตัว ตอนนี้มันควรจะทำงาน
Lukas Fink
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.