shorepine / amy

AMY - the Additive Music synthesizer librarY

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add command line editing and history to `amy-message`

octetta opened this issue · comments

I've added this locally and it's nice for testing at the shell.

Is there interest in this for AMY's core or should I fork?

I use amy-message as my primary way to playing with and learning AMY.

In addition fo history, I have several enhancements:

  • Ignore all text following '#' for comments
  • Allow multiple messages per line, separated by semicolons
  • Allow "relative timestamps", using "+" followed by an integer represending milliseconds. This is to avoid having to get the current sysclock value and doing math to schedule message
  • Allow capture of playback, specified by '>' followed by the number of milliseconds to capture from "now"
  • Various ways to output what was captured

Example

@5378781 # S65;+0v0w8p5f200l5;+250v0l0;+1000v9w8p5f201l5;+1250v9l0
[0] 'S65'
[1] 't5380917v0w8p5f200l5'
[2] 't5381167v0l0'
[3] 't5381917v9w8p5f201l5'
[4] 't5382167v9l0'

I've gone crazy on this tool... here's a preview of what's possible:

Screenshot from 2023-03-15 15-59-05

This is from a terminal... another example that captures the PCM bird cheep. I can write the captured data as a JSON or WAV file as well.

I know this is all possible from amy.py, but I wanted to have a somewhat stand-alone tool.
Screenshot from 2023-03-15 16-17-11