Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Parsing "Sheet Music" into Channels #18

Merged
merged 25 commits into from
Mar 15, 2024
Merged

Conversation

AutumnSky1010
Copy link
Owner

@AutumnSky1010 AutumnSky1010 commented Mar 14, 2024

関連Issue

close #3

// comment out
// dotted quarter note(C#4)
C#4, 4.
// rest
rest, 4.
// tie and tuplet
tie(C4, 4, 4, 4); tup(4, C4, C4, C4)

現時点での仕様

# 音階を表すアルファベット('C4'の'C'の部分) - Scale symbol (the 'C' part of 'C4')
scaleSymbol ::= A|B|C|D|E|F|G

# 音階の数字('C4'の'4'の部分) - Scale number (the '4' part of 'C4')
scaleNumber ::= 0|1|2|3|4|5|6|7|8

# 音の長さの数字(全音符: 1, 16分音符: 16) - Length number (whole note: 1, sixteenth note: 16)
lengthCount ::= 1|2|4|8|16|32|64

# 長さを表す(16.など) - Length representation (16., etc.)
length ::= <lengthCount> '.'?

# 音階(C#4など) - Scale (C#4, etc.)
scale ::= <scaleSymbol> '#'? <scaleNumber>

# 音符 - Note
note ::= <scale> ',' <length>

# 休符 - Rest
rest ::= 'rest' ',' <length>

# タイの表記方法 - Tie notation
tie ::= 'tie' '(' <scale> ',' <length>|'rest' {',' <length>|'rest'}* ')'

# 連符の表記方法 - Tuplet notation
tuplet ::= 'tup' '(' <length> ',' <scale>|'rest'|<tie> {',' <scale>|'rest'|<tie>}* ')'

# 文末 - End of statement
endOfStatement ::= ';'|\n|\r|\r\n

# 文の定義 - Sentence definition
statement ::= { <note>|<rest>|<tie>|<tuplet> }? <endOfStatement>

# SMSC(SoundMaker SCore)データ - SMSC(SoundMaker SCore) data
smsc ::= <statement>*

@AutumnSky1010 AutumnSky1010 changed the title Feature/#3 Support Parsing "Sheet Music" into Channels Mar 15, 2024
@AutumnSky1010 AutumnSky1010 merged commit 47cfcc2 into master Mar 15, 2024
1 check passed
@AutumnSky1010 AutumnSky1010 deleted the feature/#3 branch March 15, 2024 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Support Parsing "Sheet Music" into Channels
1 participant