GETTING UP AND RUNNING: a tutorial for the open-source project The Amanuensis: Automated Songwriting and Recording

in #utopian-io6 years ago (edited)

Repository

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

What Will I Learn?

  • You will learn what The Amanuensis is and what it can be used for.
  • You will be given an overview of how The Amanuensis works.
  • You will learn how to get The Amanuensis up and running.
  • You will gain a more detailed understanding of its general settings.

Requirements

  • Windows - If you'd like to help get a Mac version up and running, please reply to this post! The necessary changes are actually very minimal.
  • Max/MSP - If you don't have it you can get a free 30 day trial at cycling74.com or just reply to this post and I will compile a standalone version of The Amanuensis for you to use.

Difficulty

  • Basic - This tutorial is designed with musicians in mind primarily; no programming knowledge required. If you're into Max and want to get involved that is only a plus!

Tutorial Contents

What is The 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 on a daily basis.

The Amanuensis was conceived after participating in so many jam sessions, and so many with exceptional moments in them, being frustrated by how few of those made it into actual songs, despite the sessions being recorded. One could spend hours digging through those recordings and hours more trying to salvage anything for an actual studio recording. The apparent truth was that, musically, the best things always happen when you're not paying attention to whether or not it's being documented. So if you love to get lost playing your instrument, but hate the tedious and often contrived nature of engineering a recording, The Amanuensis is for you.

How it works

The main goal of The Amanuensis is essentially to quantify the subjective, to define what properties "good" music has without making judgments based on style, genre, popular appeal, etc. More specifically, to identify that moment of pure creative flow, when conscious control leaves the body to its own devices. In practice I have so far found the analysis of rhythm to be most useful in this regard and The Amanuensis is currently based solely on this strategy, although any other methods could be implemented in future versions.

Up to 16 tracks are available to record into (simultaneously or individually) using either direct audio input or the audio generated by internally-loaded samples or VST instruments. Each track must also receive MIDI from some source, as this is currently what the rhythmic analysis itself utilizes (more detail on setting up recording sources and suitable MIDI to accompany it in future tutorials). The process of analysis can be summarized as follows:

Your tempo as you play is first analyzed to establish a standard beat interval, a sort of silent click track that allows the song to loop from end to beginning without breaking rhythm. At this point the system is considered "locked" and the actual rhythmic analysis can begin. Roughly speaking, an input note is considered to be in-rhythm if the interval since the last note matches another interval that has occurred in the recent past.

Longer spans in rhythm are retained while the shorter ones they overlap are discarded. In this way a growing song will continue to loop around you consisting only of these "best" portions of audio, not necessarily what you would have chosen to record deliberately, but something spontaneous that you must react to as your jam moves forward and keeps you on your toes.

Getting started

The rhythmic analysis is handled in an external Python script so it is necessary to have Python installed to run The Amanuensis. I am using 3.5. There are plenty of tutorials to be found online regarding the installation of Python, such as this one.

The Amanuensis itself will need to be cloned or downloaded from https://github.com/to-the-sun/amanuensis by clicking . Once you have all the files in a folder on your machine, open Amanuensis.maxpat.

The program takes a little while to load. You will know it is finished when the window labeled "Preloading drum samples" has closed. Don't click anything before that time.

Before you begin you'll need to get the basic settings established. The Amanuensis always opens in the same state you left it in the last time you used it, so these things will only need to be selected once, unless you want to change something. Click .

The Settings menu

First you'll need to select your audio driver. The default audio drivers that come with Windows don't cut it when it comes to professional recording applications, so if you don't have an interface or some hardware of that kind, you'll need to download ASIO4ALL and use that.

If you want to use drum samples played with MIDI, select the folder they're located in. You can also include subfolders up to nine deep. The program will look for any .wav or .aiff files in your chosen range, so be careful not to include any songs or large files like that or you could cause it to crash. Assuming the files are small, it can handle quite a large number of them (a thousand without trouble.)

If you intend to play VST instruments via MIDI, select their folder. Again, you can include subfolders up to nine deep. At this point in time The Amanuensis does not differentiate between VST instruments and other VSTs, such as audio effects, so it is necessary to relegate only instruments to your chosen folder range.

Also, it is necessary to manually specify the total number of presets each VST has by entering it in a separate text file for The Amanuensis to read. You must create this file if it's the first time you're using the system and it must be called synthTaste.txt. VSTs and their number of presets must be entered into it like so:

The format being: a separate line for each VST file name, excluding path but including extension, as a symbol (double quotes around it if it contains spaces), followed by a comma, the number of presets as an integer and finally a semicolon. If you want to change this cumbersome aspect see issue #5

Next, select a folder for your finished products to be exported to in the form of .wav files. A "[Projects]" folder will also be created there, which will house all the necessary project files for each song you create so you can come back to them and pick up again exactly where you left off.

The "tolerance" is a fundamental variable used by The Amanuensis. It is the number of milliseconds leeway given on either side of each of the player's beats when determining whether or not it falls in rhythm. In some sense it is a "difficulty setting:" set a very low number and you would have to be a flawless machine for the program to catch anything you play, a very high number and it will catch things very easily, meaning your final recording will quite possibly be sloppy. The idea behind The Amanuensis is that it only records the very best of your jam, so I generally set a relatively low number, such as 9. The reason for this number in particular is that 20 ms is a generally accepted estimate of the minimum space the human ear can differentiate between two sounds; 9 ms on either side of each beat is 18, which is below this threshold and should be inconsequential audibly. A higher number also puts more strain on the rhythmic analysis.

However, for a new user it can potentially be frustrating if the system does not catch what they're playing right away and for that reason this number can certainly be raised. Once you see how things work though, you would want to ideally lower it back down. The way to play The Amanuensis is really to just forget about it, play your instrument and sooner or later it will jump in, just like someone else you're jamming with.

The "memory span" of the system is another fundamental variable. It is the number of seconds back in time it looks when determining the established rhythm and also the amount of time that can pass between a player's incoming notes before user input is considered to have ended. I generally use a default of 8. I wouldn't want to lower that much or at all and in raising it, keep in mind this also puts a greater strain on the rhythmic analysis.

Compressors are optional but use up processing power when on. I have generally found them not to be necessary on input, but useful in smoothing out playback as it loops. Your applications and tastes will vary.

Summary

At this point you can close the Settings window and the general setup of the system is complete. You will now need to set up each track to your liking by choosing a recording source and also a MIDI source. This will be covered in detail in subsequent tutorials.

Curriculum

will be updated shortly, as it is published

Proof of Work Done

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

Sort:  

Very interesting software. I have never heard of it.

Thanks! It's just now seeing the light of day. Give it a try and let me know your feedback

Thank you for your contribution.

  • Submissions focused on the use of functions that are already well documented in the project documentation will be not be considered for potential reward.

See in this link an example of a good tutorial.


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

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.029
BTC 64130.23
ETH 3169.82
USDT 1.00
SBD 2.47