Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Auto-Chromatic Instrument Tuner Erin Smith Advisor: Dr. James Irwin Date: November 20th, 2000 Presentation Overview Project Summary Milestones & Critical Problems Future Work Project Summary Brief Overview of Operation State of Received Tuner Proposed Modifications Overview of Operation The auto-chromatic tuner is a self contained tool that is used to determine the pitch and intonation of a musical instrument in real time Functional Description Inputs – Microphone – Pitch selector – Power/Mode Switch Outputs – Pitch indicator – Digital tuning indicator – Speaker 8031 Microcontroller Auto-Chromatic Tuner LED Display Pitch Up E b 6 Pitch Down R Octave Up Y Auto Tuning Off Pitches: G: Green LED ± 5 cents Y: Yellow LED ± 5-15 cents R: Red LED ± 15-50 cents G Octave Down Y Manual Tuning Audible Pitch R Audio In Microphone Threshold Detector Amplifier Timer/ Counter Automatic Gain Control Clock - Parts which do not work, or have not been included yet Divide By 2 Tree Power/ Mode Switch Switched DC Power to all subsystems Overflow Mode Bus Microprocessor Bus Display Control Analog Meter DC Power Tuning LED’s Pitch Selector Frequency Look-Up Table Function Generator Speaker Driver Pitch Indicator Speaker Selected Pitch Out Audio In Microphone Threshold Detector Amplifier Timer/ Counter Automatic Gain Control Clock Divide By 2 Tree - Parts which were modified Power/ Mode Switch Switched DC Power to all subsystems Overflow Mode Bus Microprocessor Bus Display Control Analog Meter DC Power Tuning LED’s Pitch Selector Frequency Look-Up Table Function Generator Speaker Driver Pitch Indicator Speaker Selected Pitch Out Start Initialization Mode Audible Reference Pitch Read Mode/ Power Switch Auto Tune Manual Tune Setup and Start Counter Display Pitch No Read Counter Tuning Mode Display Results Counter Overflow Adjust Frequency Driver Yes State of Received Tuner Auto-tune worked with pre-selected octave only Manual tune supposedly worked, or had some portion working Analog and Digital Tuning worked Display worked correctly Pieces of software worked, but not all in one program State of Received Tuner Tuner did not work as expected when connected to power supply Programmer was faulty, PAL’s were broken Unit did not work until mid-March Analog meter ceased to work (not sure if problem with hardware or software) No software located for manual tune Proposed Modifications Manual Tune completion Automatic Gain Control Expand Digital Tuning Auto-Tune Mode completion Manual Tune Software for Manual Tune could not be located Scope was too large, given that no code was available to work from Due to time constraints, was not able to complete Manual Tune mode Automatic Gain Control Attempted several different configurations in the Spring – Gain circuit with Varistor – Circuit with an FET Varistor Vin Vout LPF Gain circuit with Varitstor in parallel Low amplitude signal Vin Vout gnd Gain circuit with FET in feedback loop Automatic Gain Control Found article with an AGC circuit which involves a digital potentiometer Parts did not come in, so AGC could not be implemented x(t) y(t) CONTROL E(t) + _ Eref AGC Circuit which utilizes a Digital Potentiometer Digital Tuning Wanted to expand digital tuning from 5 LED’s to 9 LED’s Intended to take place of analog meter Expanded the truth/logic tables Not enough memory or bits available to implement the expansion Required major re-design of hardware and doing the wire wrapping over again Excerpts of Expansion of the Truth Tables (formerly only A15-A11 needed) test_vectors ([A15, A14, A13, A12, A11, A10, A9, A8, A7, WR] -> [dac,pitch]) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> [ 0, 0]; [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0] -> [ 0, 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] -> [ 0, 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0] -> [ 0, 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0] -> [ 0, 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 1, 0] -> [ 0, 0]; ([A15, A14, A13, A12, A11, A10, A9, A8, A7, WR] -> [dbt_en]) [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 0, 1] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 1, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 0, 1, 1, 1] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 0, 1] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 1, 0] -> [ 0]; [ 0, 0, 0, 0, 0, 0, 1, 0, 1, 1] -> [ 0]; Auto-Chromatic Tuner LED/LCD Display E b 6 Pitch: R O Y B Auto Tuning Off Pitches: G: Green LED ± 3 cents B: Blue LED ± 4-10 cents Y: Yellow LED ± 11-20 cents O: Orange LED ± 21-30 cents R: Red LED ± 31-50 cents G Octave: B Manual Tuning Audible Pitch Y O R Auto-Tune Mode Worked with pre-selected octave only Learned how Timer 0 Overflow worked in relationship to counting the period When overflow occurred, decremented the octave and reset the divide by 2^n Once a pitch is successfully detected, reset the divide by 2^n to the 9th octave Device is then ready to search again Milestones & Critical Problems Critical Problems – Unit did not work initially – Not enough memory to expand LED’s – Lack of software for manual tune – Parts for AGC did not come in Milestones & Critical Problems Milestones – Getting unit up and running – Expanding tables for LED’s – Determined a good duty cycle and waveform for the Audible Reference Pitch with a function generator – Determined design for AGC circuit – Successfully implementing Auto Tune Mode Future Work Manual Tune Audible Reference Pitch Expanded LED Display Packaging Automatic Gain Control New Hardware:microphone, speaker, CPU, and memory Any Questions?