EGuitar - Eecs.ucf.edu

Transcription

ABSTRACTeGuitar aims to be an all-encompassingguitar assistant. Whether there is a beginnerlearning their first chords or an experiencedguitarist playing their own songs, the eGuitarsystem has benefits for all users.BYBrandon Berk, William Remington, EricSorokowskyEEL 4915Spring 2015Group 7eGuitarElectronic Guitar Assistant

Table of Contents1Executive Summary. 12Project Description . 22.1Contributors and Sponsors . 22.2Project Motivation . 22.3Objectives and Goals . 22.4Project Requirements and Specifications . 22.4.1LED Indicator Specifications . 22.4.2DSP paired with Hexaphonic Pickup . 32.4.3Power for Control Board . 42.13Standards . 4Research . 43.1Existing Products . 43.1.1Gibson’s Learn & Master Guitar. 43.1.2Rocksmith . 53.1.3FretLight . 53.2Communication . 53.2.1UART . 63.2.2USB . 63.2.3FTDI . 73.2.4SPI . 73.2.5I2C . 83.2.6uPP . 83.2.7EMIF16. 93.2.8SRIO . 93.2.9McBSP . 103.2.10GPIO . 113.2.11PWM . 113.3Control Unit Printed Circuit Board (PCB) . 123.3.1Layer Consideration . 123.3.2Design Software . 123.3.3Reference Designs and Layouts . 133.3.4Sourcing . 16i

3.43.4.1Requirements and Specifications . 183.4.2LED Comparison . 213.4.3Mounting Solutions . 223.4.4Controller Hardware . 243.5User Interface . 263.5.1Embedded UI Hardware . 263.5.2Embedded UI Software . 313.5.3PC UI Hardware . 313.5.4PC UI Software . 313.6Digital Signal Processing (DSP) . 323.6.1Requirements and Specifications . 323.6.2Programming . 333.6.3Pitch Detection Theory . 343.7Guitar Pickup . 373.7.1Requirements and Specifications . 373.7.2Magnetic Pickup . 403.7.3Piezoelectric Pickup . 413.7.4Optical Pickup . 423.7.5Existing Solutions . 423.7.6Custom Build . 443.8Embedded Memory . 453.8.1Memory On-Chip . 463.8.2SD Card . 463.94Light Emitting Diode (LED) Fretboard Matrix . 17Power . 483.9.1Requirements . 483.9.2USB Power . 483.9.3AC Power . 493.9.4Battery . 49Design . 554.1PCB. 554.1.1Requirements . 554.1.2Hardware Configuration . 574.2LED Fretboard Matrix . 58ii

4.2.1Hardware Configuration . 584.2.2Software Communication. 614.34.3.1Embedded UI Hardware . 614.3.2Embedded UI Software . 644.3.3PC UI Software . 664.4Digital Signal Processor (DSP) . 674.5Guitar Pickup . 674.6Embedded Memory. 674.7Power Supply . 684.7.1Specifications . 684.7.2Circuit Design . 684.8Embedded Software . 704.8.2Windows Software . 75USB Interconnectivity . 794.9.2Tablature Parser . 81Design Summary . 81Hardware . 815.1.1LED Fretboard Matrix . 815.1.2Control System . 825.1.3User Interface Hardware . 825.1.4Guitar Pickup . 825.27Computer Interface . 794.9.15.16Software Architecture . 704.8.14.95User Interface . 61Software . 835.2.1User Interface Software . 835.2.2Tablature Parser . 835.2.3LED Matrix Controller . 83Design Constraints . 846.1Economic . 846.2Manufacturability . 84Project Prototype Construction . 857.1Hardware . 857.1.1Control System . 85iii

7.1.2LED Fretboard Matrix . 877.1.3Individual pickup . 887.1.4OLED Display Control . 897.28Software . 907.2.1Tablature Parser . 907.2.2LED Control . 907.2.3OLED Display Control . 917.2.4Digital Signal Processor . 91Project Prototype Testing . 918.1Digital Signal Processor . 918.2LED Matrix . 928.3Power Supply . 928.4OLED User Interface . 948.5Tablature Parser. 948.6Pickup . 959Project Operation . 959.1LED Fretboard . 959.2Hexaphonic Pickup . 9610Administrative Content. 9710.1Project Budget and Financing . 9710.2Project Milestones . 97Appendices . AAppendix A – Copyright Permissions . AAppendix B – Works Cited . Biv

1 Executive SummaryThe eGuitar is a portable guitar assistant that aids both beginner and expertplayers. There are millions of people around the world who actively play theguitar, and they have learned to play in a fairly analog way. A typical guitarlesson includes opening up a book and reading the notes written for the beginnersongs. The beginner learns to read the tablature provided and then learns thefinger placements that correspond to each note. The process of learning thefinger placements can be challenging for certain beginners. For many, there isonly the feedback of hearing the wrong note, but no indication of which finger isplaced incorrectly. The eGuitar system helps beginners by visually showingwhere their fingers need to be placed, and actively tracks what they are playingto determine how they are progressing. The eGuitar system has the ability toenhance the learning process for beginning players.After beginning players start to learn the basics, they can start using other guitarproducts to fine-tune their guitar playing. For instance, a metronome can bepurchased to help the player stay on beat. Another example is a guitar tunerwhich helps keep the player’s guitar in tune. The eGuitar system incorporates notonly LED indicators, but also a metronome, guitar tuner, and active digital signalprocessing of what the user is playing. With the built-in digital signal processingfunctions of the eGuitar system, the user is given the tools to improve their guitarexperience without the addition of any complex hardware. All of the extrafeatures can be accessed using the eGuitar’s intuitive user interface in the formof an OLED screen with a knob to select menu options.For expert players, the LED fretboard matrix may not be the most useful feature,since the player already knows the proper finger placements and chords.However, it is when expert players use the full functionality of the DSP featuresthat the true power of the eGuitar system shows. With a hexaphonic pickupconnected to a windows PC, expert guitar players have the ability to writetablature without ever picking up a pen. The eGuitar system is also able toactively record the notes played by the user and create tablature on a host PC.With this feature, guitarists can create their own songs quickly and easily andshare them with the world.This document details the research, design, and prototyping work that went intothe creation of the eGuitar system. Some of the fields that were researchedinclude communication methods between subsystems, printed circuit boarddesign and materials, and digital signal processing. Some design considerationswere the form factors of the LED fretboard matrix, whether they should lie on thetop of the neck of the guitar or underneath the strings. Once the subsystemshave been designed, the different components were formed into prototypes thatundergo varies test procedures. The testing helped fix issues within the designsto ultimately bring the best experience to the user. Finally, the full design wasimplemented on a custom PCB and windows application.1

2 Project Description2.1 Contributors and SponsorsOther than the properly cited usage of open source software, the group memberswere the only contributors to this project. While the group members attempted toprocure sample parts to save money, this project was funded “out-of-pocket” withno official sponsors.2.2 Project MotivationThis project idea was conceived and motivated by the struggle that many wouldbe musicians undergo when trying to familiarize themselves with a guitar for thefirst time. There is a significant learning curve involved with any new instrumentbut the aim of the eGuitar is to minimize this learning curve and make guitartablature more tactile and natural. A person who decides they want to learn guitarshould be able to learn quickly and receive feedback about their performancewithout the definitive need for a guitar instructor. With the help of the eGuitar,honing of coordination and speed should be accelerated beyond the standardexperience of learning an instrument.2.3 Objectives and GoalsThe eGuitar system should be more affordable than a paid instructor and thesum of the leading individual products whose feature set is included in thesystem. It should also have unique features that make it attractive to a learningguitarist. The eGuitar ecosystem should provide the user with a convenientmeans of learning alongside recorded tablature. The guitarist should have visualcues for which frets need to be played, audible feedback for the tempo of thesong (metronome), accompaniment, and/or the current pitch to be played, and anon-board chromatic tuner (with audible reference pitches) for tuning their guitar.In terms of special features, the guitarist will have the ability to loop certainportions of the song with increasing tempo (speed-training). The guitarist will alsoreceive constructive feedback metrics about their performance and accuracy inplaying the right notes at the right times.2.4 Project Requirements and Specifications2.4.1 LED Indicator SpecificationsThe following list details the specifications laid out for the LED Fretboard Matrix.There are two individual design ideas for the placement of the LED matrix,therefore two separate specifications have been detailed. For LED placement under each stringo Height of LEDs must be less than 1 mm.2

o Width of LEDs must be less than 3 mm.o Combined resin enclosure for wires and LEDs must remain under 1mm.o Height of PCB must be less than 1 mm.o Width of PCB must be less than 20 mm.o Length of PCB must be less than 42 mm.o Common ground line against top of guitar neck.For LED placement on top of guitar necko LEDs are embedded in line on custom PCB. Height of PCB must be less than 4 mm. Width of PCB must be less than 20 mm. Length of PCB must be at least 150 mm long.o For 6 frets, total of 36 LEDs must be included.o Custom printed enclosure is used to easily read which numberedLED is on, as well as hide connections. Height of enclosure should be less than 8 mm. Width must be less than 20 mm. Length must be at least 150 mm long.o All data lines are connected to the main control board via ribboncable to prevent large bundles of wires. Thickness of ribbon cables must be less than 5 mm. Length of ribbon cables must be at least 2 ft. long to connectto Control Board at the base of the guitar.2.4.2 DSP paired with Hexaphonic PickupThe following list details some simple requirements for the eGuitar’s integratedguitar pickup and DSP. DSP chip must be able to handle 6 individual signal inputs frompolyphonic pickupo 6 individual magnetic pickups that encode note played into a signal.o Each individual pickup must be sensitive enough to not receive“data” from other strings being played.o Support frequencies between 50 Hz and 2000 Hz with accuracy of0.1Hz.DSP chip would also be source of LED control.o I2C I/O Expanders for control of at least 36 LEDs.DSP must be able to communicate via RS232 /USB to host PC.DSP can communicate over I2C to external display.o 128x64 LCD.Potentiometers used for user input.o Rotary potentiometer – 10k Ohm, Linear.Push buttons used for user input.Size of PCB with DSP chip and other components must be no larger than100x100 mm.3

2.4.3 Power for Control BoardThe following list details some simple requirements for powering the controlboard. Rechargeable 5V battery.o Powers control board and all I/O connections.o Rechargeable via USB connection to PC or proper wall adapter2.1 StandardsThe following list details some standards utilized by the eGuitar System. I2Co I2C or Inter-Integrated Circuit is a protocol developed by PhillipsSemiconductor for communication between peripherals and processorsoperating at different speeds. It consists of several standards formessaging protocols as well as voltages and number of physical lines.For more information see section 3.2.5.SPIo SPI or Serial Peripheral interface is a specification for synchronous serialcommunication over short distances. SPI was developed by Motorola andhas evolved to be the go to standard for communication betweenperipherals in embedded systems. For more information see section 3.2.4RS-232o RS-232 is a standard created by The Electronic Industries Association in1969. This standard defines the characteristics of the electronic signalssuch as voltages, signaling rate and timing. In addition it defines whateach wire of the interface is responsible for. The standard does nothowever define the format that the data is transmitted in. Elements suchas character encoding, framing and error correction are up to theimplementers.3 Research3.1 Existing ProductsIn order for the eGuitar team to create and innovative and novel solution to theproblem of guitar learning it is important to analyze products currently on themarket. These products range from conventional books and videos such asGibson’s Learn & Master Guitar, to augmented guitar systems such asRocksmith and FretLight. Each of these takes a different approach to teachingsomeone the basics of playing a guitar according to their target audience.3.1.1 Gibson’s Learn & Master GuitarGibson’s Learn & Master Guitar is an attempt at teaching guitar in a moreclassical sense. It utilizes a set of DVD videos and written lessons as well as play4

along audio. This method requires the user to spend weeks to months ofindependent study to learn the basics of playing a guitar. It can be viewedsimilarly to home schooling. The learner is to follow each DVD and follow alongin the provided book. Along the way they are coached through new techniquesand tested to see if they can advance to the next section. It has the addedadvantage of containing a comprehensive book that details remedial lessons ifthe user wishes to brush up on one aspect of their guitar playing or if the userfeels as though they are not ready to proceed to the next section.3.1.2 RocksmithRocksmith is an attempt to teach the basics of playing a guitar as well asteaching specific songs using a video game to facilitate learning. This productallows the user to use their personal guitar and connect it directly to a gamingsystem. The game software then teaches the user by walking them through thebasic cords of the guitar as well as finger position. In order to motivate the userthey are tested along the way by playing songs and receiving a score dependingon how close they were to the correct notes. Since the user is using a standardguitar the game software features the ability to decode the mono output from theguitar into cords and notes that it can compare against. This creates a welcomingand effective learning environment however since Rocksmith is using a standardgaming system it lacks a dedicated DSP. This causes the software tomisinterpret certain notes and cords thus giving false positives to the user whenthey may have played the incorrect cord.3.1.3 FretLightFretLight is an attempt to teach the basics of playing a guitar by using a modifiedguitar. This system comes in many varieties from acoustic to bass guitars andelectric guitars. Each of these versions features a modified fretboard that housesLED’s under each string. They vary from only supporting the first five frets forbeginners to supporting the entire fretboard for the more advanced users.Although this system uses a modified standard guitar it requires the user topurchase the guitar made by FretLight since the system is not designed to beadded to a guitar after initial production. In addition this system contains no wayto measure the accuracy of the user since it does not analyze finger placementor the produced audio. This makes this system excellent for learning the basicfinger positions but it quickly loses its usefulness once the learner has advancedbeyond learning basic finger positioning.3.2 CommunicationCommunication between devices is an integral component to this projectssuccess. Data will need to be relayed between numerous embedded processors,in order to facilitate a division of labor between all components. As well ascommunication between embedded devices, relatively large amounts of data willneed to be transferred back and forth between a Personal Computer (PC) and5

the embedded components. Although audio input is not typically thought of ascommunication, embedded devices will treat it as though it is an asynchronousdata stream being fed in.3.2.1 UARTUniversal Asynchronous Receiver/Transmitter (UART) is a piece of hardwarecommonly included in embedded platforms to facilitate serial communication.The UART chip allows for simplex (only one direction), half duplex (devices tradeof transmitting and receiving) and full duplex (both devices can send and receiveat the same time) communication which allows compatibility with a large range ofserial devices and serial applications. To support different serial protocols UARTallows the user to configure several settings such as voltage, number of parityand data bits, and data transfer rate in the form of symbols per second. Ingeneral UART converts individual characters into bits which are then combinedwith several control bits that are required by the protocol. These bits are thensent to another device, using a variety of standards such as RS-232 or RS-423,then the receiving device decodes the data into a format that it is able tounderstand. Although UART is common across embedded applications andfacilitates serial communication, it is not compatible with the serial stylecommunication used by the USB standard. In order to communicate with USBdevices a separate conversion chip known as an FTDI is required. Allows voltages of 1.8V, 2.5V, 3.3V, 5V, or 12VSupports simplex, half duplex and full duplex serial communicationUses FIFO for sending and receiving of dataBuffers data to be sent or receivedSupports sleep and low-power modes3.2.2 USBUniversal Serial Bus (USB) was developed in 1996 to create an industrystandard for communication and connectivity. USB is available on almost allcomputers today and allows for data transfer as well as transfer of power to anexternal device. Although many different standards exist for use in this projectUSB 2.0 is the focus since it is standard on most devices today. USB 2.0 iscapable of transfer 280 Mbit/s or 35 Mbit/s which enable rapid transfer of largedata packets. As well as communicating data USB 2.0 allows us to deliver powerto the device at 5 volts for operation or charging of devices. USB is based uponserial communication at its core and allows for computer applications tocommunicate by use of virtual communication ports. This feature enables theuser to rapidly create applications that can communicate with embedded devices. Operates using 5 voltsTransmits at 280Mbit/s and receives at 35Mbit/sSerial style communication standard6

Can charge/power devices while transmitting data.3.2.3 FTDIFuture Technology Devices International (FTDI) is a company founded in Marchof 1992, which specializes in creating devices to interface between RS-232 andUSB devices. Although the company manufactures numerous devices there mostcommon product, a USB to RS-232 serial adapter, is referred to as an FTDIboard. This chip allows the user to easily connect a UART RS-232 device to aUSB 2.0 cable for communication via virtual communication ports. As well asfacilitating data transfer this chip allows power to be sent to supported devices foruse in operation or battery charging. Operates using 5 volt USB inputTranslates USB 2.0 to serial communicationAllows programing and data transfer to embedded devices3.2.4 SPISerial Peripheral Interface (SPI) was created by Motorola to facilitatesynchronous serial communication between devices over short distances. SPI isfavored in systems involving numerous sensors and embedded systems due toits simple implementation and reliability. SPI utilizes a master slave design tofacilitate digital synchronous communication between two or more devices at atime. The master device generates the clock signal, usually less than 5 MHZ, foruse by all connected devices and has to instruct each device when it cantransmit data. Four communication lines are utilized in SPI along with a groundline which earned it the names four-wire serial bus and Synchronous SerialInterface (SSI). Communication data is sent between devices across the MasterOutput, Slave Input (MOSI) and Master Input, Slave Output (MISO). Theremaining two lines, Slave Select (SS) and Serial Clock (SCLK), allow the masterdevice to specify which slave to communicate with and transmit the global masterclock to all connected devices to ensure each device stays in sync.The design of SPI provides support for full duplex communication, which meansdevices can send and receive data between the master and slave device duringthe same clock cycle. Full duplex compatibility leads to faster transfer

After beginning players start to learn the basics, they can start using other guitar products to fine-tune their guitar playing. For instance, a metronome can be purchased to help the player stay on beat. Another example is a guitar tuner which helps keep the player’s gui