Phát âm thanh trước hoặc sau khi tải GRUB


14

Tôi đã nhận được một âm thanh tuyệt vời từ hậu vệ linux hoặc knoppix (hoặc một cái gì đó khác, tôi không nhớ cái nào) có nghĩa là "khởi tạo trình tự khởi động" Và tôi muốn sử dụng nó sớm nhất có thể trong quá trình khởi động. Có nó nói rằng khi tôi đăng nhập sẽ không có nhiều ý nghĩa, vì vậy, chơi nó khi GRUB bắt đầu sẽ là tốt nhất. Nó có thể được thực hiện?


2
Đó là knoppix. :) Tôi chỉ nhớ vì đó là bản phân phối Linux đầu tiên của tôi.
Azendale

Cảnh báo công bằng: điều này có thể sẽ thực sự lớn.
Nonny Moose

Câu trả lời:


9

Theo hướng dẫn sử dụng GRUB, ghi chú đầu tiên là 'nhịp độ' và mỗi cặp số sau đây là thời lượng và cao độ.

Cao độ tính bằng Hz, vì vậy để phát các nốt có âm thanh hay (có giai điệu), bạn sẽ cần tần số của các nốt trong thang đo khí bình đẳng phương tây:

http://pastebin.com/rJY30FmM

Ngẫu nhiên, đây là những gì tôi nghĩ ra sau khi viết và sử dụng mã Java tôi đã dán:

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"

Điều này phát một arpeggio 4 nốt của A, F # m, D, E.


Hoạt động tuyệt vời! +1
Wilf

Các tiến độ là số nhịp mỗi phút, vì vậy 60 phương tiện 1 nhịp mỗi giây, 120 phương tiện 2 nhịp đập mỗi giây, vv Và, những khoảng thời gian được đo bằng nhịp đập, như vậy với một nhịp độ 60 và một khoảng thời gian 2, âm thanh nên kéo dài 2 giây.
jpaugh

Điều đó hoàn toàn phù hợp với những gì bạn mong đợi và tôi đã xác minh bằng thực nghiệm, cũng như từ hướng dẫn .
jpaugh

7

Làm sao

Trong tệp /etc/default/grub, đặt biến GRUB_INIT_TUNEthành giai điệu bạn muốn.

Ví dụ: GRUB_INIT_TUNE="2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6"

Sau khi thực hiện, áp dụng các thay đổi của bạn với sudo update-grub2.


Giai điệu hiện có

(Những cái tôi có thể tìm thấy)

  • Mario Bros. Nấm 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
  • Cái chết của Hoàng gia tháng 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
  • giai điệu của xiè-jìléi (tăng dần):2000 400 4 0 1 500 4 0 1 600 4 0 1 800 6
  • Giai điệu của Adams (giống như tôi với tôi):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

Nhiều hơn trong số họ ở đây .


Hiểu một giai điệu

Cú pháp là: GRUB_INIT_TUNE="tempo [pitch1 duration1] [pitch2 duration2] ..."

Tốc độ là cơ sở cho tất cả thời lượng ghi chú. 60 cho cơ sở 1 giây, 120 cho cơ sở nửa giây, v.v ... Các nốt là Hz. Đặt cao độ thành 0 để tạo phần còn lại.

Nguồn: tài liệu grub , tài liệu lệnh grub play (cùng trang).


Xem trước / kiểm tra một giai điệu

Nếu bạn muốn kiểm tra giai điệu: Cài đặt soxvà sử dụng tập lệnh từ luồng ubuntuforum.org đó (do tôi sửa đổi một chút để xóa cảnh báo):

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

Để làm cho nó thực thi chmod +x grub-playtune

Sử dụng ví dụ:

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

Tần suất ghi chú

Một tập lệnh dựa trên python3 để tính tần số của ghi chú:

sân cỏ

#!/bin/bash

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

Sử dụng các ví dụ:

$ 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

Bảng tần số

Một cái có sẵn ở đây . Nó cũng có thể được tạo ra, sử dụng đoạn script trên như sau:

$ 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

Bạn hỏi, nó có thể được thực hiện không? Câu trả lời đơn giản? Vâng, rõ ràng. Nó được hoàn thiện bằng cách nào? Bạn cần đặt nhiều tiền hơn vào vị trí cho câu trả lời đó. Chỉ là trò đùa nhỏ của tôi. Điều tốt nhất mà tôi có thể làm là:

Hướng dẫn sử dụng GRUB

Chuyển đến phần 5.1 Xử lý cấu hình đơn giản và tìm dòng, GRUB_INIT_TUNE. Bạn sẽ cần phải theo các liên kết đến cú pháp tên Play và File. Bạn sẽ tự chỉnh sửa tệp Grub.


Cảm ơn các liên kết! (Nhưng, tại sao không liên kết trực tiếp đến chương 5? Gnu.org/software/grub/manual/grub.html#Configuration )
jpaugh

3
  1. Chỉnh sửa tập tin /etc/default/grubđể bao gồm dòng sau (Đây là giai điệu init của tôi):

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

  2. Chạy sudo update-grub2để áp dụng thay đổi.


0

Tôi đã tạo một tập lệnh python chuyển đổi tập tin midi thành các giai điệu init này:

https://gitlab.com/lukasfink1/midi2grub

Nó cần thư viện mido để chạy. Cũng lưu ý rằng lệnh chơi grub chỉ có thể phát các giai điệu đơn âm, vì vậy midis của bạn có thể nghe lạ nếu không.


Tôi vô tình có nó trên tư nhân. Bây giờ nó sẽ làm việc.
Lukas Fink
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.