Extension:Score/hi

From Linux Web Expert

मीडियाविकि एक्सटेंशन मैन्युअल
Score
प्रकाशन की स्थिति: स्थिर
File:Lilytest1.png
कार्यान्वयन टैग
विवरण LilyPond के ज़रिए संगीत स्कोर्स रेंडर करने देता है
लेखक Alexander Klauer, Étienne Beaulé
नवीनतम संस्करण 0.3.0 (2019-03-23)
MediaWiki 1.36+
PHP 5.3+
लाइसेंस कोई लाइसेंस नहीं दिया गया है
डाउनलोड करें
README.md
score
Quarterly downloads Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Public wikis using Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin').
Score एक्सटेंशन को अनुवादित करें अगर यह translatewiki.net पर उपलब्ध है
मुद्दे अधूरे कार्य · बग की रिपोर्ट करें

Score एक्सटेंशन की मदद से आप LilyPond के ज़रिए PNG चित्रों के रूप में संगीत स्कोर्स को रेंडर कर सकते हैं, और उन्हें ऑडियो और MIDI फ़ाइलों में भी बदल सकते हैं।

श्रेय

उपयोग

सेटअप के बाद आप अपने विकिटेक्स्ट पर ‎<score>...‎</score> टैग की मदद से साधारण LilyPond नोटेशन एम्बेड कर सकते हैं। उदाहरणस्वरूप:

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

का अंजाम होगा:

<score lang="lilypond">\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>

का अंजाम होगा:

<score sound="1" lang="lilypond" vorbis="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 <translate> (removed)</translate> इससे यह नियंत्रित किया जा सकता है कि रेंडर किया गया स्कोर का चित्र किसी MIDI फ़ाइल से जुड़ता है कि नहीं।
override_midi ज्ञात फ़ाइल का नाम, यानी, अगर override_midi="name" दिया जाता है, [[File:name]] का अंजाम लाल कड़ी नहीं होती है <translate> (deprecated)</translate> इस बजाय आप अंत के ‎</score> टैग के बाद एक [[File:superior midi filename.mid]] विकिकड़ी जोड़ सकते हैं।
LilyPond द्वारा बनाए गए MIDI फ़ाइल की जगह निर्दिष्ट MIDI फ़ाइल का इस्तेमाल करता है। इस एट्रीब्यूट का इस्तेमाल midi एट्रीब्यूट (पहले देखें) या sound एट्रीब्यूट (बाद में देखें) के साथ करें। यह एट्रीब्यूट काम आता है अगर आपको पास कोई ऐसी MIDI फ़ाइल है जिसकी गुणवत्ता LilyPond द्वारा बनाई गई MIDI फ़ाइल से बेहतर है।
override_audio ज्ञात फ़ाइल का नाम, यानी, अगर override_audio="name" दिया जाता है, [[File:Name]] का अंजाम लाल कड़ी नहीं होती है <translate> (deprecated)</translate> इस बजाय आप अंत के ‎</score> टैग के बाद एक [[File:superior audio filename.oga]] विकिकड़ी जोड़ सकते हैं।
स्कोर के चित्र/चित्रों के बाद फ़ाइल के नाम द्वारा निर्दिष्ट मीडिया को HTML में एम्बेड करता है। यह sound एट्रीब्यूट का एक विकल्प है (नीचे देखें)। उदाहरणस्वरूप, यह काम आता है अगर आपके पास स्वतः निर्मित ऑडियो फ़ाइल के मुक़ाबले बेहतर गुणवत्ता वाली उचित ऑडियो फ़ाइल है। बेशक, आप इस मामले में दोनों एट्रीब्यूट्स को छोड़ते हुए पृष्ठ पर फ़ाइल को अलग से जोड़ सकते हैं।
override_ogg <translate> (deprecated)</translate> 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 <translate> (deprecated)</translate> 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>

<score lang="lilypond" vorbis="1">\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++ भी समर्थित है।

सुरक्षा के मुद्दे

File:Shellbox with music notes.png
अपने विकि की रक्षा करने के लिए Shellbox की मदद से LilyPond को सुरक्षित करें!

Score, LilyPond का इस्तेमाल सेफ़ मोड में करता है, मगर सेफ़ मोड एस्केप में कुछ ज्ञात कमज़ोरियाँ हैं जिन्हें अभी तक ठीक नहीं किया गया है, जिनकी मदद से इच्छानुसार निष्पादन हो जाता है।

अगर आप अपने विकि पर सम्पादित करने योग्य हर सदस्य पर विश्वास नहीं करते हैं, हमारी सलाह होगी कि आप Shellbox की मदद से LilyPond को सीमित कर दें। सीमित सर्वर को सेट करने के बारे में विस्तार के लिए Shellbox#Server setup देखें, और इसका इस्तेमाल करने के लिए मीडियाविकि को कॉन्फ़िगर करने के लिए नीचे देखें। और यह भी सुनिश्चित करें कि आप LilyPond के किसी हाल ही के संस्करण (2.22.0+) या फिर किसी ऐसे वितरण पैकेज (जैसे Debian से) का इस्तेमाल कर रहे हों जिसमें सुरक्षा के सुधार हैं। सीमा को सुरक्षा के लिए रखते हुए भी सेफ़ मोड को सक्षम रखें। कुछ चीज़ें सेफ़ मोड में काम नहीं करेंगे, और इन्हें सक्षम करने के लिए आपको LilyPond को इस तरह से संशोधित करना होगा ताकि सेफ़ मोड में उस कार्य को किया जा सके।

स्थापना

See the extension's README.md for detailed installation instructions.
  • <translate> [[<tvar name=2>Special:ExtensionDistributor/Score/hi</tvar>|Download]] and move the extracted <tvar name=name>Score/hi</tvar> folder to your <tvar name=ext>extensions/</tvar> directory.</translate>
    <translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Score%2Fhi
  • <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
    wfLoadExtension( 'Score/hi' );
    $wgScoreTrim = true;
    $wgImageMagickConvertCommand = '/usr/bin/convert';
    $wgShellboxUrl = '... address to Shellbox ...';
    $wgShellboxSecretKey = '... your secret key ...';
    
  • अपने $wgUploadDirectory (आम तौर पर अपने मीडियाविकि डिरेक्ट्री के images नामक डिरेक्ट्री) में lilypond नामक एक सबडिरेक्ट्री बनाएँ। सुनिश्चित करें कि यह डिरेक्ट्री आपके वेब सर्वर द्वारा लेखनीय है।
  • File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>

कॉन्फ़िगरेशन

ये रहे एक्सटेंशन के कुछ ग्लोबल पैरामीटर्स।

$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 अंग्रेज़ी विकिपीडिया के लिए उदाहरण क्वेरी]।)

ये भी देखें