标签: lilypond

将LilyPond源文件自动转换为多个键的最佳方法是什么?

问题

我正在使用LilyPond为教堂合唱团排版乐谱.根据任何给定周的人数,歌曲将以各种键播放.我们有一位出色的钢琴演奏家可以演奏我们扔在她身上的任何东西,吉他手通常会以交替的和弦方式画笔,但我希望通过在我们想要的任何键上提供精美排版的乐谱来让事情变得更轻松.

所以说我们要唱我们的ABC.首先,我将采用任何可用的源代码转换并将其输入LilyPond脚本:

melody = \relative c' {
    c c g g
    a a g2
    f f e e
    d d c2 }
Run Code Online (Sandbox Code Playgroud)

我希望能够自动转置它,所以如果我想要'G'中的整个内容我将这首歌包装在\ transpose调用中,如下所示:

melody = \transpose c g \relative c' {
    c c g g
    a a g2
    f f e e
    d d c2 }
Run Code Online (Sandbox Code Playgroud)

我真正想要的是用'g'替换某些东西并多次为旋律生成输出.简单的LilyPond变量似乎在这里不起作用,到目前为止,我在定义一个方案函数时没有成功.

我暂时使用的是获取上述文件,将其称为twinkle.ly并将其转换为名为twinkle.ly.m4的M4脚本,其内容如下所示:

melody = \transpose c _key \relative c' {
c c g g
a a g2
f f e e
d d c2 }
Run Code Online (Sandbox Code Playgroud)

然后我通过执行以下行来编译while事物:

> m4 -D _key=g …
Run Code Online (Sandbox Code Playgroud)

scheme typesetting m4 lilypond music-notation

15
推荐指数
1
解决办法
6953
查看次数

歌词还有LilyPond中的其他经文?

LilyPond中是否有一种方法可以在音乐结束后简单地列出与其他经文相对应的歌词,每节有一段?

(注意这个确切的问题在2001年之前就曾被问过,但第一个答案("读这本书")引用了一个死URL,而第二个(使用\context Lyrics)对我不起作用,我得到LilyPond语法错误.)

这是一首我想写下额外经文的歌.

\header{
  title = "Hello World"
}

\score {
  \relative {
    \time 2/4
    \clef treble
    \key a \major
    cis''2 | a4 fis \bar "|."
  }
  \addlyrics { 
    He -- | llo world
  }
  \layout { }
  \midi { }
}

\version "2.18.2"
Run Code Online (Sandbox Code Playgroud)

(抱歉,语法高亮显示,<!-- language: lang-lilypond -->SO使用的Google Code Prettyfier尚不支持.)

我想在下面添加第2,3和4节,与音乐分开,就像单词一样.

lilypond

14
推荐指数
1
解决办法
513
查看次数

对于lilypond的Mathjax模拟

有没有可以将Lilypond内容呈现给图像的东西,比如mathjax?

另外,在我看来,打开一个关于音乐的Stack Exchange论坛会很不错.这样的事情会给它带来很好的功能,比如http://math.stackexchange.com中的 LaTeX 等等.

ajax lilypond web

11
推荐指数
1
解决办法
1775
查看次数

在LilyPond中定义\ score内的函数

我编译了一本大型的歌曲书,为此我希望有很多本地的函数定义,最终会在\included文件中,但这没有区别.为此,我需要在\score{ ... }范围内定义函数.但是,LilyPond一直在抛出错误.

非工作的例子:

\version "2.17.26"

\book {

    \header {
        title = "This is a book"
    }

    \score {
        xyz = { a' b' c'' }
        abc = #(define-music-function
            ( parser location musicnotes )
            ( ly:music? )
            #{
                c' $musicnotes e'
            #}
        )
        { \abc { d' } f' \xyz }
        \header {
            piece = "First piece"
            opus = "op. 1024"
        }
    }

    \score {
        xyz = { a' a' a' }
        abc = #(define-music-function
            ( …
Run Code Online (Sandbox Code Playgroud)

lisp scope user-defined-functions lilypond

8
推荐指数
1
解决办法
1119
查看次数

如何中途开始测量?

在我的赞美诗中,我需要在中途开始第一项措施.它有3/4的时间,但我必须插入两个空的,不显示的八分音符.我怎么做?

我用o4 o4 c8[ d]下面的第一个测量,但lilypond不喜欢这个.什么是正确的方法?

在此输入图像描述

这是行:

o4 o4 c8[ d] e4 e4 e8[ f] g4 g4 f8[ e] d4 d4 g8[ f] e2
Run Code Online (Sandbox Code Playgroud)

lilypond

8
推荐指数
1
解决办法
220
查看次数

在lilypond采取一些措施后,突破线

我有这个作为示例符号示例.我将如何指定在整个整个过程中每行准确地有4个度量.我搜索了整个文档,但没有找到这么简单的功能.我错过了什么吗?

\version "2.18.2"

% comment line

\header {
    title = "Ruska narodna pesma."
    composer = "Narodna pesma"
    subtitle = "-za gitaru-"
}

melody = {
    \key c \major
    \time 3/4

    e' f e |
    e, gis b |
    d c b |
    a c e |
}

\score {
    \relative c' <<
        \new Staff \melody
    >>
    \layout {
    }
}
Run Code Online (Sandbox Code Playgroud)

line lilypond measures

7
推荐指数
1
解决办法
1828
查看次数

将 LilyPond 文件导出到 MusicXML,然后将其导入到 MuseScore

我正在尝试使用 MuseScore 3 作为小音乐片段的编辑器,例如从 MusicXML 文件打开的童谣。

然而,我尝试使用 Frescobaldi Python 库python-ly似乎导致使用该库生成的 MusicXML 文件出现一些非常奇怪的导入错误。

我该怎么做呢?有可能吗?

我为例如“老麦克唐纳有一个农场”编写了一些 LilyPond 文件,其中包括主旋律(音符)、歌词、尤克里里谱和和弦:

% command `lilypond --version`
\version "2.20.0"

mymelody = {
  \time 4/4
  \tempo 4 = 70
  \key g \major
  g'4 g'4 g'4 d'4 \bar "|" e'4 e'4 d'2 \bar "|" b'4 b'4 a'4 a'4 \bar "|" g'1
}

mychords = \chordmode {
  g'1 \bar "|" c'2 d'2 \bar "|" g'2 d'2 \bar "|" g'1
}

mylyrics = \lyricmode {
  old Mac -- Do …
Run Code Online (Sandbox Code Playgroud)

python latex lilypond musicxml

7
推荐指数
0
解决办法
1984
查看次数

LilyPond:从音乐中提取音高

我使用LilyPond创建练习成绩和练习曲.我已经想出了如何允许在Moveable Do solfege表示法中输入音符,并且有一个模板(见下文),它支持在音符下面显示solfege符号作为歌词.目前,我必须手动从符号加上生成音乐的标记中提取歌词.我已经能够使用一些python和vim代码(这里没有显示)部分自动化,但它仍然有点令人不满意.

在我看来,最好的解决方案是使用LilyPond的内置Scheme解释器在处理文件时提取音高名称.我已经尝试过使用地图与ly:note-pitchname,但到目前为止还没有成功.可能是因为我知道对Scheme的蹲坐,特别是在LilyPond脚本中使用的.

% Moveable Do as lyrics example

% define some solfege pitchnames 
% (in practice, the full set goes into "english.ly")
pitchnames = #`(
    (do . ,(ly:make-pitch -1 0 NATURAL))
    (re . ,(ly:make-pitch -1 1 NATURAL))
    (mi . ,(ly:make-pitch -1 2 NATURAL))
    )

#(ly:parser-set-note-names parser pitchnames)

% compose as though in C major
mynotes =  \relative do' {\key do \major do2 re4( mi4) }

% transpose to desired key
melody = \transpose do mi  { \mynotes } …
Run Code Online (Sandbox Code Playgroud)

scheme guile lilypond

6
推荐指数
1
解决办法
1618
查看次数

更改Lilypond中的所有颜色

在Lilypond中,我可以用一条线来改变一种类型物体的颜色

\override Staff.Clef #'color = #(rgb-color 0.4 0.5 0.6)

我希望所有的东西都是相同的(非默认)颜色,但是我既没有找到我可以着色的所有对象的列表,也没有找到一次更改所有颜色的命令.有人可以指点我吗?

lilypond music-notation

6
推荐指数
2
解决办法
1315
查看次数

从 musicxml 生成 pdf 和 midi

我一直在尝试加载一个 MusicXML 文件,对其进行编辑(删除几个部分),并创建一个 PDF 工作表文档 + midi/mp3,所有这些都使用 Python。

我首先查看了music21,这会正确加载我的 MusicXML 文件,但据我所知,不会输出正确的文件(输出文件中的所有详细信息都消失了,剩下的只是注释和标题)

然后我发现abjad这看起来很有希望。它确实输出了高质量的 ly/pdf 文件,但没有导入 musicxml。

然后,我发现Lilypond带有musicxml2ly脚本。我能够调用它并使用sh(很棒的lib!)在python中获取结果lilypond文件,但是abjad lilypond解析器不会解析它(文档说它解析lilypond的“大子集”,没有更多的精度)。

最后,我发现music21有一个 abjad python 对象的导出器,但它似乎不再出现在代码库中,并且导出器的源代码显然只是导出了注释。

我有点别无选择,我能做些什么来实现这些目标?

(补充一点:我仍然不知道如何做第二部分,使用声音字体转到 midi/mp3,但这可能不是最难的部分。有什么建议吗?)

python lilypond musicxml music21 music-notation

6
推荐指数
1
解决办法
4181
查看次数