ما هي أفضل طريقة تبديل تلقائيا على يليبوند الملف المصدر إلى عدة المفاتيح ؟

StackOverflow https://stackoverflow.com/questions/799837

سؤال

المشكلة

أنا باستخدام يليبوند إلى تنضيدها ورقة الموسيقى جوقة الكنيسة لأداء.اعتمادا على من هو متاح في أي أسبوع, الأغاني ستقام في مختلف مفاتيح.لدينا مذهلة عازف البيانو الذي يمكن أن تقوم به أي شيء نحن يلقي لها عازفي الجيتار عادة رصاص في بديل الحبال ، ولكن أريد أن تجعل الأمور أسهل من خلال وجود جميل تنضيدها ورقة الموسيقى المتاحة في أي مفتاح نريد.

لذلك أقول نحن ذاهبون إلى الغناء لدينا أبجديات.أولا سوف تأخذ أيا كان مصدر النسخ المتاحة وإدخالها في يليبوند النصي:

melody = \relative c' {
    c c g g
    a a g2
    f f e e
    d d c2 }

أريد القدرة على تبديل هذا تلقائيا, لذلك إذا كنت تريد كل شيء في 'G' أنا التفاف الأغنية في \تبديل الاتصال مثل ذلك:

melody = \transpose c g \relative c' {
    c c g g
    a a g2
    f f e e
    d d c2 }

ما أريده حقا هو أن تكون بديلا شيئا عن " ز " و توليد الناتج عن اللحن عدة مرات.بسيطة يليبوند المتغيرات لا يبدو أن العمل هنا و حتى الآن أنا كنت فاشل في تحديد مخطط وظيفة للقيام بذلك.

ما كنت لجأت إلى هذه اللحظة هو أخذ الملف أعلاه ، الذي يطلق عليه وميض.ly وتحويله إلى M4 النصي يسمى وميض.ly.m4 المحتويات التي تبدو مثل هذا:

melody = \transpose c _key \relative c' {
c c g g
a a g2
f f e e
d d c2 }

ثم تجميع بينما الشيء من خلال تنفيذ السطر التالي:

> m4 -D _key=g twinkle.ly.m4 > twinkle_g.ly && lilypond twinkle_g.ly

لقد كتبت Makefile للقيام بذلك بالنسبة لي ، وتحديد قواعد لكل أغنية علي كل مفتاح أنا مهتم في.

السؤال يجب أن يكون هناك طريقة أفضل من ذلك.بالنظر إلى أن يليبوند يدعم جزءا لا يتجزأ من مخطط فإنني أفضل عدم استخدام ماكرو معالجة على ذلك.وقد أي شخص آخر يأتي مع حل نفس المشكلة ؟

هل كانت مفيدة؟

المحلول

يمكنك الرجوع إلى اللحن متغير و قد نقلها في المفاتيح المطلوبة:

melody = \relative c' { c8 e c e g4 g }
\score {
  \transpose c d \melody
}
\score {
  \transpose c e \melody
}
% etc.

إذا كنت ترغب في إخراج التبديلات كملفات منفصلة, تضمين لهم في \كتاب كتل.

نصائح أخرى

إذا كنت ترغب في إنشاء نسختين من نفس الشظية، فلن يتم نقله واحدا ولا يمكنك استخدامه \displayLilyMusic. وبعد علي سبيل المثال،

{
  \displayLilyMusic \transpose c a, { c4 e g a bes }
}

سوف يعرض

{ a,4 cis e fis g }

انسخ هذا الإخراج ولصقه أينما تريد.

استخدام الحرة محرر Frescobaldi ل Lilypondوبعد يوفر أداة نقل قوية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top