ELJA – Electric Stringed Jazz Pedagogy

Using the Computer as a Pedagogical Tool for Learning Jazz Bass Improvisation

 

1 Overview

Jazz improvisation can be a very complicated or a very simple concept depending on your method to learning and interacting.  Some people are auditory learners; some visual or otherwise.  This orientation directly affects the method of learning jazz improvisation.  This project allows the user to bridge the gap between improvisation conceptualization and the physical stringed instrument.  By allowing the instrument to physically show the improvisational concepts, the difficulty in connecting the mental to the physical interface is reduced.  This project allows the immediate utility of beginner and intermediate improvisation concepts such as chord/scale relation and common tones; however, future expansion also lends itself to the generation and analysis of more advanced concepts such as motifs and "what you didn't play instead of what you did play." 

            An electric bass is outfitted with LEDs in the neck that are controlled by a personal computer.  The user enters into a computer program the tempo, form, and chords of a jazz tune (or selects a predefined one).  The program then calculates the appropriate chord/scales for the tune and allows the user to make any desired corrections.  When the user agrees on the "improvisation map" the program counts off the tempo and starts the song.  One color LED shows the scale for each chord, while another is user-programmable to functions such as highlighting certain notes such as 3rds and 7ths or to show common tones with the next chord. 
            The music that the user plays is sent back to the computer to be recorded for playback and analyzed.  Using typical jazz improvisation techniques, the computer analyzes the music and display information to the user such as "right" and "wrong" notes, notes that the user plays too much or little, approximate calculation of the user's 'style' (i.e. bebop blues vs. straightforward 12 bar blues) , or suggestions of artists to listen to based on the user's 'style.'  The possible uses of the feedback element to the computer are unbounded. 

 

2 Procedure

            2.1 Programming

The computer program for inputting the form of the song will be implemented in C++; there will be a visual interface that is ‘musician friendly.’  The program will handle all main facets of implementation such as chord/scale calculation and correction, timing for proper song playback and recording implementation, delivery of information to the retrofitted LEDs in the bass via Parallel Port, input of audio information for parsing and analysis, and analysis of previously mentioned utilities.   

            2.2 LEDs

Two colored LEDs will be used for chord/scale mapping.  The neck of the bass provides for 48 discrete fret positions.  It is possible to use only the 12 chromatic tones and hard wire the duplicates and octaves of fundamental tones for simplification.  However, in order to allow for future improvements in algorithm design, all 48 will be utilized.  All positions above the 12th fret are exact duplicates of the lower frets; therefore, those will be hardwire-minimized. Using two colors, there needs to be 96 discrete lighting positions.  The information for the LEDs will be delivered using the parallel port.  In order to be able to obtain 96 variables, the information will be time multiplexed and delivered to logic decoders using clock pulses to separate information.  The decoded version will be sent to registers to hold the output of the LED until the clock tells them to reset and obtain new data. An open collector design will be implemented. 

The LEDs utilized are 3mm flat-top, and are flangeless.  This allows retrofitting that will not interfere with the player’s ability to play the bass as if it were his or her own.  There will be no obvious feel of physical modification as all wires will be placed in a ‘ditch’ that will be routed into the back of the neck.  The ditch will be filled and smoothed to maintain a solid appearance and feel.  All electronics will be placed in a box separate from the bass with only a pipeline of wires for the LEDs actually connecting to the bass.   

 

            2.3 Audio Delivery

The ¼” output jack of the bass will be wired in parallel to the computer.  The information will either be 1) digitized using a Cirrus Logic stand-alone A/D converter and delivered to the computer simply for the sake of learning this implementation, or 2) will be sent to the line-in/microphone input of the preexisting sound card in the computer.  The information will be encoded into a Wave file with marker information denoting proper timing for facilitated analysis.

 

            2.4 Audio Analysis

                        2.4.1 Overview

The wave file must be parsed according to the tempo of the song and to beat division such as eighth notes, triplets, etc.  Depending on the tempo of the song, different techniques can be used to extrapolate frequency information from the file for analysis.  Using a combination of a variety of possibly adaptable techniques, this information will be sent to algorithms to help the player improve his or her technique and style.

                        2.4.2 Frequency Extraction

A combination of parsing, transient detection, and pitch detection will be used to obtain pitch detection.

                                    2.4.2.1 FFT based frequency detection

Unfortunately, FFT based analysis of low frequency information is difficult because of the lower resolution of FFT bins associated with the logarithmically spaced low pitches.  Assuming the tempo of the song and divisions of the beat are slow and there is high sampling rate, parsing and windowing large amounts of sample points results in higher resolution FFT bins.  Enough resolution might be able available to estimate frequency/pitch information by finding the fundamental frequency bin and approximating the frequency by bin division of the sampling rate. 

                                    2.4.2.2 Time Domain frequency detection

If frequency domain pitch detection is not a valid choice given undesirable parameters, time domain frequency detection can be utilized.  Counting zero-crossings is an easy and powerful method of determining frequency under certain conditions.  First, any DC offset must be eliminated.  Next, the signal can be low-pass filtered and normalized to attenuate high frequency content that may cause extraneous zero crossings.  Since the signal will be a bass guitar, the filtering can be quite rigorous.  By finding the average amount of zero crossings for a specific duration of time, the frequency can be estimated quite well.  This method is less computationally intensive than FFT analysis. 

                        2.4.3 Delivery to algorithm analysis

After the information is extracted it is simple to analyze.  The information must be delivered into an analysis function along with the ‘expected’ information.  In other words, the parsing of time information can tell the computer where certain events ‘should have’ happened.  For instance analysis of the player’s use of chord scale theory can simply be tested by searching for an ‘incorrect’ note that the user played during a specific measure, or period of time, of the song.

                        2.4.4 Procedural Analysis 

This section of the project is the creative, useful part that allows the computer to help a player learn jazz improvisation.  Previously mentioned possible implementations include analysis of the improvisation to determine right and wrong notes according to chord/scale theory, notes that the user plays too much or little, approximate calculation of the user's style, or suggestions of artists to listen to based on the user's style.  By making the design of the project open ended, many useful analyses can be formulated. 

 

3 Possible future expansion and utilization

            Although this project focuses specifically on electric bass jazz improvisation, the methods can be extended to all stringed instruments; furthermore the procedural analysis can be extrapolated to any instrument.  In addition, the procedural analysis can be expanded to cover more ways to improve jazz improvisation.  

 

4 Current progress

            This project has been a work in progress.  Each part of the project has been delayed by gaining all necessary knowledge in each subject matter required for construction.  Now all the knowledge has been obtained and the construction is underway.  The bass has been obtained and LED holes have been drilled.  The logic circuit for the LEDs has been designed and parts are ordered.  Using C++ to write to the parallel port in Windows XP is being explored.  Frequency and transient detection are being implemented.  Audio delivery from the bass is being explored.  Methods for analysis algorithms are being developed.

 

5 Conclusion

            Properly implemented, this project can severely impact the utility of computers in jazz.  The majority of jazz players, gurus, and teachers dislike computers and despise the idea of computers and Jazz together.  However, if the computer is used a pedagogical tool, their fears of computers playing jazz and infiltrating the art of jazz is reduced.  I have described the project to my jazz teachers; they all believe it is an excellent idea and a step in the right direction. 

            This project is a step to bridge types of learning.  It is an attempt to use my knowledge to ameliorate jazz students’ careers.  It is an attempt to use engineering creatively and to open people’s minds to the diverse, creative implementations of engineering.  Ultimately, it is a synthesis of my knowledge obtained at an undergraduate level.


  

 

   © Copyright M-lester.com