iOS上的歌词和和弦格式

iOS上的歌词和和弦格式,ios,json,format,music-notation,Ios,Json,Format,Music Notation,我目前正在开发一款iPhone应用程序,它需要显示歌曲的歌词和吉他和弦。 屏幕上的输出类似于以下内容: 我仍然想知道什么是最好的格式来传输这种数据(歌词、和弦和每行曲目的时间戳)。 我正在考虑使用以下格式的JSON文件: { "lyrics": [ { "text":"This is one line of lyrics", "startTimestamp":5000, "end

我目前正在开发一款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格式:

但这种格式没有时间戳来同步歌词和音乐的显示,在iOS上解析似乎有点痛苦。 有没有其他有趣的选择我可以考虑,例如HTML?< /P>
该应用程序将只包含12首歌曲的歌词。

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

我还希望找到一种方法,用JSON存储和弦/歌词信息。我对这一思路比较新,但我希望将文本行组织为节,并用“合唱、韵文、介绍…”标记它们,然后将它们映射到和弦进行(有点像OOP方法)

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

现在我正在尝试将文本存储在HTML中,并以“pre”格式呈现 标签

我想一个简单的解决办法是忽略精确的词到和弦的计时,只在适当的歌词行上渲染适当的和弦

    [A D#]
    'This is one line of lyrics'
或者。。。也许可以给每一行歌词分配一个长度为12的值(比如引导网格,但可以基于每行的节拍数,包括一个除数),然后给每一个和弦分配一个“槽”来填充上面的行

所以

可能是这样的(其中,beat\u of\u measure=beat/2%4)

很抱歉这个荒谬的回答

Em7        G
  Today is gonna be the day
             Dsus4                  A7sus4
That they're gonna throw it back to you,
{
  "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
   ]
}