Inspiration

I am currently learning Japanese as I am going to study abroad there in a few months and was frustrated with the lack of speaking practice that I could get without a teacher. I pitched the idea to my teammate who wanted to improve his app development skills. With that agreement, the idea was settled on.

What it does

At its core, it is a language app like many out there. You have a profile, a dashboard, and a learning trek with multiple chapters. Each chapter has a few lessons that introduce words or sentences and asks you to speak them, providing real time feedback on pitch and pronunciation.

How we built it

The frontend is built on Android Development Studio using Koitlyn. The backend is hosted on FastAPI using Python. We used Ngrok to tunnel through the hackathon wifi to connect both ends. The audio files are downloaded from OJAD, the Online Japanese Accent Dictionary by the University of Tokyo, the gold standard for accent data. The waveforms are extracted using librosa, stretched to account for different paces, and normalized to allow for frequencies in voices. Whisper voice from OpenAI is used to grade pronunciation.

Challenges we ran into

The language corrections took a large amount of calculating. There was a large amount of time spent speaking into the mic, seeing what was wrong, adjusting values, etc. This was a new project for both of us, myself not being in a comp sci degree I always learn a lot of basic things during these. My friend Kage only had a few weeks of app development classes but we both brought this together.

Accomplishments that we're proud of

The app works perfectly, and we didn't even rush to finish it. We allowed ourselves a few hours of sleep. We were able to accomplish the entire app, ready to be scaled to many more words within 24 hours without stressing ourselves out.

What we learned

Kage learned a lot about app development, challenging himself to rely little on AI for doing, and only for teaching himself new things. I learned a lot about networking and tunneling, something that was an issue for our last Spartahacks project, as well as some generic code knowledge such as how CUDA runs.

What's next for Seikaku

Built With

Share this project:

Updates