एक्सटेंशन:Score
Score एक्सटेंशन को एक बाहरी सेवा Shellbox की ज़रूरत है, ताकि LilyPond के ज़रिए संगीत स्कोर्स को सुरक्षित रूप से प्रोसेस किया जा सके। इस एक्सटेंशन को स्थापित करने से पहले कृपया '#सुरक्षा के मुद्दे' और 2021 सुरक्षा सूचना में मौजूद जानकारी को पढ़ लें। |
![]() प्रकाशन की स्थिति: स्थिर |
|
---|---|
![]() |
|
कार्यान्वयन | टैग |
विवरण | LilyPond के ज़रिए संगीत स्कोर्स रेंडर करने देता है |
लेखक | Alexander Klauer, Étienne Beaulé |
नवीनतम संस्करण | 0.3.0 (2019-03-23) |
MediaWiki | 1.36+ |
PHP | 5.3+ |
लाइसेंस | GNU साधारण सार्वजनिक लाइसेंस 3.0 या अधिक |
डाउनलोड करें | README.md |
|
|
score |
|
Quarterly downloads | 39 (Ranked 141st) |
Public wikis using | 918 (Ranked 265th) |
Score एक्सटेंशन को अनुवादित करें अगर यह translatewiki.net पर उपलब्ध है | |
मुद्दे | अधूरे कार्य · बग की रिपोर्ट करें |
Score एक्सटेंशन की मदद से आप LilyPond के ज़रिए PNG चित्रों के रूप में संगीत स्कोर्स को रेंडर कर सकते हैं, और उन्हें ऑडियो और MIDI फ़ाइलों में भी बदल सकते हैं।
श्रेय
- मूल Extension:LilyPond को Johannes E. Schindelin द्वारा लिखा गया था।
- यह एक्सटेंशन Tim Starling द्वारा Extension:LilyPond के एक कोड निरीक्षण पर आधारित है।
- मूल Extension:ABC को River Tarnell द्वारा लिखा गया था।
उपयोग
सेटअप के बाद आप अपने विकिटेक्स्ट पर <score>...</score>
टैग की मदद से साधारण LilyPond नोटेशन एम्बेड कर सकते हैं। उदाहरणस्वरूप:
<score>\relative c' { f d f a d f e d cis a cis e a g f e }</score>
का अंजाम होगा:
आप साधारण रूप में score टैग्स को एट्रीब्यूट्स भी प्रदान कर सकते हैं
<score attribute1="value1" attribute2="value2">…</score>.
उदाहरणस्वरूप:
<score sound="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
का अंजाम होगा:
निम्नलिखित एट्रीब्यूट्स उपलब्ध हैं:
एट्रीब्यूट | अनुमोदित वैल्यू | प्रभाव |
---|---|---|
lang | ABC, lilypond (default) | स्कोर की भाषा सेट करता है। उदाहरणस्वरूप, ABC नोटेशन में स्कोर प्रदान करने के लिए आप इसका इस्तेमाल करेंगे: <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) इससे यह नियंत्रित किया जा सकता है कि रेंडर किया गया स्कोर का चित्र किसी MIDI फ़ाइल से जुड़ता है कि नहीं। | |
override_midi | ज्ञात फ़ाइल का नाम, यानी, अगर override_midi="name" दिया जाता है, [[File:name]] का अंजाम लाल कड़ी नहीं होती है |
(deprecated) इस बजाय आप अंत के </score> टैग के बाद एक [[File:superior midi filename.mid]] विकिकड़ी जोड़ सकते हैं।LilyPond द्वारा बनाए गए MIDI फ़ाइल की जगह निर्दिष्ट MIDI फ़ाइल का इस्तेमाल करता है। इस एट्रीब्यूट का इस्तेमाल midi एट्रीब्यूट (पहले देखें) या sound एट्रीब्यूट (बाद में देखें) के साथ करें। यह एट्रीब्यूट काम आता है अगर आपको पास कोई ऐसी MIDI फ़ाइल है जिसकी गुणवत्ता LilyPond द्वारा बनाई गई MIDI फ़ाइल से बेहतर है। |
override_audio | ज्ञात फ़ाइल का नाम, यानी, अगर override_audio="name" दिया जाता है, [[File:Name]] का अंजाम लाल कड़ी नहीं होती है |
(deprecated) इस बजाय आप अंत के </score> टैग के बाद एक [[File:superior audio filename.oga]] विकिकड़ी जोड़ सकते हैं।स्कोर के चित्र/चित्रों के बाद फ़ाइल के नाम द्वारा निर्दिष्ट मीडिया को HTML में एम्बेड करता है। यह sound एट्रीब्यूट का एक विकल्प है (नीचे देखें)। उदाहरणस्वरूप, यह काम आता है अगर आपके पास स्वतः निर्मित ऑडियो फ़ाइल के मुक़ाबले बेहतर गुणवत्ता वाली उचित ऑडियो फ़ाइल है। बेशक, आप इस मामले में दोनों एट्रीब्यूट्स को छोड़ते हुए पृष्ठ पर फ़ाइल को अलग से जोड़ सकते हैं। |
override_ogg | (deprecated) override_audio के लिए दुगना-कालग्रस्त उपनाम। | |
raw | 0 (default), 1 | अगर 1 पर सेट किया जाता है, स्कोर को एक पूरा LilyPond फ़ाइल मान लिया जाता है। अगर आप अधिक जटिल स्कोर्स बनाना चाहते हैं तो इस विकल्प का इस्तेमाल करें। अगर स्कोर की भाषा (lang एट्रीब्यटू) को lilypond पर सेट नहीं किया जाता है, इस एट्रीब्यूट को अनदेखा कर दिया जाता है। डिफ़ॉल्ट से (जब raw=0 हो), प्रदत्त कोड को डिफ़ॉल्ट \layout{...} और \midi{...} ब्लॉक्स के साथ एक \score{...} ब्लॉक में लपेटा जाता है, अगर इसे पहले से डाला न गया हो।
|
sound | 0 (default), 1 | अगर 1 पर सेट किया जाता है, Extension:TimedMediaHandler के स्थापित और कॉन्फ़िगर किए जाने पर स्कोर के लिए ऑडियो फ़ाइल बना दी जाती है। स्कोर के चित्र/चित्रों के बाद HTML में एक ऑडियो प्लेयर एम्बेड कर दिया जाएगा। |
vorbis | 0 (default), 1 | (deprecated) sound का उपनाम। |
LilyPond की भाषा
बोल (लिरिक्स) ऐसे जोड़े जा सकते हैं:
<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>
उन्नत सदस्य, आवाज़ के MIDI यंत्र को बदलने के लिए \set Staff.midiInstrument
कमांड का इस्तेमाल कर सकते हैं।
पूर्व अपेक्षित गुण
निम्नलिखित पैकेजेस अनुशंसित हैं:
- LilyPond
- Ghostscript
- ImageMagick
- FluidSynth
- Firejail
यह एक्सटेंशन स्कोर के चित्रों को रेंडर करने के लिए LilyPond का इस्तेमाल करता है, तो आपको LilyPond की एक कार्यरत स्थापना की ज़रूरत होगी (Special:Version पर LilyPond का संस्करण दिखाया जाता है)। अगर आप किसी पैकेज से LilyPond को स्थापित करते हैं, Ghostscript को भी स्थापित कर दिया जाएगा, क्योंकि LilyPond Ghostscript पर निर्भर है। चित्रों को ट्रिम करने के लिए ImageMagick को स्थापित किया जाना चाहिए, वरना इनमें काफ़ी सारा व्हाइटस्पेस होगा।
सुरक्षा के कारणों से, अगर अविश्वसनीय सदस्यों को आपका विकि सम्पादित करने की अनुमति है, आपको firejail को स्थापित करके इसकी मदद से यह सीमित करना चाहिए कि LilyPond और Ghostscript क्या-क्या कर सकते हैं।
यह एक्सटेंशन LilyPond द्वारा बनाई गई MIDI फ़ाइलों की मदद से ऑडियो फ़ाइलें भी बना सकात है। अगर आप इस सुविधा का इस्तेमाल करना चाहते हैं, आपको Extension:TimedMediaHandler स्थापित करना होगा।
FluidSynth ही MIDI फ़ाइलों को ऑडियो फ़ाइलों में बदलने के लिए प्राथमिक साधन है, मगर TiMidity++ भी समर्थित है।
सुरक्षा के मुद्दे
Score, LilyPond का इस्तेमाल सेफ़ मोड में करता है, मगर सेफ़ मोड एस्केप में कुछ ज्ञात कमज़ोरियाँ हैं जिन्हें अभी तक ठीक नहीं किया गया है, जिनकी मदद से इच्छानुसार निष्पादन हो जाता है।
अगर आप अपने विकि पर सम्पादित करने योग्य हर सदस्य पर विश्वास नहीं करते हैं, हमारी सलाह होगी कि आप Shellbox की मदद से LilyPond को सीमित कर दें। सीमित सर्वर को सेट करने के बारे में विस्तार के लिए Shellbox#Server setup देखें, और इसका इस्तेमाल करने के लिए मीडियाविकि को कॉन्फ़िगर करने के लिए नीचे देखें। और यह भी सुनिश्चित करें कि आप LilyPond के किसी हाल ही के संस्करण (2.22.0+) या फिर किसी ऐसे वितरण पैकेज (जैसे Debian से) का इस्तेमाल कर रहे हों जिसमें सुरक्षा के सुधार हैं। सीमा को सुरक्षा के लिए रखते हुए भी सेफ़ मोड को सक्षम रखें। कुछ चीज़ें सेफ़ मोड में काम नहीं करेंगे, और इन्हें सक्षम करने के लिए आपको LilyPond को इस तरह से संशोधित करना होगा ताकि सेफ़ मोड में उस कार्य को किया जा सके।
स्थापना
- See the extension's
README.md
for detailed installation instructions.
- फाइलों को डाउनलोड करें और अपने
extensions/
फोल्डर केScore
नामक डिरेक्ट्री में डालें। - अपने
LocalSettings.php
फ़ाइल के नीचे निम्नलिखित कोड जोड़ें:wfLoadExtension( 'Score' ); $wgScoreTrim = true; $wgImageMagickConvertCommand = '/usr/bin/convert'; $wgShellboxUrl = '... address to Shellbox ...'; $wgShellboxSecretKey = '... your secret key ...';
- अपने $wgUploadDirectory (आम तौर पर अपने मीडियाविकि डिरेक्ट्री के
images
नामक डिरेक्ट्री) मेंlilypond
नामक एक सबडिरेक्ट्री बनाएँ। सुनिश्चित करें कि यह डिरेक्ट्री आपके वेब सर्वर द्वारा लेखनीय है। - पूर्ण – अपने विकि पर Special:Version पर जाकर देखें कि एक्सटेंशन को सफलतापूर्वक स्थापित किया गया है कि नहीं।
मीडियाविकि 1.26 या इससे पहले के सदस्यों के लिए:
ऊपर दिए गए निर्देश wfLoadExtension()
का उपयोग करके इस एक्सटेंशन को स्थापित करने के नए तरीके का वर्णन करते हैं।
अगर आप इस एक्सटेंशन को पहले के इन संस्करणों (मीडियाविकि 1.26 और उससे पहले) में स्थापित करना चाहते हैं, wfLoadExtension( 'Score' );
की जगह इसका इस्तेमाल करें:
require_once "$IP/extensions/Score/Score.php";
कॉन्फ़िगरेशन
ये रहे एक्सटेंशन के कुछ ग्लोबल पैरामीटर्स।
$wgScoreLilyPond
$wgScoreLilyPond
को अपने LilyPond निष्पादनीय के पथ पर सेट करें (आम तौर पर /usr/bin/lilypond
या /usr/local/bin/lilypond
)।
$wgScoreTrim
$wgScoreTrim
एक बूलियन है जो $wgUseImageMagick
के वैल्यू पर डिफ़ॉल्ट करता है। अगर यह
true
होता है, तो परिणाम में बने PNG चित्रों को ImageMagick की मदद से ट्रिम किया जाता है। अगर आप नहीं चाहते हैं कि चित्रों को ट्रिम किया जाए, या फिर आप ImageMagick को स्थापित नहीं करना चाहते हैं, $wgScoreTrim
को false
पर सेट करें।
$wgScoreAbc2Ly
$wgScoreAbc2Ly
को अपने ABC-से-LilyPond रूपांतरक निष्पादनीय के पथ पर सेट करें (आम तौर पर /usr/bin/abc2ly
या /usr/local/bin/abc2ly
)।
$wgScoreFluidsynth
$wgScoreFluidsynth
को अपने Fluidsynth निष्पादनीय के पथ पर सेट करें (आम तौर पर /usr/bin/fluidsynth
या /usr/local/bin/fluidsynth
)।
$wgScoreSoundfont
$wgScoreSoundfont
को अपने soundfont फ़ाइल के पथ पर सेट करें (आम तौर पर /usr/share/sounds/sf2/FluidR3_GM.sf2
या /usr/share/sounds/sf2/FluidR3_GS.sf2
)।
$wgScoreLame
$wgScoreLame
को अपने Lame निष्पादनीय के पथ पर सेट करें (आम तौर पर /usr/bin/lame
या /usr/local/bin/lame
)। अगर बनाए गए ऑडियो फ़ाइल को MP3 होना पड़ेगा, तो यह आवश्यक है।
टिप्पणियाँ
यह एक्सटेंशन कुछ सुरक्षा प्रदान करने के लिए एक Shellbox में कई बाइनरियाँ चलाता है। अगर आपको "out of memory" त्रुटियाँ आती हैं, आपको $wgMaxShellMemory को बढ़ाना पड़ सकता है।
स्कोर ढूँढ़ना
स्कोर्स वाले पृष्ठों पर "score" पृष्ठ गुणधर्म को सेट कर दिया जाएगा। Special:PagesWithProp की मदद से आप उन पृष्ठों को ढूँढ़ सकते हैं जिनपर स्कोर्स हैं ([$url अंग्रेज़ी विकिपीडिया के लिए उदाहरण क्वेरी]।)
ये भी देखें
- अंग्रेज़ी विकिपीडिया पर Help:Score और विकिस्रोत पर Help:Sheet music, पर LilyPond सिनटैक्स के अधिक उदाहरण हैं।
- Vexflow मुक्त स्रोत SVG/Canvas संगीत रेंडरर
- LilyPond नोटेशन
- ABC नोटेशन
- vexflow का GitHub रिपॉज़िटरी
इस एक्सटेंशन का इस्तेमाल एक या अधिक विकिमीडिया परियोजनाओं पर किया जा रहा है। इसका शायद मतलब है कि एक्सटेंशन स्थिर है और इस तरह के अधिक दर्शकों वाले वेबसाइटों द्वारा उपयोग किए जाने के लिए पर्याप्त रूप से काम करता है। विकिमीडिया की CommonSettings.php और InitialiseSettings.php कॉन्फ़िगरेशन फ़ाइलों में इस एक्सटेंशन का नाम खोजें, और यह वहीं स्थापित होगा। किसी विशिष्ट विकि पर स्थापित एक्सटेंशन्स की पूरी सूची को विकि के Special:Version पृष्ठ पर देखा जा सकता है। |
इस एक्सटेंशन को निम्न पैकेजेस और/या विकि फ़ार्म्स में शामिल किया गया है: यह कोई आधिकारिक सूची नहीं है। कुछ विकि फ़ार्म्स/होस्ट्स में यह extension हो सकता है हालाँकि शायद वे यहाँ सूचीबद्ध न हों। सुनिश्चित करने के लिए हमेशा अपने विकि फ़ार्म/होस्ट से संपर्क करें या बंडल जाँचें। |