SlideShare a Scribd company logo
1 of 44
A System to Generate Rhythms
Automatically for Songs in Rhythm Game
Kuan-Ting Chen 陳冠廷
Advisor : Yi-Shin Chen
Institute of Information Systems and Applications
National Tsing Hua University
1
Outline
• Introduction
• Related Work
• Methodology
• Experiment
• Conclusion and Future Work
• Demo
2
Introduction
• There are many different music genres
• People have their preferred and not preferred
music genres
• Making people to engage in the music genres
which they are not preferred is our purpose
3
Introduction
• Rhythm Game
– Widely be played
So we use rhythm game to achieve our goal
4
Related Work
• Conducting systems
– iConductor-[Liu et al. 2009]
– An interactive conducting system using kinect-[Toh
et al. 2012]
– Music interaction on mobile phones-[Chao et al.
2014]
5
Related Work
• Rhythm games
– Related to melody
• Guitar Hero
• Magic Piano
• Sing! Karaoke
– Only related to tempo
• 太鼓の達人
• ドラムマニア(DrumMania)
6
Related Work
• But in existing rhythm game, every time
players play, the tempo hints will always be
the same
• Replayability-[B. Shelley. Guidelines for Developing
Successful Games. 2001]
it motivates us to generate the dynamic tempo hints
for the rhythm game
7
Objective
• Static Mode
– For people who want to make good score in
rhythm game
• Dynamic Mode
– For people who want freshness in rhythm game
– make people stick in rhythm game more
– make game more flexible(just input a MIDI file,
then can directly play, no need to compose
rhythm sheet by players themselves)
8
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Longest
Repetition
method
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
Framework
Pattern
Replacement
9
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
10
Framework
Pattern
Replacement
Longest
Repetition
method
Methodology
Data Collection
• Static Mode
– Downloaded specific MIDI file from
“https://freemidi.org/”
• Dynamic Mode
– We want to extract common rhythm patterns in
many songs
– Downloaded 24836 MIDI files from
“https://freemidi.org/”
11
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
12
Framework
Pattern
Replacement
Longest
Repetition
method
Methodology
Data Preprocessing
• Static Mode
– Covert that specific MIDI file to XML file
• Dynamic Mode
– Only process with 15493 4/4 beat MIDI files
– Covert them to XML files
13
• Instrument number
• Measure number
• Number Or Character Format
– 32nd note → 1
– Fourth note → 8
– Half note → G
– Whole note → W
– 32nd rest → (1)
– Fourth rest → (8)
– Half rest → (G)
– Whole rest → (W)
Methodology
Data Preprocessing
14
Methodology
Data Preprocessing
15
16
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
Framework
Pattern
Replacement
Longest
Repetition
method
Methodology
Pattern Extraction
• Longest Common Subsequence Algorithm
17
(G)8(8)(4)4(8)8(8) (4)4(8)8(8) (4)4(8)8(4)4 (4)4(8)8(8)(4)4(8)8(8)(4)4(8)8(4)4 (4)4(8)44(4)4
Longest common subsequence algorithm
(4)4(8)8(8)(4)4(8)8(8)(4)4(8)8(4)4
18
Aggregate LCS result from all songs
Combine duplicate result actually in rhythm game
Keep patterns whose count is greater than threshold,
split to patterns whose length is one measure
Using LCS algorithm and then divide the count depending on the length of the song
Methodology
Pattern Extraction
19
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
Framework
Pattern
Replacement
Longest
Repetition
method
• Static Mode
– Ex. Easy difficulty level:
→ Medium difficulty level:
• Dynamic Mode
– Metrical Complexity
– Numbers of Note
– Longest Repetition method
Methodology
Difficulty Score Calculation
20
Methodology
Difficulty Score Calculation
• Metrical Complexity [G. T. Toussaint,2002]
• Formula: 𝑖=1
𝑛
𝑚𝑎𝑥 𝑤𝑖 − 𝑖=1
𝑛
𝑤𝑖
(6+5+4+4) - (6+4+5+4) = 0
1
0 2 5
3 6
4 7 12
9
8 14
10 11 13 17
16
15 18 19 20 22
21 31
29
28
27
26
25
24
23 30
x x x x
21
Methodology
Difficulty Score Calculation
• Numbers of Note
8
2
22
• Longest Repetition method
– “SuccessiveSubPattern” function
• Ex. Input: “44442(2)2(2)44” Output: “4444”, “2(2)2(2)” and “44”
– “FindUnitPattern” function
• Ex. Input: “4444” Output: “4”
– “LongestRepeatedSubPattern” function
• Ex. Input: “84(8)84” Output: “84”, because “84” occurs twice in this pattern
– “Difficulty Score” function
• rt: rhythm notation
• Note:
1
𝑟𝑡
Ex. quarter note → 1/8 32nd note → 1/1
• Rest: -
1
𝑟𝑡∗2
Ex. quarter rest → -1/16
• Because one quarter note plus one quarter rest equals one half note in rhythm
game, so we set the difficulty score for rest this way (1/8 +(-1/16) = 1/16)
23
Methodology
Difficulty Score Calculation
• Output of “SuccessiveSubPattern”function is
not null:
– Ex. Pattern: “44442(2)2(2)44”
24
Methodology
Difficulty Score Calculation
4444 2(2)2(2) 44
(1/4)
repeat four times
*(1/4) + [(1/2-1/4)]
repeat two times
*(1/2) +(1/4)
repeat two times
*(1/2)
• Output of “SuccessiveSubPattern”function is null, but
output of “LongestRepeatedSubPattern” function is
not null:
– Ex. Pattern: “84(8)84”
25
Methodology
Difficulty Score Calculation
84 84 (8)
(1/8+1/4) *(1/2)
repeat two times
but not adjacent
*1.2 +(-1/16)
• Output of “SuccessiveSubPattern”function and
output of “LongestRepeatedSubPattern” function are
all null:
– Ex. Pattern: “(2)BC7”
26
Methodology
Difficulty Score Calculation
(-1/4) +(1/11) +(1/12) +(1/7)
27
Methodology
Difficulty Score Calculation
Metrical
Complexity
Numbers of
Note
Longest
Repetition
method
Pattern
mcScore ntScore lrScore
FinalScore
*1/3 *1/3 *1/3
Methodology
• Sort patterns by difficulty scores
• Split these patterns into three parts
28
29
Data
Collection
Number
Or
Character
Format
Data
Preprocessing
Patterns
Pattern
Extraction
Longest
Common
Subsequence
Algorithm
Aggregate
result
from all
songs
Delete
duplicate
result
actually in
rhythm game
Keep patterns
whose count is
greater than
threshold,
Split to
patterns
whose length
is one
measure
Difficulty
Score
Calculation
Metrical
Complexity
Numbers of
Note
Patterns
with
difficulty
score
Rhythm game
Easy difficulty level
Medium difficulty level
Hard difficulty level
Differentiate
Methodology
Framework
Pattern
Replacement
Longest
Repetition
method
• Static Mode
– Ex. Easy difficulty level:
→ Medium difficulty level:
• Dynamic Mode
– We want to match the specific song, do not want
that generated rhythm is totally unrelated to that
specific song
– AAAB → CCCD
(length of A,B,C,D are all one measure)
Methodology
Pattern Replacement
30
Experiment
Experimental Setup
• Nexus 5 smartphone and a rhythm game open
source(Beats)
• Two set of experiment:
– In Quiet environment
• 22 people(11 people started from their preferred music
genre, other 11 people started from their not preferred
music genre)
– In noisy environment
• 6 people(all started from their not preferred music
genre)
31
• Classical music and Popular music
• Provide 5 songs in each music genre for
selection
• Listening → Playing
• Open triangle sound for classical music, bass
drum sound for popular music
• Let them rate the interesting level by 5 point
Likert scale
32
Experiment
Experimental Setup
Experiment
Experimental Setup
32
Experiment
Experimental Setup
33
Experiment
Experiment Result
35
Preferred music genre
Not preferred music genre
The hypothesis passed the t-test with
the p-value 2.41941*10−9
,
which indicates that the results is
significant at the p < 0.001 level
(99% confidence level).
The hypothesis passed the t-test with
the p-value 6.5886*10−8,
which indicates that the results is
significant at the p < 0.001 level
(99% confidence level).
0
100
200
300
400
500
600
700
800
900
1000
1100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
seconds
user no.
listening duration playing duration
0
100
200
300
400
500
600
700
800
900
1000
1100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
seconds
user no.
listening duration playing duration
In Quiet environment
36
Experiment
Experiment Result
0
1
2
3
4
5
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
5
points
Likert
scale
user no.
preferred music genre not preferred music genre
Preferred music genre average points: 3.77
Not preferred music genre average points: 3.63
Feel open triangle sound does not match the song
In dynamic mode, it happens that rhythm does not match the song,
so bass drum sound makes it strange
The quality of music is not good(because of using MIDI file)
In Quiet environment
37
Experiment
Experiment Result
0
20
40
60
80
100
120
140
160
180
1 2 3 4 5 6
seconds
user no.
listening duration playing duration
Preferred music genre
Not preferred music genre
0
100
200
300
400
500
1 2 3 4 5 6
seconds
user no.
listening duration playing duration
The hypothesis passed the t-test with
the p-value 0.03606,
which indicates that the results is
significant at the p < 0.05 level
(95% confidence level).
The hypothesis passed the t-test with
the p-value 0.00156,
which indicates that the results is
significant at the p < 0.05 level
(95% confidence level).
In Noisy environment
38
Experiment
Experiment Result
0
1
2
3
4
5
1 2 3 4 5 6
5
points
Likert
scale
user no.
preferred music genre not preferred music genre
Preferred music genre average points: 4.83
Not preferred music genre average points: 4
Tempo hints in that popular song is not exciting
In Noisy environment
Conclusion and Future Work
• we propose a system which can generate rhythms
for songs in rhythm game automatically
• The experiment result reveals that in either
preferred or not preferred music genre, the
playing duration is longer significantly than
listening duration of users
• we expect that our rhythm game can engage
people in music genre that is uncommon in their
daily lives
39
Conclusion and Future Work
• In our rhythm game, we use MIDI files to let
players to play. If could use MP3 files instead,
the game experience will be better
• If could make further adjustment about
patterns to make it more suitable for specific
song, the game experience will be better
36
Demo
37
Thanks for your listening
38
References
• Beats portable. https://github.com/Keripo/Beats.
• DrumMania (ドラムマニア). https://en.wikipedia.org/wiki/Drum_Mania.
• Freemidi.org. https://freemidi.org/
• Guitar Hero. https://en.wikipedia.org/wiki/Guitar_Hero.
• Longest common subsequence.
https://en.wikipedia.org/wiki/Longest_common_subsequence_problem.
• Magic Piano.
https://play.google.com/store/apps/details?id=com.smule.magicpiano&hl=zh_TW.
• Musescore. https://musescore.org/.
• Sing! Karaoke. https://en.wikipedia.org/wiki/Sing!_Karaoke.
• Taiko no Tatsujin (太鼓の達人) https://en.wikipedia.org/wiki/Taiko_no_Tatsujin.
• [Chao et al. 2014] W. Chao, K.-T. Chen, and Y.-S. Chen. Music interaction on mobile
phones. In Advances in Multimedia Information Processing - PCM 2014, pages
153–162. Springer, 2014.
43
References
• [Lerdahl et al. 1983] F. Lerdahl and R. Jackendoff. A Generative Theory of Tonal Music.
MIT Press, Cambridge, 1983.
• [Liu et al. 2009] Y.-L. Liu and Y.-S. Chen. iconduct:music control in the interactive
conducting system. Technical report, 2009.
• B. Shelley. Guidelines for Developing Successful Games.
http://www.gamasutra.com/view/feature/3041/guidelines_for_developing_.php,
2001. [Online; accessed 15-August-2001].
• [Toh et al. 2012] L.-W. Toh, W. Chao, and Y.-S. Chen. An interactive conducting
system using kinect. In Proceedings of The 2013 IEEE International Conference on
Multimedia and Expo, pages 1–6. IEEE, 2012.
• [Toussaint 2002] G. T. Toussaint. A mathematical analysis of african, brazilian and
cuban clave rhythms. In Proceedings of BRIDGES: Mathematical Connections
in Art, Music and Science, pages 157–168, 2002.
44

More Related Content

Similar to A system to generate rhythms automatically for songs in rhythm game

earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio Feedback
earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio FeedbackearPod: Eyes-free Menu Selection using Touch Input and Reactive Audio Feedback
earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio FeedbackKimberly Aguada
 
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about MusicCrowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Musicmultimediaeval
 
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Ju-Chiang Wang
 
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training  MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training ivaderivader
 
Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...Daichi Kitamura
 
Recsys Challenge 2018 - Creamy Fireflies - Artist-driven layering and user’s...
Recsys Challenge 2018 - Creamy Fireflies -  Artist-driven layering and user’s...Recsys Challenge 2018 - Creamy Fireflies -  Artist-driven layering and user’s...
Recsys Challenge 2018 - Creamy Fireflies - Artist-driven layering and user’s...Emanuele Chioso
 
Heuristic approach optimization
Heuristic  approach optimizationHeuristic  approach optimization
Heuristic approach optimizationAng Sovann
 
Good practices (and challenges) for reproducibility
Good practices (and challenges) for reproducibilityGood practices (and challenges) for reproducibility
Good practices (and challenges) for reproducibilityJavier Quílez Oliete
 
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...multimediaeval
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlowBarbara Fusinska
 
Algo_Lecture01.pptx
Algo_Lecture01.pptxAlgo_Lecture01.pptx
Algo_Lecture01.pptxShaistaRiaz4
 
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»2022_11_11 «AI and ML methods for Multimodal Learning Analytics»
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»eMadrid network
 
Machine Translation Introduction
Machine Translation IntroductionMachine Translation Introduction
Machine Translation Introductionnlab_utokyo
 
Remix Plan session for the EEC Playday
Remix Plan session for the EEC PlaydayRemix Plan session for the EEC Playday
Remix Plan session for the EEC PlaydaySylvester Arnab
 
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...Rui Pedro Paiva
 

Similar to A system to generate rhythms automatically for songs in rhythm game (20)

earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio Feedback
earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio FeedbackearPod: Eyes-free Menu Selection using Touch Input and Reactive Audio Feedback
earPod: Eyes-free Menu Selection using Touch Input and Reactive Audio Feedback
 
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about MusicCrowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
Crowsourcing for Social Multimedia Task: Crowsorting Timed Comments about Music
 
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...Automatic Set List Identification and Song Segmentation of Full-Length Concer...
Automatic Set List Identification and Song Segmentation of Full-Length Concer...
 
Improvise
ImproviseImprovise
Improvise
 
Enar short course
Enar short courseEnar short course
Enar short course
 
VEX_PPT
VEX_PPTVEX_PPT
VEX_PPT
 
Kaggle kenneth
Kaggle kennethKaggle kenneth
Kaggle kenneth
 
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training  MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
MusicBERT: Symbolic Music Understanding with Large-Scale Pre-Training
 
Vex 2
Vex 2Vex 2
Vex 2
 
Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...Robust music signal separation based on supervised nonnegative matrix factori...
Robust music signal separation based on supervised nonnegative matrix factori...
 
Recsys Challenge 2018 - Creamy Fireflies - Artist-driven layering and user’s...
Recsys Challenge 2018 - Creamy Fireflies -  Artist-driven layering and user’s...Recsys Challenge 2018 - Creamy Fireflies -  Artist-driven layering and user’s...
Recsys Challenge 2018 - Creamy Fireflies - Artist-driven layering and user’s...
 
Heuristic approach optimization
Heuristic  approach optimizationHeuristic  approach optimization
Heuristic approach optimization
 
Good practices (and challenges) for reproducibility
Good practices (and challenges) for reproducibilityGood practices (and challenges) for reproducibility
Good practices (and challenges) for reproducibility
 
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...
MediaEval 2014: A Multimodal Approach to Drop Detection in Electronic Dance M...
 
Deep learning with TensorFlow
Deep learning with TensorFlowDeep learning with TensorFlow
Deep learning with TensorFlow
 
Algo_Lecture01.pptx
Algo_Lecture01.pptxAlgo_Lecture01.pptx
Algo_Lecture01.pptx
 
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»2022_11_11 «AI and ML methods for Multimodal Learning Analytics»
2022_11_11 «AI and ML methods for Multimodal Learning Analytics»
 
Machine Translation Introduction
Machine Translation IntroductionMachine Translation Introduction
Machine Translation Introduction
 
Remix Plan session for the EEC Playday
Remix Plan session for the EEC PlaydayRemix Plan session for the EEC Playday
Remix Plan session for the EEC Playday
 
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...
MOODetector: A System for Mood-based Classification and Retrieval of Audio Mu...
 

Recently uploaded

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 

Recently uploaded (20)

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 

A system to generate rhythms automatically for songs in rhythm game

  • 1. A System to Generate Rhythms Automatically for Songs in Rhythm Game Kuan-Ting Chen 陳冠廷 Advisor : Yi-Shin Chen Institute of Information Systems and Applications National Tsing Hua University 1
  • 2. Outline • Introduction • Related Work • Methodology • Experiment • Conclusion and Future Work • Demo 2
  • 3. Introduction • There are many different music genres • People have their preferred and not preferred music genres • Making people to engage in the music genres which they are not preferred is our purpose 3
  • 4. Introduction • Rhythm Game – Widely be played So we use rhythm game to achieve our goal 4
  • 5. Related Work • Conducting systems – iConductor-[Liu et al. 2009] – An interactive conducting system using kinect-[Toh et al. 2012] – Music interaction on mobile phones-[Chao et al. 2014] 5
  • 6. Related Work • Rhythm games – Related to melody • Guitar Hero • Magic Piano • Sing! Karaoke – Only related to tempo • 太鼓の達人 • ドラムマニア(DrumMania) 6
  • 7. Related Work • But in existing rhythm game, every time players play, the tempo hints will always be the same • Replayability-[B. Shelley. Guidelines for Developing Successful Games. 2001] it motivates us to generate the dynamic tempo hints for the rhythm game 7
  • 8. Objective • Static Mode – For people who want to make good score in rhythm game • Dynamic Mode – For people who want freshness in rhythm game – make people stick in rhythm game more – make game more flexible(just input a MIDI file, then can directly play, no need to compose rhythm sheet by players themselves) 8
  • 9. Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Longest Repetition method Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology Framework Pattern Replacement 9
  • 10. Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology 10 Framework Pattern Replacement Longest Repetition method
  • 11. Methodology Data Collection • Static Mode – Downloaded specific MIDI file from “https://freemidi.org/” • Dynamic Mode – We want to extract common rhythm patterns in many songs – Downloaded 24836 MIDI files from “https://freemidi.org/” 11
  • 12. Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology 12 Framework Pattern Replacement Longest Repetition method
  • 13. Methodology Data Preprocessing • Static Mode – Covert that specific MIDI file to XML file • Dynamic Mode – Only process with 15493 4/4 beat MIDI files – Covert them to XML files 13
  • 14. • Instrument number • Measure number • Number Or Character Format – 32nd note → 1 – Fourth note → 8 – Half note → G – Whole note → W – 32nd rest → (1) – Fourth rest → (8) – Half rest → (G) – Whole rest → (W) Methodology Data Preprocessing 14
  • 16. 16 Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology Framework Pattern Replacement Longest Repetition method
  • 17. Methodology Pattern Extraction • Longest Common Subsequence Algorithm 17 (G)8(8)(4)4(8)8(8) (4)4(8)8(8) (4)4(8)8(4)4 (4)4(8)8(8)(4)4(8)8(8)(4)4(8)8(4)4 (4)4(8)44(4)4 Longest common subsequence algorithm (4)4(8)8(8)(4)4(8)8(8)(4)4(8)8(4)4
  • 18. 18 Aggregate LCS result from all songs Combine duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, split to patterns whose length is one measure Using LCS algorithm and then divide the count depending on the length of the song Methodology Pattern Extraction
  • 19. 19 Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology Framework Pattern Replacement Longest Repetition method
  • 20. • Static Mode – Ex. Easy difficulty level: → Medium difficulty level: • Dynamic Mode – Metrical Complexity – Numbers of Note – Longest Repetition method Methodology Difficulty Score Calculation 20
  • 21. Methodology Difficulty Score Calculation • Metrical Complexity [G. T. Toussaint,2002] • Formula: 𝑖=1 𝑛 𝑚𝑎𝑥 𝑤𝑖 − 𝑖=1 𝑛 𝑤𝑖 (6+5+4+4) - (6+4+5+4) = 0 1 0 2 5 3 6 4 7 12 9 8 14 10 11 13 17 16 15 18 19 20 22 21 31 29 28 27 26 25 24 23 30 x x x x 21
  • 23. • Longest Repetition method – “SuccessiveSubPattern” function • Ex. Input: “44442(2)2(2)44” Output: “4444”, “2(2)2(2)” and “44” – “FindUnitPattern” function • Ex. Input: “4444” Output: “4” – “LongestRepeatedSubPattern” function • Ex. Input: “84(8)84” Output: “84”, because “84” occurs twice in this pattern – “Difficulty Score” function • rt: rhythm notation • Note: 1 𝑟𝑡 Ex. quarter note → 1/8 32nd note → 1/1 • Rest: - 1 𝑟𝑡∗2 Ex. quarter rest → -1/16 • Because one quarter note plus one quarter rest equals one half note in rhythm game, so we set the difficulty score for rest this way (1/8 +(-1/16) = 1/16) 23 Methodology Difficulty Score Calculation
  • 24. • Output of “SuccessiveSubPattern”function is not null: – Ex. Pattern: “44442(2)2(2)44” 24 Methodology Difficulty Score Calculation 4444 2(2)2(2) 44 (1/4) repeat four times *(1/4) + [(1/2-1/4)] repeat two times *(1/2) +(1/4) repeat two times *(1/2)
  • 25. • Output of “SuccessiveSubPattern”function is null, but output of “LongestRepeatedSubPattern” function is not null: – Ex. Pattern: “84(8)84” 25 Methodology Difficulty Score Calculation 84 84 (8) (1/8+1/4) *(1/2) repeat two times but not adjacent *1.2 +(-1/16)
  • 26. • Output of “SuccessiveSubPattern”function and output of “LongestRepeatedSubPattern” function are all null: – Ex. Pattern: “(2)BC7” 26 Methodology Difficulty Score Calculation (-1/4) +(1/11) +(1/12) +(1/7)
  • 27. 27 Methodology Difficulty Score Calculation Metrical Complexity Numbers of Note Longest Repetition method Pattern mcScore ntScore lrScore FinalScore *1/3 *1/3 *1/3
  • 28. Methodology • Sort patterns by difficulty scores • Split these patterns into three parts 28
  • 29. 29 Data Collection Number Or Character Format Data Preprocessing Patterns Pattern Extraction Longest Common Subsequence Algorithm Aggregate result from all songs Delete duplicate result actually in rhythm game Keep patterns whose count is greater than threshold, Split to patterns whose length is one measure Difficulty Score Calculation Metrical Complexity Numbers of Note Patterns with difficulty score Rhythm game Easy difficulty level Medium difficulty level Hard difficulty level Differentiate Methodology Framework Pattern Replacement Longest Repetition method
  • 30. • Static Mode – Ex. Easy difficulty level: → Medium difficulty level: • Dynamic Mode – We want to match the specific song, do not want that generated rhythm is totally unrelated to that specific song – AAAB → CCCD (length of A,B,C,D are all one measure) Methodology Pattern Replacement 30
  • 31. Experiment Experimental Setup • Nexus 5 smartphone and a rhythm game open source(Beats) • Two set of experiment: – In Quiet environment • 22 people(11 people started from their preferred music genre, other 11 people started from their not preferred music genre) – In noisy environment • 6 people(all started from their not preferred music genre) 31
  • 32. • Classical music and Popular music • Provide 5 songs in each music genre for selection • Listening → Playing • Open triangle sound for classical music, bass drum sound for popular music • Let them rate the interesting level by 5 point Likert scale 32 Experiment Experimental Setup
  • 35. Experiment Experiment Result 35 Preferred music genre Not preferred music genre The hypothesis passed the t-test with the p-value 2.41941*10−9 , which indicates that the results is significant at the p < 0.001 level (99% confidence level). The hypothesis passed the t-test with the p-value 6.5886*10−8, which indicates that the results is significant at the p < 0.001 level (99% confidence level). 0 100 200 300 400 500 600 700 800 900 1000 1100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 seconds user no. listening duration playing duration 0 100 200 300 400 500 600 700 800 900 1000 1100 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 seconds user no. listening duration playing duration In Quiet environment
  • 36. 36 Experiment Experiment Result 0 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 5 points Likert scale user no. preferred music genre not preferred music genre Preferred music genre average points: 3.77 Not preferred music genre average points: 3.63 Feel open triangle sound does not match the song In dynamic mode, it happens that rhythm does not match the song, so bass drum sound makes it strange The quality of music is not good(because of using MIDI file) In Quiet environment
  • 37. 37 Experiment Experiment Result 0 20 40 60 80 100 120 140 160 180 1 2 3 4 5 6 seconds user no. listening duration playing duration Preferred music genre Not preferred music genre 0 100 200 300 400 500 1 2 3 4 5 6 seconds user no. listening duration playing duration The hypothesis passed the t-test with the p-value 0.03606, which indicates that the results is significant at the p < 0.05 level (95% confidence level). The hypothesis passed the t-test with the p-value 0.00156, which indicates that the results is significant at the p < 0.05 level (95% confidence level). In Noisy environment
  • 38. 38 Experiment Experiment Result 0 1 2 3 4 5 1 2 3 4 5 6 5 points Likert scale user no. preferred music genre not preferred music genre Preferred music genre average points: 4.83 Not preferred music genre average points: 4 Tempo hints in that popular song is not exciting In Noisy environment
  • 39. Conclusion and Future Work • we propose a system which can generate rhythms for songs in rhythm game automatically • The experiment result reveals that in either preferred or not preferred music genre, the playing duration is longer significantly than listening duration of users • we expect that our rhythm game can engage people in music genre that is uncommon in their daily lives 39
  • 40. Conclusion and Future Work • In our rhythm game, we use MIDI files to let players to play. If could use MP3 files instead, the game experience will be better • If could make further adjustment about patterns to make it more suitable for specific song, the game experience will be better 36
  • 42. Thanks for your listening 38
  • 43. References • Beats portable. https://github.com/Keripo/Beats. • DrumMania (ドラムマニア). https://en.wikipedia.org/wiki/Drum_Mania. • Freemidi.org. https://freemidi.org/ • Guitar Hero. https://en.wikipedia.org/wiki/Guitar_Hero. • Longest common subsequence. https://en.wikipedia.org/wiki/Longest_common_subsequence_problem. • Magic Piano. https://play.google.com/store/apps/details?id=com.smule.magicpiano&hl=zh_TW. • Musescore. https://musescore.org/. • Sing! Karaoke. https://en.wikipedia.org/wiki/Sing!_Karaoke. • Taiko no Tatsujin (太鼓の達人) https://en.wikipedia.org/wiki/Taiko_no_Tatsujin. • [Chao et al. 2014] W. Chao, K.-T. Chen, and Y.-S. Chen. Music interaction on mobile phones. In Advances in Multimedia Information Processing - PCM 2014, pages 153–162. Springer, 2014. 43
  • 44. References • [Lerdahl et al. 1983] F. Lerdahl and R. Jackendoff. A Generative Theory of Tonal Music. MIT Press, Cambridge, 1983. • [Liu et al. 2009] Y.-L. Liu and Y.-S. Chen. iconduct:music control in the interactive conducting system. Technical report, 2009. • B. Shelley. Guidelines for Developing Successful Games. http://www.gamasutra.com/view/feature/3041/guidelines_for_developing_.php, 2001. [Online; accessed 15-August-2001]. • [Toh et al. 2012] L.-W. Toh, W. Chao, and Y.-S. Chen. An interactive conducting system using kinect. In Proceedings of The 2013 IEEE International Conference on Multimedia and Expo, pages 1–6. IEEE, 2012. • [Toussaint 2002] G. T. Toussaint. A mathematical analysis of african, brazilian and cuban clave rhythms. In Proceedings of BRIDGES: Mathematical Connections in Art, Music and Science, pages 157–168, 2002. 44

Editor's Notes

  1. 放Objective 有甚麼目標導致現在要做兩個模式
  2. 字放大
  3. 為什麼要用LCS
  4. 舉例子 做動畫 It’s my life acoustic snare durm 不該除上小節數 該除上做了LCS的次數
  5. 用動畫