Automated Accompaniment

Similar documents
Evolutionary Computation Applied to Melody Generation

Doctor of Philosophy

Using an Evolutionary Algorithm to Generate Four-Part 18th Century Harmony

Algorithmic Music Composition

AutoChorale An Automatic Music Generator. Jack Mi, Zhengtao Jin

On Interpreting Bach. Purpose. Assumptions. Results

Various Artificial Intelligence Techniques For Automated Melody Generation

Blues Improviser. Greg Nelson Nam Nguyen

DJ Darwin a genetic approach to creating beats

PRACTICE FINAL EXAM. Fill in the metrical information missing from the table below. (3 minutes; 5%) Meter Signature

Music Composition with Interactive Evolutionary Computation

Sudhanshu Gautam *1, Sarita Soni 2. M-Tech Computer Science, BBAU Central University, Lucknow, Uttar Pradesh, India

A Transformational Grammar Framework for Improvisation

Music Morph. Have you ever listened to the main theme of a movie? The main theme always has a

Algorithmic Composition: The Music of Mathematics

jsymbolic and ELVIS Cory McKay Marianopolis College Montreal, Canada

Course Proposal for Revised General Education Courses MUS 2555G INTERACTING WITH MUSIC

A Comparison of Methods to Construct an Optimal Membership Function in a Fuzzy Database System

Artificial Intelligence Approaches to Music Composition

Study Guide. Solutions to Selected Exercises. Foundations of Music and Musicianship with CD-ROM. 2nd Edition. David Damschroder

Automatic Composition from Non-musical Inspiration Sources

Background/Purpose. Goals and Features

Cadence fingerprints

Attacking of Stream Cipher Systems Using a Genetic Algorithm

Music/Lyrics Composition System Considering User s Image and Music Genre

All rights reserved. Ensemble suggestion: All parts may be performed by soprano recorder if desired.

University of Huddersfield Repository

Computational Modelling of Harmony

Year 2 Semester 1 Criteria Sheet

Optimizing Fuzzy Flip-Flop Based Neural Networks by Bacterial Memetic Algorithm

Musical Creativity. Jukka Toivanen Introduction to Computational Creativity Dept. of Computer Science University of Helsinki

Exploring the Rules in Species Counterpoint

Evolutionary Computation Systems for Musical Composition

ORB COMPOSER Documentation 1.0.0

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

U-AMP: User Input Based Algorithmic Music Platform

Year 11 SOW MUSIC Autumn Week. Lesson Objectives/ PLC Activities Assessment Resources Key words Focus Group/

Evolutionary jazz improvisation and harmony system: A new jazz improvisation and harmony system

An Improved Fuzzy Controlled Asynchronous Transfer Mode (ATM) Network

Unit 5b: Bach chorale (technical study)

MELONET I: Neural Nets for Inventing Baroque-Style Chorale Variations

Building a Better Bach with Markov Chains

Curriculum Catalog

Evolutionary Music Composition for Digital Games Using Regent-Dependent Creativity Metric

Analysis and Clustering of Musical Compositions using Melody-based Features

Automated extraction of motivic patterns and application to the analysis of Debussy s Syrinx

Optimization of Multi-Channel BCH Error Decoding for Common Cases. Russell Dill Master's Thesis Defense April 20, 2015

Curriculum Mapping Piano and Electronic Keyboard (L) Semester class (18 weeks)

AP MUSIC THEORY 2006 SCORING GUIDELINES. Question 7

1 Overview. 1.1 Nominal Project Requirements

Outline. Why do we classify? Audio Classification

POST-PROCESSING FIDDLE : A REAL-TIME MULTI-PITCH TRACKING TECHNIQUE USING HARMONIC PARTIAL SUBTRACTION FOR USE WITHIN LIVE PERFORMANCE SYSTEMS

Template Matching for Artifact Detection and Removal

Artificial intelligence in organised sound

Figured Bass and Tonality Recognition Jerome Barthélemy Ircam 1 Place Igor Stravinsky Paris France

Soft Computing Approach To Automatic Test Pattern Generation For Sequential Vlsi Circuit

TongArk: a Human-Machine Ensemble

a start time signature, an end time signature, a start divisions value, an end divisions value, a start beat, an end beat.

Evolving Cellular Automata for Music Composition with Trainable Fitness Functions. Man Yat Lo

Automatic Composition of Music with Methods of Computational Intelligence

(Skip to step 11 if you are already familiar with connecting to the Tribot)

Experiments on musical instrument separation using multiplecause

INTERVALS Ted Greene

Type-2 Fuzzy Logic Sensor Fusion for Fire Detection Robots

AP MUSIC THEORY 2013 SCORING GUIDELINES

Evolving Musical Counterpoint

Music Curriculum Kindergarten

Pitch correction on the human voice

Radboud University Nijmegen. AI generated visual accompaniment for music

The Circle of Fifths *

A Genetic Algorithm for the Generation of Jazz Melodies

COMMON TRAINING MILITARY BAND ADVANCED MUSICIAN INSTRUCTIONAL GUIDE SECTION 1 EO S REVIEW MUSIC PROFICIENCY LEVEL FOUR THEORY PREPARATION

NetNeg: A Connectionist-Agent Integrated System for Representing Musical Knowledge

Perception-Based Musical Pattern Discovery

Discovery of frequent episodes in event sequences

Cell techniques in Anton Webern s Five Pieces for Orchestra, opus 10 no 1 (1913)

Singer Recognition and Modeling Singer Error

Curriculum Development In the Fairfield Public Schools FAIRFIELD PUBLIC SCHOOLS FAIRFIELD, CONNECTICUT MUSIC THEORY I

AP Music Theory Syllabus

Rhythmic Dissonance: Introduction

BLUE VALLEY DISTRICT CURRICULUM & INSTRUCTION Music 9-12/Music Theory

Peak Dynamic Power Estimation of FPGA-mapped Digital Designs

A NOTE ON FRAME SYNCHRONIZATION SEQUENCES

Melody Extraction from Generic Audio Clips Thaminda Edirisooriya, Hansohl Kim, Connie Zeng

Vicon Valerus Performance Guide

COMPOSING WITH INTERACTIVE GENETIC ALGORITHMS

Data Mining. Dr. Raed Ibraheem Hamed. University of Human Development, College of Science and Technology Department of CS

The Practice Room. Learn to Sight Sing. Level 3. Rhythmic Reading Sight Singing Two Part Reading. 60 Examples

Grade Five. MyMusicTheory.com. Music Theory Practice Test. (ABRSM Syllabus) BY VICTORIA WILLIAMS BA MUSIC AMUSTCL

Melodic Outline Extraction Method for Non-note-level Melody Editing

Jazz Melody Generation and Recognition

Music Model Cornerstone Assessment. Guitar/Keyboard/Harmonizing Instruments Harmonizing a Melody Proficient for Creating

Using the Modes and Applying Them

Evolving Musical Scores Using the Genetic Algorithm Adar Dembo 3350 Thomas Drive Palo Alto, California

Topic 10. Multi-pitch Analysis

Achieve Accurate Color-Critical Performance With Affordable Monitors

A Dominant Gene Genetic Algorithm for a Substitution Cipher in Cryptography

Fugue generation using genetic algorithms

Music Model Cornerstone Assessment. Artistic Process: Creating-Improvisation Ensembles

Noise (Music) Composition Using Classification Algorithms Peter Wang (pwang01) December 15, 2017

Transcription:

Automated Tyler Seacrest University of Nebraska, Lincoln April 20, 2007 Artificial Intelligence Professor Surkan

The problem as originally stated:

The problem as originally stated: ˆ Proposed Input

The problem as originally stated: ˆ Proposed Input ˆ Proposed Output

General aims for the project:

General aims for the project: ˆ Develop a representation for musical knowledge that the computer can easily implement

General aims for the project: ˆ Develop a representation for musical knowledge that the computer can easily implement ˆ Have the computer analyze a piece of music, or sections of a piece of music

General aims for the project: ˆ Develop a representation for musical knowledge that the computer can easily implement ˆ Have the computer analyze a piece of music, or sections of a piece of music ˆ Develop some approximation of computerized creativity

General aims for the project: ˆ Develop a representation for musical knowledge that the computer can easily implement ˆ Have the computer analyze a piece of music, or sections of a piece of music ˆ Develop some approximation of computerized creativity ˆ Have the computer get better over time

General aims for the project: ˆ Develop a representation for musical knowledge that the computer can easily implement ˆ Have the computer analyze a piece of music, or sections of a piece of music ˆ Develop some approximation of computerized creativity ˆ Have the computer get better over time (didn t quite get to this one)

for tackling the above issues: Fuzzy rules!

Fuzziness :

Fuzziness : ˆ For each time the program wants to determine which chord to play next, an array of doubles called Key[] is created. It has size 12 (each one corresponds to a possible major chord; these are called fuzzy variables )

Fuzziness : ˆ For each time the program wants to determine which chord to play next, an array of doubles called Key[] is created. It has size 12 (each one corresponds to a possible major chord; these are called fuzzy variables ) ˆ Various (fuzzy) rules are applied. For each rule, values are added or subtracted from some or all of the fuzzy variables associated with each chord.

Fuzziness : ˆ For each time the program wants to determine which chord to play next, an array of doubles called Key[] is created. It has size 12 (each one corresponds to a possible major chord; these are called fuzzy variables ) ˆ Various (fuzzy) rules are applied. For each rule, values are added or subtracted from some or all of the fuzzy variables associated with each chord. ˆ At the end of the rule application process, the array Key[] might look like Key[] = (0, 0, 0.3, 2.4, 0.5, -0.4, 0, 0.7, 1.8, 1.1, 0, 0.5, 0.6)

Fuzziness : ˆ For each time the program wants to determine which chord to play next, an array of doubles called Key[] is created. It has size 12 (each one corresponds to a possible major chord; these are called fuzzy variables ) ˆ Various (fuzzy) rules are applied. For each rule, values are added or subtracted from some or all of the fuzzy variables associated with each chord. ˆ At the end of the rule application process, the array Key[] might look like Key[] = (0, 0, 0.3, 2.4, 0.5, -0.4, 0, 0.7, 1.8, 1.1, 0, 0.5, 0.6) ˆ Notice that the fourth value, 2.4, is the highest. As long as the highest value is above some threshold, then the chord corresponding to that value is played. In this case, a B-chord is played.

We ll get back to the main problem in a second, but the fuzzy rules method has an mini application to the problem of determining what key a piece of music is in.

We ll get back to the main problem in a second, but the fuzzy rules method has an mini application to the problem of determining what key a piece of music is in. ˆ Most songs are written in a major scale (i.e., do, re, me,...). But there are actually 12 different major scales, one for each base note.

We ll get back to the main problem in a second, but the fuzzy rules method has an mini application to the problem of determining what key a piece of music is in. ˆ Most songs are written in a major scale (i.e., do, re, me,...). But there are actually 12 different major scales, one for each base note. (so again we have 12 choices)

We ll get back to the main problem in a second, but the fuzzy rules method has an mini application to the problem of determining what key a piece of music is in. ˆ Most songs are written in a major scale (i.e., do, re, me,...). But there are actually 12 different major scales, one for each base note. (so again we have 12 choices) ˆ Given a melody, there is no easy algorithm for deciding what key the melody was written for (often a composer will go off the main scale to create dissonance).

We ll get back to the main problem in a second, but the fuzzy rules method has an mini application to the problem of determining what key a piece of music is in. ˆ Most songs are written in a major scale (i.e., do, re, me,...). But there are actually 12 different major scales, one for each base note. (so again we have 12 choices) ˆ Given a melody, there is no easy algorithm for deciding what key the melody was written for (often a composer will go off the main scale to create dissonance). ˆ Using the fuzzy rules method listed above is a good way to determine the key signature.

What does this have to do with creativity?

What does this have to do with creativity? ˆ Possible operational definition of : Discovering an unexpected or unorthodox method that is nevertheless effective in some way (in the context of music, effective means sounds decent )

What does this have to do with creativity? ˆ Possible operational definition of : Discovering an unexpected or unorthodox method that is nevertheless effective in some way (in the context of music, effective means sounds decent ) ˆ Therefore, the computer must deveolop methods for adding accompaniment that cannot be easily anticipated, yet still sound decent.

How does this program use fuzzy rules to allow the computer to be creative?

How does this program use fuzzy rules to allow the computer to be creative? ˆ The rules are written with two criteria in mind:

How does this program use fuzzy rules to allow the computer to be creative? ˆ The rules are written with two criteria in mind: ˆ They must take into musical guidelines

How does this program use fuzzy rules to allow the computer to be creative? ˆ The rules are written with two criteria in mind: ˆ They must take into musical guidelines ˆ They must be complicated enough that the combine in interesting ways (notice that the fuzziness of the rules allow for them to combine at all with crisp rules, only one can be applied at a time)

How does this program use fuzzy rules to allow the computer to be creative? ˆ The rules are written with two criteria in mind: ˆ They must take into musical guidelines ˆ They must be complicated enough that the combine in interesting ways (notice that the fuzziness of the rules allow for them to combine at all with crisp rules, only one can be applied at a time) ˆ In theory, because of the first criteria, the music generated by the computer will sound good. Because of the second criteria, the music will be unexpected an unorthodox.

Example Rules Example fuzzy rules:

Example Rules Example fuzzy rules: ˆ Rule 1: Use the next four notes to modify the array Key[] as if you were determining the key signature of a song containing those four notes.

Example Rules Example fuzzy rules: ˆ Rule 1: Use the next four notes to modify the array Key[] as if you were determining the key signature of a song containing those four notes. ˆ This tends to create a chord that sounds good with the notes around it

Example Rules Example fuzzy rules: ˆ Rule 1: Use the next four notes to modify the array Key[] as if you were determining the key signature of a song containing those four notes. ˆ This tends to create a chord that sounds good with the notes around it ˆ Rule 2: Decrease all the values of array Key[] for every note at regular intervals

Example Rules Example fuzzy rules: ˆ Rule 1: Use the next four notes to modify the array Key[] as if you were determining the key signature of a song containing those four notes. ˆ This tends to create a chord that sounds good with the notes around it ˆ Rule 2: Decrease all the values of array Key[] for every note at regular intervals ˆ With will create rests at regular intervals, which is a common technique in music

Example Rules Example fuzzy rules: ˆ Rule 1: Use the next four notes to modify the array Key[] as if you were determining the key signature of a song containing those four notes. ˆ This tends to create a chord that sounds good with the notes around it ˆ Rule 2: Decrease all the values of array Key[] for every note at regular intervals ˆ With will create rests at regular intervals, which is a common technique in music ˆ With a large collection of rules like above, you can then randomly select rules from the set, apply them to the melody, and you will get a new accompaniment every time.

Learning Without learning, you aren t really doing AI -Paraphrased from Professor Surkan

Learning To incorporate learning:

Learning To incorporate learning: ˆ Use a genetic algorithm to determine optimal rule selection ˆ Instead of randomly selecting rules to use, you could have a collection of individuals, where each individual is a set of rules. ˆ During a supervised training process, the best sets of rules can be selected. The best sets can then be mutated or can be the parents of offspring sets of rules, and the process can repeat.

Learning To incorporate learning: ˆ Use a genetic algorithm to determine optimal rule selection ˆ Instead of randomly selecting rules to use, you could have a collection of individuals, where each individual is a set of rules. ˆ During a supervised training process, the best sets of rules can be selected. The best sets can then be mutated or can be the parents of offspring sets of rules, and the process can repeat. ˆ Use a genetic algorithm to determine optimal weights for rules ˆ Currently, the weights used in the individual rules are arbitrary. ˆ Similarly as above, a genetic algorithm could be used to optimize the weights used in the individual rules.

Questions Questions?

Questions Questions? This presentation and the Java Applet are available at: http://www.math.unl.edu/~s-tseacre1/