SEPARATE READ/WRITE HEADS: a task request for the open source project The Amanuensis: Automated Songwriting and Recording

in #utopian-io6 years ago

Repository

https://github.com/to-the-sun/amanuensis

Details

Currently recording and playback follow the same loop; where the playback is being heard at any given time is the same place where new recording will occur. However there could be some significant advantages in utilizing separate read and write heads.
This would mean that the song would not extend until after a new recording has been captured, rather than the playback following along in silence with the write head as it records beyond the bounds of the song, extending it in real time. The read head could loop on what's already been recorded while the write head records off into space, giving the user a continual backing track without big gaps of silence.
Not having to extend the total length of the song in real time would simplify a lot of code as well. It could potentially even make things run faster, considering certain things would only update at broad intervals rather than in a continual fashion.
It also alleviates a major complexity dealing with the fact that every note has a variable delay as it waits for the UDP round-trip to the Python script and back before the analysis associated with it can be used. There are bugs that have still not been worked out caused by that lag spanning the loop point between end and beginning of song. But if the playback is on its own loop, it doesn't matter when the analysis (and therefore the command to start or stop recording) comes back.

Components

Most if not all of the changes would take place in the untitled [gen~] object located in the [p brain] subpatcher of organism.maxpat. The codebox within it is responsible for generating the ramp which specifies the current position in the song. The "ramp" variable there as well as [send~ ---phasor] and the continually updated fifth index of the "stats" buffer that it feeds would be the affected points. It remains to be seen whether anything beyond that scope would need to be altered.

image

Deadline

There is no deadline, but we can discuss how long it might take to execute.

Communication

Reply to this post or contact me through Github for more details.

Proof of Work Done

https://github.com/to-the-sun

Sort:  

Thanks for the task request, it definitely seems like a cool project! It's unfortunate it only works on Windows, though!

I also saw that you don't have a deadline; I'd definitely recommend setting one.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for the suggestions. As for a deadline, I have yet to attract any collaborators so I feel like the first thing is to get someone interested, rather than worry about exactly how productive they are ha ha.

And Mac compatibility is first on the list. It would be just a quick change, but it requires someone who owns a Mac and that's not me.

Hey @to-the-sun
Thanks for using Utopian.
We're already looking forward to your next task request!

Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.032
BTC 60385.11
ETH 2889.75
USDT 1.00
SBD 3.65