(分享)用 Emacs 学习吉他

我以前写过类似功能的工具,但主要是为了从 org 里导出成 html 展示,这样发布后可以用手机或平板在任何地方看谱,总不能带着琴还得背个有 emacs 的电脑吧😄 (效果见 https://www.hugchange.life/posts/guitar_chords.html)

在 org 里就用一个 html block 写好,比如:

#+BEGIN_EXPORT html
<pre class="guitar" data-key="C">
    C          G          F       C
我知道 没有下次再见吧 归途的风一直刮
    F        C          D       G
世间有 多少细小如麻 像一场大梦无他
    C          G          F       C
我也想 能陪你一起走啊 直到这世界崩塌
某一天 你也会像我一样 走过阴晴和冬夏
    F        C          F       C
可是啊 走过长夜的你 不再需要被牵挂
慢慢地 褪去身上盔甲 去寻找心里的家  
      Am          Em        F          C
  我要去   世界的尽头   留下你 向梦的出口
你会发现 世界新的尽头 下雨会有 彩色的洋流
    F            C        F             G
别回头   尽管往前走 就算终点没有人为你等候
珊瑚里 有被浇灌的梦 街角有海獭等着你的糖球
    Am         Em       F       C
我会在 另一个时空   化作自由的清风
也路过 旋转的星空  发现光 颜色万种
   F         Dm       F       C
也请你 要忘记我   就当是昨夜的梦 ♻
风吹来 云在翻涌 都抵不过你的笑容
    Am      Em       F       C
就算再见不会再见 就算大梦终将瓦解
    F          C        F             G
别回头 勇敢地向前 一切都为了筑成你的世界
    Am      Em       F       C
我可以逆转那时空 化作伴你的清风
    F       D      F       C
穿过幽暗的宇宙 抚平深海里的梦
    C          G          F       C 
我知道 没有下次再见吧 归途的风一直刮
    F        C           F       C
世间有 太多无常变化  一个人也会长大
别害怕 走过那长夜吧  世界会在你脚下
</pre>
#+END_EXPORT

然后导出,我放在自己的 org 导出 html 项目里,没有拆成单独包(因为要配自己的主题), 核心的 js 是: orgchange/themes/static/chords_transposer.js at main · metaescape/orgchange · GitHub

主要是对齐和弦和歌词(Emacs 本地要用等宽字体,但用 html 可以把每个字符的宽度全部设置成固定值),我还加了换调功能,但没有展示和弦图和分解和弦的功能,不过 js 里有很多支持这类功能的库。

1 个赞