Bro*_*oco 5 format json ios music-notation
我目前正在开发一个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
}
]
},
{ ... },
{ ... }
]
}
Run Code Online (Sandbox Code Playgroud)
另一个选择是使用Chordpro格式:http ://tenbyten.com/software/songsgen/help/HtmlHelp/files_reference.htm
但是这种格式没有时间戳来将歌词的显示与音乐同步,在iOS上解析起来似乎有些痛苦。我还能考虑其他有趣的选项吗,例如HTML?
该应用程序将仅包含12首曲目的歌词。
我对这个问题也很感兴趣。我正在仅使用 HTML、CSS 和 JavaScript 为我自己的歌曲目录创建一个“无服务器”网页。
我还希望想出一种方法来存储 JSON 中的和弦/歌词信息。我对这种思路比较陌生,但我希望将文本行组织为节,并用“合唱、诗歌、前奏……”标记它们,然后将它们映射到和弦进行(有点像 OOP 方法)。
到目前为止,我已经遇到过很多音乐 XML 的内容,但这似乎适用于更正式的乐谱。
现在我正在尝试将文本存储在 HTML 中并将其呈现在“pre”标签中。
我想一个简单的解决方案是忽略确切的单词到和弦的时间,只在适当的歌词行之上呈现适当的和弦。
[A D#]
'This is one line of lyrics'
Run Code Online (Sandbox Code Playgroud)
或者...也许可以为歌词的每一行分配一个长度为 12 的值(如 Bootstrap Grids,但可以基于每行的节拍数(包括除数)),然后为每个和弦分配一个“槽”来填充上面的行?
所以
Em7 G
Today is gonna be the day
Dsus4 A7sus4
That they're gonna throw it back to you,
Run Code Online (Sandbox Code Playgroud)
会是这样的(其中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
]
}
Run Code Online (Sandbox Code Playgroud)
抱歉这个荒谬的答案!
| 归档时间: |
|
| 查看次数: |
703 次 |
| 最近记录: |