Learn via call and response by looping over the material to be learned (musical audio or speech or video or text...) and repeating it back during the pauses.
VERY MUCH WIP! Use at your own risk :)
For the most up-to-date behavior of LeanLooper, see the most recent demo in the demos folder. Each demo should contain some form of manifest that is pinned to the version of LearnLooper.jl used at demo time. These demos are likely not forward-compatible, if e.g. the most recent version of LearnLooper.jl is checked out instead.
Julia library that implements that looping logic.
...to be moved into issues when development is far enough.
As a treat:
- Set up params to control global playback speed, etc?
- Set up notebook to play with controls while learning/run demo?
- Find/use package to better vocode/adjust speed
- Support backing track(s)/drone
- Support loading annotation files (as created in an external app)
Housekeeping:
- Make testing nicer (don't actually play audio, output what was played)
- Move printouts to debug mode
- Safety
firstlast!
- Update docstrings
- Restructure repo and move Julia library into a subdir
- Add GHA: docs, codecov, CI, linting, badges
- Fix tests to remove hardcoded example song
- Set up first demo
- Fix bug in 'cumulative' mode
- Fully support
say
behavior (mac only) - Support strings, vector of strings, numbers
- Add test for above plus reading in text file
- Added .wav support!!
- Added (lousy) speed support!
- Make devlog, update README
- Add tests
- Update "cumulative" logic to support non-contiguous segments
- Start adding
say
behavior (mac only)
- initial implementation!
- create
learn_demo
for generic input vector with indexable segments - "play" by printing to screen