Skip to content

tutorials: persian translation (FA) #749

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 40 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
cdaa476
Completed Tuttorials Translation to Persian (FA)
rezaseyedi91 Feb 9, 2025
f93034a
Update 100_structure_step-00-desc.html
rezaseyedi91 Apr 5, 2025
aeaabd4
Update 100_structure_step-01-desc.html
rezaseyedi91 Apr 5, 2025
4790ae4
Update 100_structure_step-02-desc.html
rezaseyedi91 Apr 5, 2025
a088d52
Update 100_structure_step-03-desc.html
rezaseyedi91 Apr 5, 2025
e8dbfd5
Update 100_structure_end.html
rezaseyedi91 Apr 5, 2025
e68be8e
Update 101_quickstart_step-01-desc.html
rezaseyedi91 Apr 13, 2025
b54e8dd
Update 102_incipit_step-01-desc.html
rezaseyedi91 Apr 13, 2025
cefc054
Update 102_incipit_step-02-desc.html
rezaseyedi91 Apr 13, 2025
93ccf6e
Update 102_incipit_step-03-desc.html
rezaseyedi91 Apr 13, 2025
f9658e0
Update 102_incipit_step-04-desc.html
rezaseyedi91 Apr 13, 2025
2f3a238
Update 102_incipit_step-05-desc.html
rezaseyedi91 Apr 13, 2025
dd2433e
Update 102_incipit_step-07-desc.html
rezaseyedi91 Apr 13, 2025
13ed3e4
Update 102_incipit_step-08-desc.html
rezaseyedi91 Apr 13, 2025
edbb16c
Update 102_incipit_step-09-desc.html
rezaseyedi91 Apr 13, 2025
51b8aaa
Update 102_incipit_step-10-desc.html
rezaseyedi91 Apr 13, 2025
eb2daf4
Update 102_incipit_step-11-desc.html
rezaseyedi91 Apr 13, 2025
10876fb
Update 102_incipit_end.html
rezaseyedi91 Apr 13, 2025
440ae05
Update 103_chords_end.html
rezaseyedi91 Apr 21, 2025
cd20fdf
Update 103_chords_step-01-desc.html
rezaseyedi91 Apr 21, 2025
b50fff9
Update 103_chords_step-02-desc.html
rezaseyedi91 Apr 21, 2025
1291aa8
Update 103_chords_step-03-desc.html
rezaseyedi91 Apr 21, 2025
573fe00
Update 104_rests_step-00-desc.html
rezaseyedi91 Apr 28, 2025
fdaab62
Update 104_rests_step-01-desc.html
rezaseyedi91 Apr 28, 2025
3acfdb2
Update 104_rests_step-02-desc.html
rezaseyedi91 Apr 28, 2025
c5f127e
Update 104_rests_step-03-desc.html
rezaseyedi91 Apr 28, 2025
43d3e76
Update 104_rests_step-04-desc.html
rezaseyedi91 Apr 28, 2025
4cba03e
Update 104_rests_end.html
rezaseyedi91 Apr 28, 2025
8bc5b8e
Update 180_understanding_odd-01.html
rezaseyedi91 May 3, 2025
82d91d0
Update 180_understanding_odd-02.html
rezaseyedi91 May 3, 2025
575657a
Update 180_understanding_odd-03.html
rezaseyedi91 May 3, 2025
123a4a1
Update 180_understanding_odd-04.html
rezaseyedi91 May 3, 2025
bb08d55
Update 180_understanding_odd-06.html
rezaseyedi91 May 3, 2025
1fe22cd
Update 180_understanding_odd-07.html
rezaseyedi91 May 10, 2025
3d7a3e3
Update 180_understanding_odd-08.html
rezaseyedi91 May 10, 2025
17f70a8
Update 180_understanding_odd-09.html
rezaseyedi91 May 10, 2025
4b2c7f9
Update 180_understanding_odd-end.html
rezaseyedi91 May 10, 2025
2d01309
Update 181_customizing_mei-01.html
rezaseyedi91 May 10, 2025
fdf6c29
Update 181_customizing_mei-02.html
rezaseyedi91 May 10, 2025
d368b4c
Update 181_customizing_mei-03.html
rezaseyedi91 May 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions _tutorials-FA/100_structure/100_Structure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
layout: tutorials
type: tutorial
name: "مبتدی:اصول پایه‌ای XML و ساختار مینیمال برای MEI"
fullname: "درسی کوتاه درباره اصول XML و MEI"
data: "100_structure.json"
---
81 changes: 81 additions & 0 deletions _tutorials-FA/100_structure/100_structure.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"steps": [
{
"label":"به MEI خوش آمدید!",
"descFile": "100_structure_step-00-desc.html"
},
{
"label": "المنت اصلی MEI",
"editorLines": 1,
"descFile": "100_structure_step-01-desc.html",
"prefillFile": "100_structure_step-01-prefill.xml",
"xmlFile": "100_structure_step-01.xml",
"xpaths": [
{"rule": "count(//mei) = 1", "renderanyway": true, "hint": "یک المنت mei‌ کم دارید."}
]
},
{
"label": "نام‌حوزه‌ی MEI",
"editorLines": 1,
"descFile": "100_structure_step-02-desc.html",
"prefillFile": "100_structure_step-02-prefill.xml",
"xmlFile": "100_structure_step-02.xml",
"xpaths": [
{"rule": "count(*[local-name()='mei']) = 1", "renderanyway": true, "hint": "یک المنت mei‌ کم دارید."},
{"rule": "*[local-name()='mei' and namespace-uri()='http://www.music-encoding.org/ns/mei']", "renderanyway": true, "hint": "You need a @xmlns declaration with the mei namespace 'http://www.music-encoding.org/ns/mei'."}
]
},
{
"label": "دو فرزند اصلی المنت ریشه‌ای",
"editorLines": 4,
"descFile": "100_structure_step-03-desc.html",
"prefillFile": "100_structure_step-03-prefill.xml",
"xmlFile": "100_structure_step-03.xml",
"xpaths": [
{"rule": "count(//*[local-name()='mei']) = 1", "renderanyway": false, "hint": "You need one mei element."},
{"rule": "*[local-name()='mei' and namespace-uri()='http://www.music-encoding.org/ns/mei']", "renderanyway": true, "hint": "You need a @xmlns declaration with the mei namespace 'http://www.music-encoding.org/ns/mei' in the mei element."},
{"rule": "count(//*[local-name()='meiHead']) = 1", "renderanyway": false, "hint": "You need one meiHead element."},
{"rule": "//*[local-name()='mei']/*[local-name()='meiHead']", "renderanyway": false, "hint": "meiHead has to a be child of the mei element."},
{"rule": "count(//*[local-name()='music']) = 1", "renderanyway": false, "hint": "You need one music element."},
{"rule": "//*[local-name()='mei']/*[local-name()='music']", "renderanyway": false, "hint": "music has to a be child of the mei element."},
{"rule": "//*[local-name()='mei']/*[local-name()='meiHead']/following-sibling::*[local-name()='music']", "renderanyway": false, "hint": "music has to follow the meiHead element."}
]
},
{
"label": "حداقل اطلاعات در سربرگ MEI",
"editorLines": 11,
"descFile": "100_structure_step-04-desc.html",
"prefillFile": "100_structure_step-04-prefill.xml",
"xmlFile": "100_structure_step-04.xml",
"xpaths": [
{"rule": "count(//*[local-name()='mei']) = 1", "renderanyway": false, "hint": "یک المنت mei‌ کم دارید."},
{"rule": "*[local-name()='mei' and namespace-uri()='http://www.music-encoding.org/ns/mei']", "renderanyway": true, "hint": "باید در المنت mei، یک اعلان @xmlns داشته باشید که نام‌حوزه‌ی mei را معرفی کند."},
{"rule": "count(//*[local-name()='meiHead']) = 1", "renderanyway": false, "hint": "یک المنت meiHead کم دارید."},
{"rule": "//*[local-name()='mei']/*[local-name()='meiHead']", "renderanyway": false, "hint": "meiHead باید فرزند المنت mei باشد."},
{"rule": "count(//*[local-name()='music']) = 1", "renderanyway": false,"hint": "یک المنت music کم دارید."},
{"rule": "//*[local-name()='mei']/*[local-name()='music']", "renderanyway": false,"hint": "music باید فرزند المنت mei باشد."},
{"rule": "//*[local-name()='mei']/*[local-name()='meiHead']/following-sibling::*[local-name()='music']", "renderanyway": false, "hint": "music باید بعد از المنت meiHead بیاید."},
{"rule": "count(//*[local-name()='fileDesc']) = 1", "renderanyway": false,"hint": "یک المنت fileDesc کم دارید."},
{"rule": "//*[local-name()='meiHead']/*[local-name()='fileDesc']", "renderanyway": false, "hint":"fileDesc باید فرزند meiHead باشد." },
{"rule": "count(//*[local-name()='titleStmt']) = 1", "renderanyway": false, "hint": "یک المنت titleStmt کم دارید."},
{"rule": "//*[local-name()='fileDesc']/*[local-name()='titleStmt']", "renderanyway": false, "hint": "titleStmt باید فرزند fileDesc باشد."},
{"rule": "count(//*[local-name()='pubStmt']) = 1", "renderanyway": false, "hint": "یک المنت pubStmt کم دارید."},
{"rule": "//*[local-name()='fileDesc']/*[local-name()='pubStmt']", "renderanyway": false, "hint": "pubStmt باید فرزند fileDesc باشد."},
{"rule": "//*[local-name()='fileDesc']/*[local-name()='titleStmt']/following-sibling::*[local-name()='pubStmt']", "renderanyway": false, "hint": "pubStmt باید بعد از titleStmt بیاید."},
{"rule": "count(//*[local-name()='title']) = 1", "renderanyway": false, "hint": "یک المنت title کم دارید."},
{"rule": "//*[local-name()='titleStmt']/*[local-name()='title']", "renderanyway": false, "hint": "title باید فرزند titleStmt باشد."}
]
}
],
"end": "100_structure_end.html",
"resp":[
{
"name":"Stefan Münnich",
"affiliation":"Anton Webern Gesamtausgabe | University of Basel"
},
{
"name":"Johannes Kepper",
"affiliation":"Beethovens Werkstatt | Universität Paderborn"
}
]
}
20 changes: 20 additions & 0 deletions _tutorials-FA/100_structure/100_structure_end.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div>
<h3>تبریک!</h3>
<p>
شما توانستید یک فایل MEI معتبر بنویسید و این آموزش را با موفقیت به پایان رسانده‌اید. اکنون باید بتوانید:
</p>
<ul>
<li>اصول پایه‌ای XML و چگونگی استفاده آن به عنوان پایه برای MEI را درک کنید</li>
<li>ساختار پایه‌ای اصلی (بیرونی) یک سند مطابق با MEI شامل عنوان آن را شناسایی کرده و بنویسید</li>
<li>دو بخش اصلی یک فایل MEI که مسئول اطلاعات فراداده (<code>&lt;meiHead&gt;</code>) یا اطلاعات مربوط به محتوای موسیقایی (<code>&lt;music&gt;</code>) هستند را تشخیص دهید.</li>
</ul>
<p>
از آنجا که مباحث مطرح شده در این درس به فصل <a href="https://music-encoding.org/guidelines/v4/content/shared.html#sharedStructuralElements" target="_blank" rel="noopener, noreferrer"> المنت‌های ساختاری</a> از دستورالعمل‌های MEI اشاره داشتند، توصیه می‌کنیم که این فصل را هروقت به اطلاعات دقیق‌تری نیاز داشتید، مطالعه کنید.
</p>
<p>
البته برای داشتن یک فایل MEI جامع، به اطلاعات بیشتری نیاز است – ما تمامی اطلاعات مربوط به محتوای موسیقایی مانند میزان‌ها، خطوط حامل یا نت‌ها را کنار گذاشتیم و همینطور باید یاد بگیرید که چگونه میزان، کلید و حامل‌ها را تنظیم کنید. چند درس دیگر هم هستند که به عنوان مراحل بعدی آشنایی با MEI توصیه می‌کنیم. البته می‌توانید هر زمان که خواستید به این درس‌ها (یا حتی همین درس) بازگردید و مطالب را مرور کنید.
</p>
<p>
وقتی تا حدودی با MEI آشنا شدید، از شما دعوت می‌کنیم تجربه خود را با <a href="/community/community-contacts.html" target="_blank" rel="noopener, noreferrer">جامعه MEI</a> به اشتراک بگذارید و یک آموزش درباره جنبه‌ای از MEI که به آن علاقه‌مندید بنویسید. برای این کار لازم نیست حتماً متخصص باشید – خوب است درس‌ها را در سطوح متفاوتی داشته‌باشیم و خیلی وقت‌ها، پیش رفتن با آموزشی که یک تازه‌وارد نوشته، آسان‌تر از درسی است که یک متخصص نوشته چون ممکن است برای یک متخصص، الفبای موضوع آنقدر بدیهی باشد که اشاره‌ای به آن نکند. ما یک <a href="./199-writing-tutorials.html" target="_blank" rel="noopener, noreferrer"> درس در مورد نحوه نوشتن آموزش‌ها</a> داریم که در آن می‌توانید با الگوهای قراردادی نوشتن آموزش‌ها آشنا شده و به این راحتی عضو فعال جامعه MEI شوید :-)
</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<div>
<p>
در این آموزش، با مبانی پایه‌ای XML آشنا خواهید شد و بیرونی‌ترین لایه‌های یک سند معتبر MEI را خواهید شناخت.
در پایان این آموزش، باید بتوانید بخش‌های مختلف یک فایل MEI را شناسایی کنید و بدانید در هر بخشی از فایل MEI چه نوع اطلاعاتی را می‌توان انتظار داشت.
</p>
<p>
موضوعات مطرح شده در این آموزش به فصل <a href="https://music-encoding.org/guidelines/v4/content/shared.html#sharedStructuralElements" target="_blank" rel="noopener, noreferrer">اِلِمنت‌های ساختاری</a> از راهنمای MEI اشاره دارد. پیشنهاد می‌شود برای اطلاعات دقیق‌تر به این فصل مراجعه کنید.
</p>
<p>
لطفاً توجه داشته باشید کدی که در این آموزش می‌نویسید به دلیل نداشتن اطلاعات درباره محتوای واقعی موسیقایی، بلافاصله قابل رندر نخواهد بود.
</p>
<p>
با این حال، پس از اتمام این آموزش، ممکن است بخواهید سایر آموزش‌ها را انجام دهید که جنبه‌های مهم دیگری از MEI را معرفی می‌کنند. (بسیاری از آن‌ها شامل کدهای قابل رندر برای موسیقی هستند.) این درس‌ها به عنوان مرجع ساده‌ای برای MEI هم عمل می‌کنند و شما همیشه می‌توانید به آن‌ها بازگردید.
</p>
<p>برای شروع، لطفاً روی دکمه "ادامه" در پایین سمت راست این پاراگراف کلیک کنید.</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<div>
<p class="tutorialGoal">
گام اول: آشنایی با مبانی پایه‌ای XML و یادگیری درباره المنت ریشه‌ای MEI.
</p>
<p>
MEI از <a href="https://en.wikipedia.org/wiki/XML" target="_blank" rel="noopener, noreferrer">XML</a> برای نمایش نت‌های موسیقی استفاده می‌کند. XML یک سیستم کدنویسی سلسله‌مراتبی است که اجزای اصلی آن، المنتها هستند. این المنتها با استفاده از چیزی به نام «تگ‌» نمایش داده می‌شوند. معمولاً این تگ‌ها شامل یک تگ آغاز (باز شونده - که نام آن در داخل براکت‌های زاویه‌ای مانند
<code>&lt;element&gt;</code>) و تگ پایان یا بسته‌شونده مربوطه (<code>&lt;/element&gt;</code>) هستند. اگر محتوایی بین این دو تگ وجود نداشته باشد (مانند متن یا المنتهای دیگر)، المنت می‌تواند به شکل کوتاه‌شده‌ی <code>&lt;element /&gt;</code> نوشته شود. در هر صورت، هر تگی باز شده باشد، بعداً بسته شود.
</p>
<p>
می‌توانید تصور کنید سند XML مثل درختی است که از یک المنت اصلی (مثل یک لایه‌ی بیرونی که عناصر دیگر را در بر گرفته) به المنتهای فرزند (لایه‌های داخلی‌تر) شاخه می‌شود.
المنت Root یا ریشه‌ای در یک سند MEI، المنتی به نام <code>&lt;mei&gt;</code> است (در گام بعدی توضیح خواهیم داد که نام المنتها، قراردادی است و هر نام دیگری میتوانست باشد.)
</p>

<p class="tutorialTask">یک المنت ریشه‌ای <code>&lt;mei&gt;</code> را در کادر زیر وارد کنید. فراموش نکنید که تگ آغاز را با تگ پایان مربوطه ببندید.</p>

<p>
پی‌نوشت: ما اصول پایه‌ای XML بیشتری را در مراحل بعدی پوشش خواهیم داد. برای اطلاعات دقیق‌تر، به مطالبی در فضای وب در دسترس است نگاهی بیندازید، مثلاً
<a href="https://www.tei-c.org/release/doc/tei-p5-doc/en/html/SG.html" target="_blank" rel="noopener, noreferrer">Gentle Introduction to XML
</a> از Text Encoding Initiative (<a href="https://tei-c.org/" target="_blank" rel="noopener, noreferrer">TEI</a>).
</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!-- Your encoding should replace this line -->
4 changes: 4 additions & 0 deletions _tutorials-FA/100_structure/step-01/100_structure_step-01.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- CAUTION: This is not a valid MEI document yet -->
<?edit-start?>
<mei></mei>
<?edit-end?>
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div>
<p class="tutorialGoal">
گام دوم: آشنایی با کاربرد و استفاده از نام‌حوزه‌ها (namespaces).
</p>
<p>
بسیارخب! همان‌طور که در گام قبلی ذکر شد، نام المنتهای ریشه‌ای یک سند XML اساساً نامی دلخواه است که به خودی خود معنایی برای کامپیوتر ندارد. برای روشن کردن اینکه یک المنت در چه زمینه‌ای تعریف شده و برای جلوگیری از تداخل نام‌ها با المنت‌ها دیگر، XML از
<a href="https://en.wikipedia.org/wiki/XML_namespace" target="_blank" rel="noopener, noreferrer">نام‌حوزه‌ها</a> استفاده می‌شود.
نام‌حوزه‌ها می‌توانند با افزودن اعلان نام‌حوزه‌ی <code>@xmlns</code> به المنت ریشه‌ای معرفی شوند.
</p>
<p>
به عنوان مثال، نام‌حوزه‌ی MEI <code>http://www.music-encoding.org/ns/mei</code> است و می‌تواند به صورت زیر اعلان شود: <code>xmlns="http://www.music-encoding.org/ns/mei"</code>
</p>
<p>
هرگاه در متن نشانه‌ای با علامت <code>@</code> پیش‌نشسته را دیدید (مانند <code>@xmlns</code> بالا)، این به معنای اشاره به یک خصیصه (Attribute) درXML است. (این نوع اشاره متداولی است که از زبان
<a href="https://en.wikipedia.org/wiki/XPath" target="_blank" rel="noopener, noreferrer">XPath</a> نشأت می‌گیرد.)
خصیصه‌ها حاوی اطلاعات مشخص شده (مقادیر خصیصه) هستند که به المنت‌ها مربوط می‌شوند. با این حال، بر خلاف المنت‌ها، خصیصه‌های XML تگ‌های باز یا بسته خود را ندارند و تنها در داخل تگ باز المنت و در کنار نام المنت قرار می‌گیرند. آنها شامل نام خصیصه و علامت مساوی به همراه مقدار خصیصه هستند که همیشه باید درون گیومه (کوتاه یا بلند) قرار گیرد. خصیصه‌های متعدد با فضاهای خالی (space بین کلمات) از یکدیگر جدا می‌شوند. توجه داشته باشید که علامت <code>@</code> تنها در توصیف‌های متنی قبل از نام خصیصه قرار می‌گیرد و در خود کدنویسی نمی‌آید.
</p>

<p class="tutorialTask">در کادر زیر، یک اعلان (Declaration) نام‌حوزه‌ی MEI به المنت ریشه‌ای <code>MEI</code> اضافه کنید.</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mei></mei>
4 changes: 4 additions & 0 deletions _tutorials-FA/100_structure/step-02/100_structure_step-02.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- CAUTION: This is not a valid MEI document yet -->
<?edit-start?>
<mei xmlns="http://www.music-encoding.org/ns/mei"></mei>
<?edit-end?>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<div>
<p class="tutorialGoal">
گام سوم: آشنایی با المنت‌های اصلی فرزندِ المنت ریشه‌ای <code>&lt;mei&gt;</code>: <code>&lt;meiHead&gt;</code>
و <code>&lt;music&gt;</code>.
</p>
<p>
آفرین! حالا که نام‌حوزه را در المنت ریشه‌ای خود اعلان کرده‌ایم، تمامی المنت‌ها دیگر که در عنصر ریشه‌ای جاگذاری شده‌اند، می‌توانند بر اساس نام‌حوزه MEI توسط کامپیوتر شناسایی شوند.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

تمامی المنت‌ها‌ی دیگر

</p>
<p>
همان‌طور که قبلاً ذکر شد، می‌توانید به سند XML مانند درختی فکر کنید که از یک عنصر ریشه‌ای (بیرونی) به عناصر فرزند (درونی) شاخه می‌شود. یک فایل کدگذاری شده MEI حداقل شامل دو المنت درون المنتِ ریشه‌ای
<code>&lt;mei&gt;</code> است:
</p>
<ul>
<li>
<code>&lt;meiHead&gt;</code> - شامل مجموعه‌ای از المنتهاست که فراداده‌های مربوط به کدگذاری MEI را فراهم می‌کند، از جمله اطلاعات کتاب‌شناسی، بیانیه‌های مسئولیت، استانداردهای کدگذاری یا منبع‌شناسی.
</li>
<li>
<code>&lt;music&gt;</code> - شامل مجموعه‌ای از المنت‌هاست که برای کدگذاری محتوای موسیقایی واقعی استفاده می‌شود. این المنت ممکن است شامل المنت‌های ساختاری برای توصیف فرمال یک قطعه موسیقایی (بخش‌ها، موومان‌ها، گروه‌های اسناد) یا المنت‌های مربوط به نت‌نگاری، مانند نت‌ها، سکوت‌ها، آرتیکولاسیون‌ یا نوانس باشد.
</li>
</ul>

<p class="tutorialTask">در ویرایشگر زیر، یک المنت <code>&lt;meiHead&gt;</code> و یک المنت <code>&lt;music&gt;</code> را درون المنت ریشه‌ای <code>&lt;mei&gt;</code> اضافه کنید.</p>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<mei xmlns="http://www.music-encoding.org/ns/mei">
<!-- این خط را پاک کنید و کدتان را اینجا بنویسید -->
</mei>
7 changes: 7 additions & 0 deletions _tutorials-FA/100_structure/step-03/100_structure_step-03.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!-- CAUTION: This is not a valid MEI document yet -->
<?edit-start?>
<mei xmlns="http://www.music-encoding.org/ns/mei">
<meiHead></meiHead>
<music></music>
</mei>
<?edit-end?>
Loading