用 R bookdown 写吉他谱

前情提要:

本篇说说如何用 R 语言的 bookdown 写吉他谱。别拦着我,让我陷进bookdown的怀抱里爽死吧。

中国的民谣吉他伴奏谱常见的一般是六线谱,格式是这样的:

enter image description here

  • 第一行是和弦谱,包括和弦名称和左手按琴弦的指法图;
  • 第二行是六线谱,右手拨弦的方式(当然也夹杂左手按和弦外音的变化);
  • 第三行是歌曲旋律的简谱;
  • 第四行是歌词。

前两行的和弦谱和六线谱在录入时需要专业软件,太麻烦;歌曲旋律一般是跟着原唱学,基本用不着;歌词最容易录入。由于和弦谱最为重要,任何乐器伴奏都用得着,为了省事儿,上图可以只保留和弦名称和歌词,简化为文字谱:

  C    Em     F     G    C    Em
让我掉下眼泪的不只昨夜的酒,让我依依不舍的不……

文字谱的好处是用不着任何专业软件,录入很方便。但是,这比较坑菜鸟。想不起来Em和弦的指法该怎么办?Em还好办,看见个G#7sus4,我崩溃了,自认水平不行,乖乖翻和弦字典去。如果标注了指法图——

enter image description here

还是更方便一些,吉他和钢琴都可以用。我觉得等我老得掉光牙齿的时候,估计连C和弦的指法都忘光了,给孙子连个《成都》都唱不成,这时候指法图就有用了。

以前我玩过LaTeX输入指法图的游戏。由于对LaTeX心怀恐惧,这个游戏没敢多玩。现在有了R语言的bookdown来取代LaTeX,自然想把这个游戏拿回来找找年轻的感觉。

这个主意早就有了,原以为会很麻烦(恐惧心理),一直没行动。昨天在送大娃和接二娃之间空出半个小时,鼓捣了一下,居然鼓捣出来了上面那个样子。其实很简单:用 bookdown 的壳,LaTeX的核。上面那句歌词,录入的文字是这样的:

让\CM 我掉下\Em 眼泪的 不\F 只昨夜的\GM 酒 让\CM 我依依\Em 不舍的 不……

我打算以后陆陆续续把喜欢的歌弄成一本书(pdf),样子是:

enter image description here

并且把bookdown录入吉他谱的源代码在GitHub开了个bookdown-guitar的项目。毕竟,中文的对齐不太完美,看看有没有高手来帮帮我。

其实跟LaTeX里一样。那我在LaTeX里用就行了,干嘛来bookdown里用?

因为这样的话,就可以在同一本书里同时呈现R代码、作图、分析结果和吉他谱啊。

啊?把他们弄在一起有什么用?

呃……这是个好问题……容我清清脑子想一想……听说数学领域很多理论在提出时都没啥用,后来都用上了,除了数论……

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax