Creating musical box with LabViewand myRio

Closed Posted Mar 23, 2015 Paid on delivery
Closed Paid on delivery

ECSE 421: Embedded Systems Project

Part 1: Make Music

Objective

We want to turn the MyRIO into a musical instrument. To do so, we will gathering some sort of input signal from the device’s sensors and use it to generate an audio output signal. The sensor with the most potential is the accelerometer since it does not require any additional hardware and will provide an entertaining user interface. The sensor data must be transformed to generate the instrument’s pitch, volume, and possibly even signal envelope. It is up to the student to determine a creative method to implement this transformation. The following is a quick review of system parameters:

Pitch (frequency) – The fundamental frequency at which the instruments operates. The system should be able to output a music signal with a pitch spanning one octave (f to 2*f). The student can decide whether the system is only capable of generating a discrete set of notes (like a saxophone) or a continuous spectra notes (like a trombone).

Volume – The system should have the ability to vary the volume of a note.

Signal Envelope – Percussion instruments generate a note that begins loud and decays over time (e.g.: piano and xylophone). This could add another layer of complexity to the project.

Chords – Another layer of complexity could come from allowing the system to play two independent notes at the same time.

You are required to implement (a) pitch and (b) volume control; doing so to spec will earn up to an B for this portion of the project (based on the quality of implementation). Up to an A will be awarded for the additional implementation of signal envelop or chords.

Overview

Useful LabVIEW Components

The following blocks will be useful to implement this design in LabVIEW:

Sine Wave Generator – This VI runs on the FPGA and generates a pure sine wave. It takes a fixed point number that represents a frequency in periods/tick and a Boolean datatype that determines if the generator is active or not. The output is a signed, 16-bit integer.

FPGA I/O Node – This Node allows the FPGA to communicate directly with the device’s analog or digital interfaces.

Loop Timer – This VI runs on the FPGA and guarantees a certain delay between executions of a loop. The input is the count in ticks.

Open FPGA VI Reference – This VI runs on the microcontroller and opens a connection to the specified FPGA design. It exports a reference (the thin turquoise line) that is used by other VIs to interact with the correct FPGA design.

Read/Write Control – This node reads or writes data to the FPGA. In this case, the VI running of the FPGA has an inputs “Count(Ticks)” and “frequency (periods/tick)” This can be used to transfer data to and from the design running on the FPGA.

LabVIEW

Project ID: #7354031

About the project

3 proposals Remote project Active Apr 29, 2015

3 freelancers are bidding on average $55 for this job

ewaqas

Hello, Waqas Here, We are National Instruments Alliance Member & Certified labVIEW & labVIEW FPGA Instuctors. We have many years of applications development experience in labVIEW & labVIEW FPGA in host & target type ap More

$30 CAD in 1 day
(1 Review)
0.6
bikramjyot

A proposal has not yet been provided

$25 CAD in 1 day
(0 Reviews)
0.0
anandtrivedi87

Dear Hiring Manager, My name is Anand Trivedi. Basically I an Electronics and communication Engineer working as Systems Integrator. I am Certified LabVIEW Developer (CLD) with 5 years of work experience in desig More

$111 CAD in 5 days
(1 Review)
0.0