rhythm_olmits

A beat-centric rhythm intelligent tutoring system with an open learner model

https://github.com/derekxkwan/rhythm_olmits

Science Score: 18.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.2%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A beat-centric rhythm intelligent tutoring system with an open learner model

Basic Info
  • Host: GitHub
  • Owner: derekxkwan
  • License: bsd-3-clause
  • Language: JavaScript
  • Default Branch: main
  • Size: 935 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 4 years ago · Last pushed almost 4 years ago
Metadata Files
Readme License Citation

README.md

Rhythm OLMITS

Completed as part of my graduate studies in CS, Rhythm OLMITS is a rhythm intelligent tutoring system with an open learner model to support metacognition. It is an Electron app using React for the GUI, vexflow for music notation, and node-libpd for an audio engine. It teaches how to perform rhythms from music notation, provides a hierarchical visualization of a student's progress, pinpoints learner mistakes to specific beat-centric rhythm patterns, and generates rhythm exercises according to the needs of the student.

Exercise Screen Selection Screen OLM Screen

Supported Platforms

Supported Platforms are limited at the moment to the platforms supported by node-libpd, which are Intel Macs, Linux x64, and Raspberry Pis.

Installation Instructions

Given an installed Node.js environment (if not installed, I suggest nvm), run: npm install to install dependencies from the root folder and npm run el to run the tutoring system. I have provided builds for MacOS Intel and Linux x64 (but installation seems to be the more reliable method of getting things working).

Known Bugs

The MacOS version tends to throw errors upon closing and the issue seems to lie with the node-libpd bindings as noted in this issue thread where the bindings throw segmentation faults.

Other

  • Software related references are in the code and also in citations.md
  • The accompanying paper can be found here

Owner

  • Name: derek kwan 關志豪
  • Login: derekxkwan
  • Kind: user
  • Location: Oregon

artificial intelligence | music | he / him

Citation (citations.md)

# References
JSON does not support comments (as far as I know), so the citations appear here. Images used the Info section are screenshots of vexflow renderings. The Endrich citation is used for a measurement conversion (beats per minute to milliseconds). Other references are in the code with BEGIN CODE/END CODE comment sandwiches. 

## General References
Attard, S. and Lee, M. (2022). electron-forge (v6.0.0.-beta.64) [Node.js packaging tool]. Retrieved from https://github.com/electron-userland/electron-forge

Betts, A. (2020). Squirrel.Windows (2.0.1) [Computer Software]. Retrieved from https://github.com/Squirrel/Squirrel.Windows

Brinkmann, P. (2021). libpd (0.12.3) [Embeddable software library]. Re-
trieved from https://github.com/libpd/libpd

Cheppudira, M. (2022). Vexflow (4.0.3) [Typescript library]. Retrieved from https://github.com/0xfe/vexflow

Endrich, A. (2004). Time Calculations in Music. Retrieved from http://moz.ac.at/sem/lehre/lib/cdp/cdpr5/html/timechart.htm

Hrabovsky, L., Kangas, M., Ratkajec, V., Pearce, M. & Jordan, D. (2016). electron-squirrel-startup (1.0.0) [Computer Software]. Retrieved from https://github.com/mongodb-js/electron-squirrel-startup

Koppers, T., Ewald, J., Larkin, S., & Kluskens, D. (2022). Webpack (5.73.0) [Javascript bundling software]. Retrieved from https://github.com/webpack/webpack

Kwan, D. (2020). pdkvabs [Pure Data abstraction library]. Retrieved from https://github.com/derekxkwan/pdkvabs

Kwan, D. (2020). pdklist [Pure Data abstraction library]. Retrieved from https://github.com/derekxkwan/pdklist

Kwan, D. (2020). pdksynth [Pure Data abstraction library]. Retrieved from https://github.com/derekxkwan/pdksynth

Matuszewski, B., Miller, J., and Lambert, J.-P. (2022). node-libpd (1.0.2)
[NodeJS module]. Retrieved from https://github.com/ircam-ismm/node-libpd 

Meta Plaforms, Inc. (2022). React (18.2.0) [Javascript library]. Retrieved from https://github.com/facebook/react

Meta Plaforms, Inc. (2022). react-dom (18.2.0) [Javascript library]. Retrieved from https://github.com/facebook/react/tree/main/packages/react-dom

Microsoft (2022). TypeScript (4.7.4) [Programming Language]. Retrieved from https://github.com/Microsoft/TypeScript

Nicklas, Jan (2021). html-webpack-plugin (5.5.0) [Computer Software]. Retrieved from https://github.com/jantimon/html-webpack-plugin

OpenJS Foundation (2022). Electron (19.0.6) [NodeJS application framework]. Retrieved from https://github.com/electron/electron

OpenJS Foundation (2022). Node.js (18.4.40) [JavaScript runtime]. Retrieved from https://github.com/nodejs/node

Puckette, M. (2022). Pure Data (0.52-2) [Desktop app]. Retrieved from
https://github.com/pure-data/pure-data.

Reilly, J. (2022). ts-loader (9.3.1) [Computer software]. Retrieved from https://github.com/TypeStrong/ts-loader

Stensberg, E (2022). webpack-cli (4.10.0) [Computer Software]. Retrieved from https://github.com/webpack/webpack-cli
## Sources for tsconfig_public.json

Yeh, Ron B. (2022). VexFlow 4 Tutorial. Retrieved from https://github.com/0xfe/vexflow/wiki/VexFlow-4-Tutorial

Yosef, L (2021). webpack-node-externals (3.0.0) [Computer Software]. Retrieved from https://github.com/liady/webpack-node-externals 


## Sources for tsconfig in general
Bowden, K. (2017). TypeScript-React-Starter. Retrieved from https://github.com/Microsoft/TypeScript-React-Starter/blob/master/tsconfig.json

Microsoft (2022). TypeScript: TSConfig Reference - Docs on every TSConfig option. Retrieved from https://www.typescriptlang.org/tsconfig

GitHub Events

Total
Last Year

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 3
  • Total Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
derekxkwan d****n@g****m 3

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels