Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/josepedrodias/exercise-metronome
KISS rowing exercise sidekick
https://github.com/josepedrodias/exercise-metronome
canvas esm javascript kiss metronome tts web-app
Last synced: 10 days ago
JSON representation
KISS rowing exercise sidekick
- Host: GitHub
- URL: https://github.com/josepedrodias/exercise-metronome
- Owner: JosePedroDias
- Created: 2020-05-17T13:08:39.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-10-04T12:14:54.000Z (over 4 years ago)
- Last Synced: 2024-11-20T13:40:11.688Z (2 months ago)
- Topics: canvas, esm, javascript, kiss, metronome, tts, web-app
- Language: JavaScript
- Homepage: https://josepedrodias.github.io/exercise-metronome/rowing.html
- Size: 800 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Exercise Metronome
## Motivation
So, I have the cheapest Decathlon ergometer, which comes with no metrics whatsoever.
Attempted several approaches to help me train prior to this one (measure accelerometer, blob detection with computer vision, etc.)
Ended up reversing it: using a metronome to keep a steady pace during each session step.This app does a relatively simple job:
- holds a set of exercises which one can use over the course of 8 weeks (or extend/customize)
- displays session and part times (Canvas API)
- plays a ticking sound to aid one keep the scheduled pace (Web Audio + timer running on a worker)
- says out loud relevant transition events (Speech Synthesis API)It works reasonably well. Allows one to keep focused on the session with low cognotive effort.
## Rowing
You one the browser page, pick the exercise from the select box.
Once ready hit space of touch/click to start/pause the session.
There are 4 kinds of activity:- **L** - low intensity rowing (20 strokes per minute)
- **M** - medium intensity rowing (23 spm)
- **H** - high intensity rowing (26 spm)
- **R** - restWhenever you enter on a new part of the session, coach calls it out and tweaks the metronome (each stroke does a low and a high tick so you sync with your movement).
That's it!- [run it in your (desktop) browser](https://josepedrodias.github.io/exercise-metronome/rowing.html)
- [screen grab of the app running](https://josepedrodias.github.io/exercise-metronome/public/rowing-demo.mp4)![screenshot](public/rowing-shot.png)
## 7 min workout and other routines
Haven't funny fleshed out this one.
## Aknowledgements
Used an adapted version of [no-sleep](https://github.com/richtr/NoSleep.js) to avoid mobile turning screen off. 🙏
## Dev
brew install mkcert
mkcert -install
mkcert localhost
npm i -g --only=prod https-localhostnpx https-localhost (prefix with sudo if in linux)
visit: https://localhost/## TODO
- halfway there, 3, 2, 1... at end of step
- 3, 2, 1... before session
- fix change program / play after ending
- write some intro
- 7 min exercise variant?
- custom step rpms and durations
- change step speed during session and record it
- shuffle steps