Conference PaperPDF Available

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

Authors:

Abstract and Figures

This paper describes an application for iPhone/iPod Touch/iPad devices that allows anyone to play jazz keyboard and solo instruments along a predefined harmonic progression, using the multi-touch properties of the iOS devices. While the user plays keyboard and/or solo instruments, the application automatically generates the bass and drums parts, responding to the user’s activity. Dynamic mapping of the notes and chords available in the graphical interface provides an intuitive and natural way to play otherwise complex chords and scales, while maintaining a physical playability that will be familiar to experienced keyboard players, and provides an entertaining, yet challenging experience for non-musicians.
Content may be subject to copyright.
A preview of the PDF is not available
... The present work derives from previous research on automatic music generation algorithms and music interfaces for live performance in the Kinetic project and being continued in the MAT project (see acknowledgments). The algorithm presented in this paper is the development over the keyboard voicing algorithm and interface developed for Gimme Da Blues [14], an application for iOS devices that allows the user to play trumpet and piano, while an automatic virtual bassist and drummer are generated in real-time. Other developments on this research have focused on the sequencer and harmonic content, as well as the walking bass algorithm [15]. ...
... As mentioned before, the present work derives directly from previous research, namely the creation of the Gimme Da Blues app [14]. The base concepts and directives were kept unaltered, namely: 1) the algorithm has to work in real time; 2) the player has an indirect, meta-control over the musical events; 3) although indirect, the control has to provide the essential feeling of performance in a jazz/blues improvisation context. ...
Conference Paper
Full-text available
This paper presents a dynamic interface and voicing algo- rithm for real-time performance of jazz piano comping. Starting with a given song with a predefined harmonic progression, the algorithm calculates and maps an array of chord voicings to a virtual piano keyboard that can be played in real-time with any physical multi-touch input device like an iPad or computer keyboard. By taking care of the note selection for the voicings, the interface pro- vides a simplified and intuitive way to play sophisticated voicings, while leaving the control over the performance aspects like timing, register, wideness and density to the user.
... ChordEase (Korda 2015) allows the dynamic transformation of pitch content from a given jazz melody in order to fit on a predetermined harmonic structure. GimmeDaBlues (Dias et al. 2012) is a generative jazz application that allows users without prior musical knowledge to play multiple instruments along with a predefined harmonic progression. Impro-Visor (2020) is a music notation program designed to help jazz musicians compose and hear solos. ...
Conference Paper
Full-text available
This article exposes a methodology of design workshops for non-designers (D4ND) developed in an academic context interested in 1) deepening the explanation for what is the design for non-designers and 2) the strategies which may be to provide the tools of design thinking to non-designers. It is not a matter of transposing formal training structures to non-formal training, but rather, to explore new pedagogical processes involving design students to be applied to non-designers. Design is seen here as a discipline supported by an active learning process, critical, and directed towards problem-solving. We use the word design in its broadest sense, contemplating a humanist vision capable of generating social transformations, promoting more democratic actions that aim at a better, more just and equal world, and that at the individual level it can empower people (students and non-designers) to increase their quality of life. In the first part, we address the assumption of D4NT project, beginning by describing their goals and identifying its actors. Later we questioned the work process through design and how to create knowledge through the implementation of workshops. In the second part, we expose the methodology of the exercise of D4NT and present a synthesis of their outputs: five projects. We conclude with an analysis of the outcomes of this pedagogical experience, at the level of the students, as well as, the team teachers. Closing this paper with the perspective of the future of the D4NT project.
... ChordEase (Korda 2015) allows the dynamic transformation of pitch content from a given jazz melody in order to fit on a predetermined harmonic structure. GimmeDaBlues (Dias et al. 2012) is a generative jazz application that allows users without prior musical knowledge to play multiple instruments along with a predefined harmonic progression. Impro-Visor (2020) is a music notation program designed to help jazz musicians compose and hear solos. ...
Chapter
In this paper, we discuss the design considerations and goals of an interactive digital musical instrument (DMI) for novice pianists. It aims to promote the practice of melodic improvisation by guiding pianists in the selection of notes. The DMI includes two major components: a generative jazz model (software) and an illuminating keyboard controller (hardware). Visual feedback in the form of illuminated keyboard controller keys guides notes selection. Illuminated keys correspond to scale degrees that comply with a harmonic structure generated on-the-fly. The generative nature of the engine allows high degrees of novelty while guaranteeing a structurally-coherent harmonic structure anchored in the blues/jazz idiom. Preliminary experimental results inform critical directions for future design iterations of the proposed system.
... Karlheinz Essl's RTC Lib, 1 Max, 2 or Supercollider. 3 A RTC system should possess at least two components: a musical search space that is defined by a generative algorithm, which provides the musical material that can be obtained and transformed by navigating that space, and parameter controls that provide access to that space or its features. The work I have been involved with in the creation of RTC systems both for lay and specialized users [13,25,7,15], follows the framework just described. ...
Chapter
Full-text available
This paper presents a summary of my keynote address discussing the differences between real-time composition (RTC) and improvisation. A definition of real-time composition is presented, as well as a summary discussion of its theoretical framework. Finally, a comparison between RTC and improvisation is done taking into account Richard Ashley’s discussion of improvisation from a psychological perspective [1], which provides an interesting insight in this distinction. RTC is then redefined as improvised composition with computers, and the possibilities of RTC existing outside of computer music are also briefly addressed.
... Likewise, VirtualBand [15] generated jazz compositions following the performance of a melodic instrument, which is captured through a sound card and a recorder. GimmeDaBlues [16] automatically generated the bass and drums parts while the user played on keyboard and/or solo instruments, responding to the user's activity. ...
Article
Full-text available
The automatic generation of music is an emergent field of research that has attracted the attention of countless researchers. As a result, there is a broad spectrum of state of the art research in this field. Many systems have been designed to facilitate collaboration between humans and machines in the generation of valuable music. This research proposes an intelligent system that generates melodies under the supervision of a user, who guides the process through a mechanical device. The mechanical device is able to capture the movements of the user and translate them into a melody. The system is based on a Case-Based Reasoning (CBR) architecture, enabling it to learn from previous compositions and to improve its performance over time. The user uses a device that allows them to adapt the composition to their preferences by adjusting the pace of a melody to a specific context or generating more serious or acute notes. Additionally, the device can automatically resist some of the user’s movements, this way the user learns how they can create a good melody. Several experiments were conducted to analyze the quality of the system and the melodies it generates. According to the users’ validation, the proposed system can generate music that follows a concrete style. Most of them also believed that the partial control of the device was essential for the quality of the generated music.
... GimmeDaBlues [27] is an application for iOS devices that allows anyone to play jazz keyboard and solo instruments along a predefined harmonic progression using the multi-touch properties of the iOS devices. While the user plays keyboard and/or solo instruments, the application automatically generates the bass and drums parts, responding to the user's activity. ...
Conference Paper
Full-text available
In this paper I present a definition of Real-Time Composition (RTC) as well as framework for classifying systems that enable this type of compositional approach. I also present four examples of RTC systems in which I was involved with their development, and discuss why is it important to look at RTC as a framework that can provide new interesting and potentially revolutionary approaches to musical education and enculturation.
... Using a repeated process similar to biological generation the system produces similar musical data. Dias et al [6] present the GimmeD-aBlues app that allows the user to play jazz keyboard and solo instruments along a predefined harmonic progression, by automatically generating the bass and drums parts, responding to the user's activity. Assayag, Dubnov and Delerue [7] proposed a dictionary based universal prediction algorithm that provides an approach to machine learning in the domain of musical style. ...
Conference Paper
Full-text available
In this paper we explore a method for automatically generating Carnatic style rhythmic. The method uses a set of annotated Carnatic percussion performances to generate new rhythmic patterns. The excerpts are short percussion solo performances in ādi tāla (8 beat-cycle), performed in three different tempi (slow/moderate/fast). All excerpts were manually annotated with beats, downbeats and strokes in three different registers — Lo-Mid-Hi. N-gram analysis and Markov chains are used to model the rhythmic structure of the music and determine the progression of the generated rhythmic patterns. The generated compositions are evaluated by a Carnatic music percussionist through a questionnaire and the overall evaluation process is discussed. Results show that the system can successfully compose Carnatic style rhythmic performances and generate new patterns based on the original compositions.
... The work presented in this paper stems directly from the research that led to the development of the GimmeDaBlues app [11]. It describes the algorithmic generation of melodic phrases that connect the chords in a previously defined harmonic grid, by calculating a path from the current chord to the next, according to user-defined settings controlling the direction and range of the melodic contour. ...
Conference Paper
Full-text available
This paper describes a contour-based algorithm for the real-time automatic generation of jazz walking bass lines, fol-lowing a given harmonic progression. A brief description of the walking bass procedure will be presented, and also a brief survey on some common implementations and tech-niques. This algorithm was implemented in the Max/MSP graphi-cal programming environment.
Thesis
Full-text available
Historically, several points of contact are known between music and concepts in the areas of scientific study. This project aims to explore and understand the potential of these relationships, focusing on musical activity as a bridge for topics related with computer science. Through a partnership with the Educational Service of the Orquestra de Jazz de Matosinhos, activities were developed and implemented in the form of practical workshops, with participants from Escola Secundária João Gonçalves Zarco, Matosinhos county, in order to develop computer science and programming approaches based on musical practice. The methodology used was guided by an initial literature review, followed by a practical implementation of sessions with the participants, ending in two moments of public presentation of the works developed, being supported by a final phase of gathering testimonies and comments by those involved. Considering the obtained results, it is believed that the application of computer science and programming topics within a practical context of musical composition and performance, increased the acquisition and consolidation of knowledge by those involved, as well as the creation of relevant musical content.
Conference Paper
Full-text available
The automatic generation of music is an emergent field of research that has attracted a wide number of investigators. Many systems allow a collaboration between human and machine to generate valuable music. Among the different approaches developed in the state of the art, the present research is focused on an intelligent system that generates melodies through a mechanical device guided by the user. The system is able to learn from previous compositions created by the users to improve future results. A Case-Based Reasoning architecture was developed with a Markov model to obtain the probabilities of a given note following the last note incorporated in the melody. This probability also depends on the mechanical device connected to the system that can be used at any moment to control the pitches and the duration of the musical notes. As a result of the collaboration between machine and user, we obtain a melody that will be rated and, according to the rating, incorporated into the memory of the system for future use. Several experiments were developed to analyze the quality of the system and the melodies created. The results of the experiments reveal that the proposed system is able to generate music adapted and controlled by the users.
Conference Paper
Full-text available
This paper describes GenJam, a genetic algorithm-based model of a novice jazz musician learning to improvise. GenJam maintains hierarchically related populations of melodic ideas that are mapped to specific notes through scales suggested by the chord progression being played. As GenJam plays its solos over the accompaniment of a standard rhythm section, a human mentor gives real-time feedback, which is used to derive fitness values for the individual measures and phrases. GenJam then applies various genetic operators to the populations to breed improved generations of ideas.
Article
Human-computer interaction (HCI) is a multidisciplinary field "concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them" [24]. A human-computer system1 is typically made up of two components: the user interface and the functional core. The user interface captures user input and turns it into calls to the functional core, which typically implements the algorithmic component of the system. The user interface also turns the results of its calls to the functional core into output to be presented to the user. A human-computer system therefore interacts with its user(s) through its user interface. Human-computer systems are arguably the first truly interactive systems. In 1963, Ivan Sutherland's SketchPad [48] was the first system to use pen input on a CRT display, pioneering direct manipulation techniques that are still in use today. Forty years later, millions of people interact with graphical user interfaces on daily basis, to the point where computers are often reduced to their input-output devices and applications to their user interface. Yet human-computer systems are still created at great cost with algorithmic approaches. More than a decade ago, a study showed that on average 50% of the development cost of human-computer systems is spent on the user interface [37]. One of the main reasons was the lack of proper tools to develop such interfaces, their growing complexity and the inability to test them thoroughly. There is no reason to believe that the situation has changed substantially since then because the tools in use today are based on the same concepts as twenty years ago. User interfaces are notoriously difficult to program, debug and maintain because they exacerbate many aspects of interactive systems. For example, traditional interactive systems, i.e., systems that interact with other computer systems, often rely on well-specified protocols so that it is fairly easy to anticipate future possible inputs. uman-computer systems, for they have a human in the loop, cannot rely on such strict protocols. In order to give the user a sense of control, they must be prepared to receive virtually any input at any moment, and react to it in a way that will be understandable to the user. Therefore the state space of a human-computer system is extremely large. This chapter evaluates some unique aspects of human-computer systems with respect to the five characteristics of interactive systems outlined in the preface of this book: • Nonalgorithmic computational problem: human-computer systems are often created by turning an algorithmic system into an interactive one in order to give the users more control over the process; at the same time, many human-computer systems are not meant to solve a particular algorithmic problem but instead to extend human capabilities in order to address more open-ended situations. • Dynamic interleaving of user input and system output streams: human- computer systems feature intricate dependencie between input and output streams, with tight timing constraints and large abstraction mismatches between user, streams and computer. • Dependency on the environment: the evolution towards novel forms of interaction, such as ubiquitous and pervasive computing, mixed and augmented reality, and tangible interfaces, extends the environment of human- computer systems to the physical world and blurs the distinction between physical and digital artifacts. • Parallel "computation" of user and computer : the unique characteristics of human users as well as the distributed nature of many interfaces require multiple threads and various levels of parallelism and synchronization between user and computer. • Noncomputability of the environment : humans are inherently noncomputable, but the learning and adaptation capabilities of users and computers can be leveraged to create more powerful human-computer systems. The chapter covers a wide range of user interface styles and techniques, from traditional graphical user interf ces to advanced research, and considers the full life-cycle of human-computer systems from design to evaluation.
Article
The recursive character of musical chord sequences makes generative grammar a suitable formalism for describing the rules that constrain such sequences. A small number of rules are presented which generate the members of a large class of complex chord sequences that are generally recognised to be closely related, namely the set of jazz 12-bar blues. The rules are illustrated using a testing corpus of jazz chord sequences, and certain extensions are considered.
Article
This paper introduces a new domain for believable agents (BA) and presents novel methods for dealing with the unique challenges that arise therein. The domain is providing improvisational companionship to a specific musician/user, trading real-time solos with them in the jazz/blues setting. The ways in which this domain both conflicts with and benefits from traditional BA and interactive computer music system approaches are discussed. Band-out-of-the-Box (BoB), an agent built for this domain, is also presented, most novel in that unsupervised machine learning techniques are used to automatically configure BoB's aesthetic musical sense to that of its specific user/musician.
How the iPhone works
  • John Brandon
Brandon, John (2004) "How the iPhone works" http://www.computerworld.com/s/article/9138644/How_the_iPhone_works (accessed on June 10th 2011)
The Chord Scale Theory and Jazz Harmony
  • Nettles
  • Graf
  • Richard
Nettles, Barrie & Graf, Richard (2002) The Chord Scale Theory and Jazz Harmony. Rottenburg: Advance Music
Modern Jazz Voicings: Arranging for Small and Medium Ensembles Boston Jazz Composition: Theory and Practice Reharmonization Techniques
  • Pease
  • Pullig
  • Ken
Pease, Ted & Pullig, Ken (2001) Modern Jazz Voicings: Arranging for Small and Medium Ensembles Boston: Berklee Press 10. Pease, Ted (2003) Jazz Composition: Theory and Practice. Boston: Berklee Press 11. Felts, Randy (2002) Reharmonization Techniques. Boston: Berklee Press
Jazz Composition: Theory and Practice Reharmonization Techniques
  • Ted Pease
Pease, Ted (2003) Jazz Composition: Theory and Practice. Boston: Berklee Press 11. Felts, Randy (2002) Reharmonization Techniques. Boston: Berklee Press