Skip to content

Example Musical Agents

In the directory where you cloned or downloaded the Euterpe code, you should find an empty template agent located in src/agents/ , named EmptyAgent. This is the the agent you can use as a starting point to build your own agents. Additionally we provide 5 already implemented agents in the same folder, which serveas examples of how to use Euterpe.

Choosing another agent

In order to run any of the other 6 agents we provide, go to the file src/views/Euterpe.vue and change the variable agentName in line 62 to the name of the agent you want to run. For example, if you want to run the CallAndResponse agent, change the line to agentName: 'CallAndResponse'.

CallAndResponse

This is an agent that engages with a user in a call & response free-time event-based interaction. The agent waits for the user to finish their 'call' before responding with a 'response' of that mimics the user's input.

Copycat

This is an agent that shamelessly copies the user's input. It's a polyphonic event-based interaction. Three sliders are provided to the user to contorl the mimicry's delay, pitch shift and randomness.

GridyCopycat

This a similar agent to Copycat however, it is a monophonic 16th note grid-based interaction and that allows us to also utilize the Score widget to visualize the musical interaction.

WhistleToChords

This is an agent that listens to you whistling and generates chord accompaniment based on basic rules. We built this agent not for the actual value of the accompaniment algorithm but to demonstrate the audio input capabilities of Euterpe. It takes audio input from the microphone and estimates and displays audio features (rms and chroma vector) using the Meyda library.

PianoGenie

This a re-implementation of the Piano Genie by Chris Donahue, using Euterpe. It's an neural-network event-based agent that has the role of an intelligent musical instrument. The user has access to an 8-button keyboard and the agent intelligently maps those 8 buttons to a full 88-key piano performance. PianoGenie

BachDuet

BachDuet is a musical agent that can play a counterpoint duet with the user in the style of J.S. Bach. It's a simultaneous monophonic grid-based interaction. BachDuet