RANDOM INITIALIZATION OF PITCHES WITHIN AN OCTAVE FOR Singing Stream's INSTRUMENTS: 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

The Amanuensis is an automated songwriting and recording system aimed at ridding the process of anything left-brained, so one need never leave a creative, spontaneous and improvisational state of mind, from the inception of the song until its final master. The program will construct a cohesive song structure, using the best of what you give it, looping around you and growing in real-time as you play. All you have to do is jam and fully written songs will flow out behind you wherever you go.
If you want to try it out, please get a hold of me! Playtesters wanted!

Details

A little while back the "octave" parameter saved for each device by singingstream.maxpat was removed, which allowed for easier access of the hotkeys in octave -2. The downside of this was that in initializing a new controller, the pitches randomly assigned to its buttons will lie all over the spectrum and may actually be fairly incongruous to play together. So it would be ideal if, for their random initialization only, the original functionality was reinstated, assigning pitches only within a single octave, thereby creating a specific modality or scale for the player to operate in.

Components

Pitch is chosen in the initialize_pitchsubpatcher of singingstream.maxpat.

Basically, the functionality to initialize an octave at random for each device will need to be integrated back in to it. The randomand + objects replaced with a quick check of the device's octave and a random 12(12 pitches in an octave). The old code for initializing the octave is the right-hand portion of the now defunct p initialize_devices:

It must be noted that octaves are chosen per device whereas pitches are chosen per control on each device, so you will need to use a sprintf symout %s==|>device to get the device name from dict ---specsbefore checking for the octave with the above code.

Also, there are 11 octaves to choose from (hence the random 11) but the lowest one should actually be excluded because that is where the hotkeys lie. Don't want to go in circles making the same mistakes here, so the random 11will need to be altered as well.

Deadline

This request should take no more than five days to complete.

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, @to-the-sun!


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

Hey @to-the-sun
Thanks for contributing on 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!

I would like to take your request @ to-the-sun

Excellent! All you have to do is create a new patch for me to swap in place of p initialize_pitch. Do you have a profile on discord? I'm @to_the_sun

@dianita are you still interested?

Coin Marketplace

STEEM 0.24
TRX 0.11
JST 0.033
BTC 62441.28
ETH 3020.61
USDT 1.00
SBD 3.79