Tiện ích mở rộng:Score

This page is a translated version of the page Extension:Score and the translation is 100% complete.
Cẩm nang phần mở rộng MediaWiki
OOjs UI icon advanced-invert.svg
Score
Trạng thái phát hành: ổn định
Lilytest1.png
Cài đặt Tag
Mô tả Cho phép kết xuất các khuông nhạc với LilyPond
Tác giả Alexander Klauer, Étienne Beaulé
Phiên bản 0.3.0 (2019-03-23)
MediaWiki 1.36+
PHP 5.3+
Giấy phép GNU General Public License 3.0 or later
Tải xuống
README.md
  • $wgScoreShell
  • $wgScorePath
  • $wgScoreAbc2Ly
  • $wgScoreFluidsynth
  • $wgScoreLame
  • $wgScoreEnvironment
  • $wgScoreLilyPond
  • $wgWikibaseMusicalNotationLineWidthInches
  • $wgScoreImageMagickConvert
  • $wgScoreLilyPondFakeVersion
  • $wgScoreFileBackend
  • $wgScoreDirectory
  • $wgScoreTrim
  • $wgScoreGhostscript
  • $wgMusicalNotationEnableWikibaseDataType
  • $wgScoreOfferSourceDownload
  • $wgScoreMaxLength
  • $wgScoreDebugOutput
  • $wgScoreUseSvg
  • $wgScoreDisableExec
  • $wgScoreSafeMode
  • $wgScoreSoundfont
score
Quarterly downloads 34 (Ranked 134th)
Public wikis using 1,005 (Ranked 252nd)
Translate the Score extension if it is available at translatewiki.net
Issues Open tasks · Báo cáo lỗi

Tiện ích mở rộng Score cho phép kết xuất các khuông nhạc dưới dạng hình ảnh PNG bằng cách sử dụng LilyPond và cũng có thể chuyển đổi chúng thành các tập tin âm thanh và MIDI.

Nhìn nhận

Cách sử dụng

Sau khi cài đặt và thiết lập, bạn có thể nhúng một ký hiệu LilyPond đơn giản thành mã wiki của bạn bên trong thẻ ‎<score>...‎</score>. Ví dụ:

<score>\relative c' { f d f a d f e d cis a cis e a g f e }</score>

yields:

 

Bạn cũng có thể chỉ định các thuộc tính cho thẻ khuông nhạc ở dạng chung

<score attribute1="value1" attribute2="value2"></score>.

Ví dụ:

<score sound="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>

yields:

 

Các thuộc tính sau có sẵn

Thuộc tính Các giá trị cho phép: Hiệu ứng
lang ABC, lilypond (default) Đặt ngôn ngữ cho bản nhạc. Ví dụ, để cung cấp khuông nhạc trong ký hiệu ABC, bạn có thể sử dụng:
<score lang="ABC">
X:1
M:C
L:1/4
K:C
C, D, E, F,|G, A, B, C|D E F G|A B c d|
e f g a|b c' d' e'|f' g' a' b'|]
</score>
midi obsolete Điều này được sử dụng để kiểm soát xem hình của khuông nhạc được xuất ra có liên kết với tệp MIDI hay không.
override_midi Tên tập tin đã biết, nghĩa là, nếu override_midi="name" được cung cấp, [[File:name]] sẽ không mang lại liên kết đỏ (deprecated) Thay vào đó, bạn có thể thêm liên kết wiki [[File:superior midi filename.mid]] sau thẻ đóng ‎</score>.
Sử dụng tệp MIDI được chỉ định thay vì tạo tệp bằng LilyPond. Sử dụng thuộc tính này cùng với thuộc tính midi (xem trước) hoặc thuộc tính âm thanh (xem sau). Thuộc tính này hữu ích nếu bạn đã có tệp MIDI có chất lượng vượt trội so với tệp do LilyPond tạo ra.
override_audio Tên tập tin đã biết, nghĩa là, nếu override_audio="name" được cung cấp, [[File:Name]] sẽ không mang lại liên kết đỏ (deprecated) Thay vào đó, bạn có thể thêm liên kết wiki [[File:superior audio filename.oga]] sau thẻ đóng ‎</score>.
Phương tiện nhúng vào được chỉ định bởi tên tập tin trong HTML sau (các) hình ảnh của khuông nhạc. Đây là một thay thế cho thuộc tính âm thanh (xem thêm). Ví dụ, nó có thể hữu ích nếu bạn có tệp âm thanh phù hợp có chất lượng vượt trội so với tệp âm thanh được tạo tự động. Tất nhiên, bạn vẫn có thể bỏ qua cả hai thuộc tính trong trường hợp này và thêm tập tin vào trang theo cách thủ công nếu muốn.
override_ogg Bí danh không dùng nữa cho override_audio.
raw 0 (default), 1 Nếu đặt thành 1, mã khuông nhạc được hiểu là một tệp LilyPond hoàn chỉnh. Sử dụng tùy chọn này nếu bạn muốn tạo các khuông nhạc phức tạp hơn. Nếu ngôn ngữ khuông nhạc (thuộc tính lang) không được đặt thành lilypond, thì thuộc tính này sẽ bị bỏ qua. Theo mặc định (khi raw=0), mã được cung cấp được bao bọc trong khối \score{...}, cùng với khối \layout{...}\midi{...} mặc định, nếu chưa được cung cấp.
sound 0 (default), 1 Nếu đặt thành 1, một tập tin âm thanh sẽ được tạo cho khuông nhạc, miễn là bạn đã cài đặt và định cấu hình Extension:TimedMediaHandler . Trình phát âm thanh sẽ được nhúng vào HTML sau (các) hình ảnh khuông nhạc.
vorbis 0 (default), 1 (deprecated) Bí danh cho sound

Ngôn ngữ LilyPond

Lời bài hát có thể được thêm vào như sau:

<score>
\relative c'' { \time 4/4 \key c \major 
c4 g8 g a4 g r b^> c^> r \bar "|." } 
\addlyrics { Shave and a hair -- cut: two bits. }
</score>
 

Đối với người dùng nâng cao, lệnh \set Staff.midiInstrument có thể được sử dụng để thay đổi nhạc cụ MIDI cho âm thanh.

Điều kiện

Các gói sau đây được khuyến nghị:

  • LilyPond
  • Ghostscript
  • ImageMagick
  • FluidSynth
  • Firejail

Tiện ích mở rộng này sử dụng LilyPond để hiển thị hình ảnh khuông nhạc, vì vậy bạn cần cài đặt LilyPond đang hoạt động (Special:Version hiển thị phiên bản LilyPond). Nếu bạn cài đặt LilyPond từ một gói, Ghostscript cũng sẽ được cài đặt, vì LilyPond phụ thuộc vào Ghostscript. ImageMagick nên được cài đặt để cắt hình ảnh, nếu không các trang sẽ chứa quá nhiều khoảng trắng.

Vì lý do bảo mật, chúng tôi khuyên bạn nên cài đặt firejail để hạn chế những gì LilyPond và Ghostscript có thể thực hiện nếu người dùng không tin cậy được phép sửa đổi wiki của bạn.

Tiện ích mở rộng cũng có khả năng tạo tệp âm thanh từ tệp MIDI do LilyPond tạo. Nếu bạn muốn sử dụng chức năng này, bạn cần cài đặt Extension:TimedMediaHandler .

FluidSynth là phương pháp ưa thích để chuyển đổi tệp MIDI thành tệp âm thanh, tuy nhiên TiMidity++ cũng được hỗ trợ.

Quan ngại về bảo mật

 
Sử dụng Shellbox để bảo vệ LilyPond nhằm bảo vệ wiki của bạn!

Khuông nhạc sử dụng LilyPond ở chế độ an toàn, tuy nhiên, có những lỗ hổng thoát khỏi chế độ an toàn chưa được sửa chữa nhưng đã biết dẫn đến việc thực thi tùy ý.

Nếu bạn không hoàn toàn tin tưởng tất cả những người có đặc quyền sửa đổi trên wiki của mình, bạn nên thiết lập ngăn chặn lilypond bằng cách sử dụng Shellbox . Xem Shellbox#Server setup để biết chi tiết về cách thiết lập máy chủ được chứa và bên dưới để định cấu hình MediaWiki để sử dụng nó. Ngoài ra, hãy đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của LilyPond (2.22.0 trở lên) hoặc gói phân phối (ví dụ: từ Debian) có các bản sửa lỗi bảo mật. Luôn bật chế độ an toàn, ngay cả khi ngăn chặn như một lớp phòng thủ bổ sung. Một số chức năng sẽ không hoạt động ở chế độ an toàn, cách khắc phục là sửa đổi LilyPond để cho phép chức năng đó ở chế độ an toàn.

Cài đặt

See the extension's README.md for detailed installation instructions.
  • Download and place the file(s) in a directory called Score in your extensions/ folder.
  • Thêm mã sau vào dưới cùng tệp $LocalSettings của bạn:
    wfLoadExtension( 'Score' );
    $wgScoreTrim = true;
    $wgImageMagickConvertCommand = '/usr/bin/convert';
    $wgShellboxUrl = '... address to Shellbox ...';
    $wgShellboxSecretKey = '... your secret key ...';
    
  • Tạo một thư mục con có tên lilypond trong $wgUploadDirectory của bạn (thường là thư mục có tên images trong thư mục MediaWiki của bạn). Đảm bảo rằng thư mục có thể ghi được bởi máy chủ Web của bạn.
  •   Xong – Chuyển tới Special:Version trên wiki của bạn để xác nhận phần mở rộng được cài đặt thành công.

Dành cho những người đang dùng MediaWiki 1.26 trở xuống:

Những chỉ dẫn bên trên diễn tả cách mới để cài phần mở rộng này sử dụng wfLoadExtension(). Nếu bạn muốn cài đặt phần mở rộng này trong những phiên bản cũ hơn, thay vì wfLoadExtension( 'Score' );, bạn cần dùng:

require_once "$IP/extensions/Score/Score.php";

Cấu hình

Dưới đây là một số tham số cấu hình chung của tiện ích mở rộng.

$wgScoreLilyPond

Đặt $wgScoreLilyPond thành đường dẫn của tệp thực thi LilyPond của bạn (thường là /usr/bin/lilypond hoặc /usr/local/bin/lilypond).

$wgScoreTrim

$wgScoreTrim là một giá trị boolean mặc định của $wgUseImageMagick. Nếu kết quả là true, kết quả Hình ảnh PNG của khuông nhạc được cắt bằng ImageMagick. Nếu bạn khuông muốn cắt ảnh hoặc không muốn cài đặt ImageMagick, hãy đặt giá trị $wgScoreTrim thành false.

$wgScoreAbc2Ly

Đặt $wgScoreAbc2Ly sang đường dẫn từ ABC sang trình chuyển đổi LilyPond có thể thực thi của bạn (thường là /usr/bin/abc2ly hoặc /usr/local/bin/abc2ly).

$wgScoreFluidsynth

Đặt $wgScoreFluidsynth thành đường dẫn của tệp thực thi Fluidsynth của bạn (thường là /usr/bin/fluidsynth hoặc /usr/local/bin/fluidsynth).

$wgScoreSoundfont

Đặt $wgScoreSoundfont thành đường dẫn của tệp soundfont của bạn (thường là /usr/bin/soundfont hoặc /usr/local/bin/soundfont).

$wgScoreLame

Đặt $wgScoreLame thành đường dẫn của tệp thực thi Lame của bạn (thường là /usr/bin/lame hoặc /usr/local/bin/lame). Điều này là bắt buộc nếu tệp âm thanh được tạo phải có định dạng MP3.

Nhận xét

Tiện ích mở rộng này chạy các tệp nhị phân khác nhau trong Shellbox để cung cấp một số bảo mật. Bạn có thể phải tăng $wgMaxShellMemory nếu gặp lỗi "hết bộ nhớ".

Tìm bản nhạc

Các trang có khuông nhạc sẽ được đặt thuộc tính trang "khuông nhạc". Sử dụng Special:PagesWithProp, bạn có thể tìm các trang có khuông nhạc. (Truy vấn ví dụ cho Wikipedia tiếng Anh.)

Xem thêm