Tiện ích mở rộng:Score
Tiện ích mở rộng Score yêu cầu thiết lập một dịch vụ bên ngoài, Shellbox để xử lý các bản nhạc một cách an toàn qua LilyPond. Vui lòng xem lại thông tin trong #Quan ngại về bảo mật và tư vấn bảo mật năm 2021 trước khi cài đặt tiện ích mở rộng này. |
Score Trạng thái phát hành: ổn định |
|
---|---|
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 |
|
|
score |
|
Quarterly downloads | 30 (Ranked 102nd) |
Wiki công khai | 918 (Ranked 265th) |
Translate the Score extension if it is available at translatewiki.net | |
Phản hồi | 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
- Extension:LilyPond ban đầu được viết bởi Johannes E. Schindelin.
- Tiện ích mở rộng này dựa trên code review của Extension:LilyPond bởi Tim Starling.
- Extension:ABC ban đầu được viết bởi River Tarnell.
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' { \set Staff.midiInstrument = "tenor sax" 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 | (removed) Đ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 | (deprecated) 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{...} và \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
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 move the extracted
Score
folder to yourextensions/
directory.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Score - 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ênimages
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.
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
Pages containing <score>
tags are in the tracking category with message name 'score-use-category'.
Visit Special:TrackingCategories to find the localized title of this category on your wiki and show the pages in it, for example w:Category:Pages using the Score extension on the English Wikipedia.
Xem thêm
- Trợ giúp:Khuông nhạc trên Wikipedia tiếng Việt và Trợ giúp:Bản nhạc trên Wikisource có thêm ví dụ về cú pháp LilyPond
- Ký hiệu LilyPond
- Ký hiệu ABC
This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |