Inspiration
I've been playing Samulnori, and while practicing different Jangdan patterns, I thought it would be interesting if I could use a program to automatically recognize the rhythm I was playing. I wanted to see how accurately my own code could identify each Jangdan from an audio recording instead of checking it manually. That idea inspired me to build Samulnori Insider, a project that combines my interest in Korean traditional music with AI and audio analysis.
What it does
Samulnori Insider lets users upload a Samulnori audio file (.mp3 or .wav). The program analyzes the rhythm, estimates the BPM, and predicts which Jangdan the performance matches. It also shows the confidence score, displays the audio waveform, and explains the meaning and background of the detected rhythm.
How we built it
I built the project in Python using Streamlit to create the web app. Librosa is used to analyze the audio and estimate the tempo, while Matplotlib generates the waveform visualization. The program classifies the music into six traditional rhythm categories based on BPM: Under 85 BPM: Gutgeori (굿거리장단) 85–110 BPM: Byeoldalgeori (별달거리장단) 110–130 BPM: Samchae (삼채장단) 130–150 BPM: Jajinmori (자진모리장단) 150–170 BPM: Ichae (이채장단) Above 170 BPM: Hwimori (휘모리장단)
Challenges we ran into
One of the biggest challenges was that traditional percussion doesn't have perfectly steady beats like modern music, so BPM detection wasn't always consistent. I also found that newer versions of Librosa sometimes returned tempo values in different formats, which caused errors in my app. I fixed this by adding validation and error handling before displaying the results.
Accomplishments that we're proud of
I'm proud that I was able to combine Korean traditional music with AI in a project that people can actually interact with. It was exciting to build a tool where users can upload a recording and immediately see both technical analysis and cultural information in one place.
What we learned
Through this project, I learned the basics of digital signal processing (DSP) and music information retrieval (MIR). I also learned more about how different Jangdan patterns were used in Korean history and how rhythm can influence movement, coordination, and emotion.
What's next for Samulnori Insider
In the future, I'd like to improve the model by using deep learning instead of only BPM-based classification. I also want to recognize individual Samulnori instruments, such as the Kkwaenggwari, Jing, Janggu, and Buk, and add a live microphone feature so users can play rhythms and receive real-time feedback.
Built With
- github
- librosa
- librosa.display
- maplotlib
- numpy
- python
- streamlit
- visual-studio
Log in or sign up for Devpost to join the conversation.