Jam Sesh: Final Report Music to Your Ears, From You Ben Dantowitz, Edward Du, Thomas Pinella, James Rutledge, and Stephen Watson

Similar documents
Jam Sesh. Music to Your Ears, From You. Ben Dantowitz, Edward Du, Thomas Pinella, James Rutledge, and Stephen Watson

Computers Composing Music: An Artistic Utilization of Hidden Markov Models for Music Composition

Outline. Why do we classify? Audio Classification

Curriculum Standard One: The student will listen to and analyze music critically, using vocabulary and language of music.

1 Overview. 1.1 Nominal Project Requirements

Building a Better Bach with Markov Chains

6.UAP Project. FunPlayer: A Real-Time Speed-Adjusting Music Accompaniment System. Daryl Neubieser. May 12, 2016

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

Hip Hop Robot. Semester Project. Cheng Zu. Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich

Improvised Duet Interaction: Learning Improvisation Techniques for Automatic Accompaniment

Curriculum Standard One: The student will listen to and analyze music critically, using the vocabulary and language of music.

MY APPROACH TO STUDYING JAZZ & IMPROVISATION. Wim Dijkgraaf 2014 v1.2

GimmeDaBlues: An Intelligent Jazz/Blues Player And Comping Generator for ios devices

TEST SUMMARY AND FRAMEWORK TEST SUMMARY

Part II: Dipping Your Toes Fingers into Music Basics Part IV: Moving into More-Advanced Keyboard Features

Course Overview. Assessments What are the essential elements and. aptitude and aural acuity? meaning and expression in music?

TEST SUMMARY AND FRAMEWORK TEST SUMMARY

Computational Parsing of Melody (CPM): Interface Enhancing the Creative Process during the Production of Music

Jam Tomorrow: Collaborative Music Generation in Croquet Using OpenAL

ORB COMPOSER Documentation 1.0.0

Curriculum Development Project

Greeley-Evans School District 6 High School Vocal Music Curriculum Guide Unit: Men s and Women s Choir Year 1 Enduring Concept: Expression of Music

TECHNOLOGY FOR USE IN THE LESSON ROOM AND REHEARSAL ROOM. Dr. Brad Meyer Director of Percussion Studies Stephen F. Austin State University

Music Performance Solo

The Keyboard. Introduction to J9soundadvice KS3 Introduction to the Keyboard. Relevant KS3 Level descriptors; Tasks.

1. Takadimi method. (Examples may include: Sing rhythmic examples.)

Automatic characterization of ornamentation from bassoon recordings for expressive synthesis

Playing Body Percussion Playing on Instruments. Moving Choreography Interpretive Dance. Listening Listening Skills Critique Audience Etiquette

Blues Improviser. Greg Nelson Nam Nguyen

Improvising with The Blues Lesson 3

AP/MUSIC THEORY Syllabus

Jazz Melody Generation and Recognition

Grade Level: 1 Course Title: Music Topic/Concept: Elements of Music Time: 5 weeks Unit Sequence: 1 Major Concepts to be learned:

Automatic Music Clustering using Audio Attributes

DEPARTMENT/GRADE LEVEL: Band (7 th and 8 th Grade) COURSE/SUBJECT TITLE: Instrumental Music #0440 TIME FRAME (WEEKS): 36 weeks

Getting started with music theory

The Keyboard. An Introduction to. 1 j9soundadvice 2013 KS3 Keyboard. Relevant KS3 Level descriptors; The Tasks. Level 4

Robert Alexandru Dobre, Cristian Negrescu

GarageBand Tutorial

Music 209 Advanced Topics in Computer Music Lecture 4 Time Warping

Music overview. Autumn Spring Summer Explore and experiment with sounds. sound patterns Sing a few familiar songs. to songs and other music, rhymes

Essential Exercises For The Jazz Improviser

Music Performance Ensemble

Instrumental Music Curriculum

Third Grade Music Curriculum

Grade 4 Music Curriculum Maps

Connecticut State Department of Education Music Standards Middle School Grades 6-8

explain manufacturers specifications for a range of audio recording equipment P1 In order to get a merit in this task you will need to

Curriculum Catalog

StepSequencer64 J74 Page 1. J74 StepSequencer64. A tool for creative sequence programming in Ableton Live. User Manual

Articulation Guide. Berlin Brass - French Horn SFX.

MUSIC (MUS) Music (MUS) 1

G-Stomper Timing & Measure V Timing & Measure... 2

BayesianBand: Jam Session System based on Mutual Prediction by User and System

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

Chapter Five: The Elements of Music

Evolutionary Computation Applied to Melody Generation

MUSIC COURSE OF STUDY GRADES K-5 GRADE

Drunken Sailor The Melody

Secrets To Better Composing & Improvising

Sudoku Music: Systems and Readymades

Keyboard Foundation Level 1

Exploring Our Roots, Expanding our Future Volume 1: Lesson 1

Music Program. Music Elective Courses. Beginning Guitar Beginning Piano. Beginning Piano History of Music Through Listening

Central Valley School District Music 1 st Grade August September Standards August September Standards

A Novel Approach to Automatic Music Composing: Using Genetic Algorithm

Shifty Manual v1.00. Shifty. Voice Allocator / Hocketing Controller / Analog Shift Register

Department Curriculum Map

y POWER USER MUSIC PRODUCTION and PERFORMANCE With the MOTIF ES Mastering the Sample SLICE function

WASD PA Core Music Curriculum

Chamber Orchestra Course Syllabus: Orchestra Advanced Joli Brooks, Jacksonville High School, Revised August 2016

10 Lessons In Jazz Improvisation By Mike Steinel University of North Texas

Pitfalls and Windfalls in Corpus Studies of Pop/Rock Music

Is Your Piano Out of Tune?

Applying lmprovisationbuilder to Interactive Composition with MIDI Piano

A Creative Improvisational Companion based on Idiomatic Harmonic Bricks

One Chord Only - D Minor By Jim Stinnett

OVERVIEW. 1. Getting Started Pg Creating a New GarageBand Song Pg Apple Loops Pg Editing Audio Pg. 7

Interacting with a Virtual Conductor

Diamond Piano Student Guide

RHYTHM. Simple Meters; The Beat and Its Division into Two Parts

Overview. But-the-Pieces Plan: 12 Week Circle of Fifths Odyssey. Quick Look Lesson Plan WEEK FOCUS ACTIVITY NOTES:

Bachelor i musik (BMus) / Bachelor of Music (BMus)

2ca - Compose and perform melodic songs. 2cd Create accompaniments for tunes 2ce - Use drones as accompaniments.

University of Western Ontario Don Wright Faculty of Music Kodaly Summer Music Course KODÁLY Musicianship Level I SYLLABUS

PKUES Grade 10 Music Pre-IB Curriculum Outline. (adapted from IB Music SL)

Music Assessment Key Stage 3. Moving towards next step: A (creating and evaluating) Developing at that step: C (remembering and understanding)

Impro-Visor. Jazz Improvisation Advisor. Version 2. Tutorial. Last Revised: 14 September 2006 Currently 57 Items. Bob Keller. Harvey Mudd College

LEARNING-FOCUSED TOOLBOX

Music Through Midi: Using Midi To Create Your Own Electronic Music System By Michael Boom READ ONLINE

Year 11 GCSE MUSIC LC3 Medium Term Plan

SAMPLE. Music Studies 2019 sample paper. Question booklet. Examination information

Cedits bim bum bam. OOG series

Texas Bandmasters Association 2015 Convention/Clinic

Sample assessment task. Task details. Content description. Year level 9. Class performance/concert practice

Prerequisites: Audition and teacher approval. Basic musicianship and sight-reading ability.

Getting started with music theory

Rechnergestützte Methoden für die Musikethnologie: Tool time!

Curriculum Framework for Performing Arts

1 st Grade Week 5 - Lesson 1

Transcription:

Jam Sesh 1 Jam Sesh: Final Report Music to Your Ears, From You Ben Dantowitz, Edward Du, Thomas Pinella, James Rutledge, and Stephen Watson Table of Contents Overview... 2 Prior Work... 2 APIs:... 3 Goals... 3 Application:... 4 Stephen, Ben, Edward...4 Analysis... 4 James, Thomas, Stephen...4 Synthesis... 4 James, Thomas, Edward, Ben...4 Summary... 5 References... 6

Jam Sesh 2 Overview The JamSesh project has been aimed at providing the user with real- time synthesised accompaniment to freestyled music to bridge the current void between music and technological aid. Our trajectory, however, has changed drastically since the inception of our concept in September. The final version of our efforts has been scaled back in relation to many of our lofty goals for the project. That said, the end project will be able to generate to a chord progression for the user based upon only a few parameters so that the individual can play along. Prior Work Auto- generated accompaniment programs have been made before, such as Midi Utility created by KH Midi Music Ltd. This program differs from our project goal, however, in that it requires the user to input the music as a midi file and select a number of options the musical element is preloaded, not instantaneous. Our goal is to have a program respond in real time to live music, requiring only a few user options, including instrument selection. Unfortunately, we will not be able to use the prior work done in Midi Utility, as its code is not open source. Another important piece of prior work regarding real- time improvisation has been done by Al Biles of RIT; his project, GenJam, is based on a genetic algorithm that can learn to improvise jazz based upon the input of the user. This project is intriguing because it runs in real- time just as we hope to do, but our goal is to do so without a genetic algorithm and instead aim purely for improvisation. Another element of GenJam that is also seen in other works is the ability of the program to play a more melodic line back- and- forth conversation with the user. Our aim for this project is to empower the user and instead lean toward a user- centric application.

Jam Sesh 3 APIs: To achieve the final product we originally decided to make use of three key API s, namely TarsosDSP, TheEchoNest, and JFugue. Tarsos is designed to find the Pitch of a microphone in real time. Our application of this API is a core part of the analysis work, as having the users pitch is vital to synthesising accompaniment for them. TheEchoNest is an API that can analyse a.wav file for key, pitch, tempo and beat, which does not allow for real- time switches for synthesis, but it does allow us to change slightly after- the- fact for large necessary changes on the users part such as a key shift. For musical synthesis, we made use of the JFugue API. JFugue allows for easy synthesis and uses music strings, which are simple strings that contain notes and chords in their order to be played. JFugue has a play() method that takes these strings in as a parameter, parses them, and then plays them in one of the 128 instruments it has at its disposal. After finding that pulling useful musical information from such raw pitch data posed a greater number of challenges than we originally anticipated, we decided to drop the idea of gathering real- time note detection using TarsosDSP. Although we were able to recognize pitches and their durations (the essential components needed to create a MIDI file), the process ran far too slowly and only worked if each note was sustained for an unreasonably long period of time. Because of its inability to detect notes in a more realistic environment, where pitches could be rapidly changing, we made the decision to drop TarsosDSP as well as TheEchoNest, which we found offered us no real use if we just had the user enter his or her desired musical key. Goals The goals of Jam Sesh are simple to understand but complex to achieve. Overall, the originally planned framework of our project centered around processing sound inputted by a user, analyzing its properties, and synthesizing supporting harmonies and background music for the soloist. Some high- level goals for this project included: a real- time element, allowing the selection of different instruments, synthesizing complex music structures. While we are happy to report some of our project goals have been achieved, we acknowledge that many of our initial goals were an overreach and would require much longer than a single semester in addition to us gaining further knowledge in the subject area to achieve them. After a large amount of time spent researching musical analysis and synthesis, and after a number of test programs and we made the difficult but necessary decision to cut some features and redefine our goals. Our main goal now is to generate a unique chord progression taking only the desired key and BPM as parameters from the user.

Jam Sesh 4 Application: Stephen, Ben, Edward Application is responsible for the UI and passing information gathered from the user to the synthesis element. The application would have a start button and a stop button that act as a power switch of synthesis element. The application would also have a set of radio buttons for key signature, a set of radio buttons for time signature, and a text field for beats per minute (bpm). Values gathered from those objects will be passed to the synthesis class. There are also two JLabels in application that display current chord and next chord. The chord information is gathered from the synthesis class. Analysis Deprecated James, Thomas, Stephen Analysis will then receive pitch information from the API and send interpreted data to the synthesis part. Synthesis will decide the pitch for each instrument to play, export the pitches into a midi file, and send the file back to application, which has a midi player. Synthesis James, Thomas, Edward, Ben Since we have abandoned the use of an analysis element, the synthesis element changed a lot. The synthesis element now is receiving the key signature, time signature and tempo in beats per minute (bpm) from the application element. The synthesis element then call a recursive method to recursively play chords. This recursive method would call a random chord progression generator class to get the chord progression. This generator would return a MusicString that contains chords that sound reasonable and different every time. The whole synthesis element runs in a separate thread because, otherwise, the application would stop responding when the synthesis element starts running.

Jam Sesh 5 Summary Overall, working on Jam Sesh has been a memorable experience for each group member. Combining the successes achieved along with the adversity we have faced, we have learned quite a bit about the collision of music and technology. With all of the high- reaching goals we put together initially, we have learned the valuable lesson about sunk costs that, after putting effort into a venture for an extended period of time, it is sometimes necessary to make the difficult decision to let go of a piece of the project so that the remainder of the project could still be possible. The unique experience of working on such a long- term project has allowed us to learn about working in a team on such a large scale in addition to what we learned about music and technology.

Jam Sesh 6 References Biles, Al. "Al Biles - - The Home Page." Al Biles -- The Home Page. N.p., 25 June 2014. Web. 22 Oct. 2014. <http://igm.rit.edu/~jabics/>. "GenJam's Journey: From Tech to Music: Al Biles at TEDxBinghamtonUniversity." YouTube. YouTube, 21 Apr. 2012. Web. 22 Oct. 2014. <https://www.youtube.com/watch?v=rfbhwquzgxg>. "JFugue - Java API for Music Programming." JFugue - Java API for Music Programming. Web. 2 Dec. 2014. <http://www.jfugue.org/>. "JorenSix/TarsosDSP." GitHub. N.p., n.d. Web. 19 Oct. 2014. <https://github.com/jorensix/tarsosdsp>. "Midi Utility." Midi Utility. KH Midi Music Ltd, n.d. Web. 19 Oct. 2014. <http://www.midiutility.com>. "Software." 0110.be. N.p., n.d. Web. 19 Oct. 2014. <http://0110.be/software>. "The Echo Nest." GitHub. N.p., n.d. Web. 19 Oct. 2014. <https://github.com/echonest/>. "We Know Music..." The Echo Nest. N.p., n.d. Web. 19 Oct. 2014. <http://the.echonest.com/>.