我目前正在开发一个iPhone应用程序,该应用程序需要显示歌曲的歌词以及吉他和弦。
屏幕上的输出将类似于以下内容:

我仍然想知道哪种格式最好的格式来承载这种数据(每行音轨中的歌词,和弦和时间戳)。
我正在考虑使用以这种方式格式化的JSON文件:

{
      "lyrics": [
          {
              "text":"This is one line of lyrics",
              "startTimestamp":5000,
              "endTimestamp":5800,
              "chords":[
                  {
                      "symbol":"A",
                      "position":0.2
                  },
                  {
                      "symbol":"D#",
                      "position":0.8
                  }
                  ]
          },
          { ... },
          { ... }
       ]
}

另一种选择是使用Chordpro格式:
http://tenbyten.com/software/songsgen/help/HtmlHelp/files_reference.htm

但是这种格式没有时间戳来将歌词的显示与音乐同步,在iOS上解析起来似乎有些痛苦。
我还能考虑其他有趣的选项吗,例如HTML?

该应用程序将仅包含12首轨道的歌词。

最佳答案

我对这个问题也很感兴趣。我正在使用HTML,CSS和JavaScript为自己的歌轨道录创建“无服务器”网页。

我也希望提出一种将和弦/歌词信息存储在JSON中的方法。我对这种思路比较陌生,但是我希望将文本行组织为节,并用“Chorus,Verse,Intro ...”标记它们,然后将它们映射到和弦进行中(有点像OOP方法)。

到目前为止,我遇到了很多Music XML东西,但这似乎是用于更正式的乐谱。

现在,我正在尝试仅将文本存储为HTML并将其呈现为“pre”格式
标签。

我猜一个简单的解决方案是忽略确切的单词和弦时机,只在合适的歌词行上方渲染合适的和弦。

    [A D#]
    'This is one line of lyrics'

或者...可能可以为歌词的每一行分配长度为12的值(例如Bootstrap Grid,但可以基于每行的节拍数(包括除数)),然后为每个和弦分配一个“槽”以进行填充上面的线?

所以
Em7        G
  Today is gonna be the day
             Dsus4                  A7sus4
That they're gonna throw it back to you,

会是这样的(其中beat_of_measure = beat/2%4)
{
  "stanza1":
      {
          "type": "verse",
          "line1":{
              "lyric": "Today is goinna be the day that they're", //4 beats subdivided = 8 length
              "start_beat": 1, //half a beat after Em7 chord
              "end_beat": 7},
          "line2":{
              "lyric": "goinna throw it back to you"
              "start": 8 //goinna is right on beat 5, (think modulo 4)
              "end": 12}
       }
          "verse_chords":[
              {
                  "symbol":"Em7",
                  "chord_beat":0 //starts at very beginning
              },
              {
                  "symbol":"D#",
                  "chord_beat":4
              },
              {
                  "symbol":"Dsus4",
                  "chord_beat":8
              },
              {
                  "symbol":"A7sus4",
                  "chord_beat":12
              },

              ],

   bla bla bla
   ]
}

对不起,这个荒谬的答案!

关于ios - iOS上的歌词和和弦格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21429069/

10-11 11:53