Skip to content

Flask/Python server inference and backend API service for the Notable! android application.

License

Notifications You must be signed in to change notification settings

Aroueterra/notable-flask

Repository files navigation


Notable!
Notable!

An open source android application designed to assist casual learners in understanding the fundamentals of Music Theory


Screenshots:

About:

Web API for processing Notable! android application requests. This web API is hosted via an Ngrok tunnel! This project aims to digitize the information in music sheets and attempts to re-construct it for live playback in the recreational learning app Notable!

Through computer vision technology and image segmentation techniques, the program will partition a given music sheet cleanly between staves to read each note into the neural network and produce a .WAV formatted music file after being processed at the Flask backend server.

Use of this program can aid those learning an instrument better audiate the musical flow of different segments of a music sheet and interpret it in a digestable format of sound as he encounters it. Instant playback of scanned music is a function targeted towards beginner users. It will acclimate them towards learning the complex nature of music theory, such as key signatures, time signatures, and note values.

Note: This application is designed is for Android versions 21+

Specific features:

  • Readily supports image cropping and rotation adjustments after capture
  • Ability to process digital music sheets saved into the app's directory
  • Manually sync image with the server for processing
  • Syncing an image with the server returns both an array of segmented incipits and WAV files
  • Search the glossary for common terms and familiarize yourself with the fundamentals of music theory
  • Instant look-up of scanned symbols against the provided glossary for seamless interaction and learning
  • Access to the playback of a fully generated melody from the total number of staves, or piece-wise fragmented melodies
  • And much more!

Download

Get the app from our releases page.

Disclaimer

The developer of this application has prepared a remote server to be used in conjunction with the application. In the event that the server may be down or indisposed of during your testing or usage of the app, please contact the developer responsible at the email address: aroueterra@gmail.com

Kanban

Observe the development of the application live at our project's Kanban Board! https://github.com/users/Aroueterra/projects/2

Then, contribute to the project, it's open-source, or send us a feature request in the issues page of this repository.

Implementation

Currently implements CameraX Library and Hooked up NDK and OpenCV.

File Hierarchy

app.py
vocabulary_semantic.txt
├── Semantic-Model
|   ├── semantic_model.meta
|   └── semantic_model.index
|   └── semantic_model.data-00000-of-00001
├── templates
|   ├── index.html
|   └── result.html
├── static
|   ├── css
|        └── bulma.min.css

About

Flask/Python server inference and backend API service for the Notable! android application.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published