ECE497 Project Music Synthesizer

Team members: Kuangyi Lu, Ximing Ma

Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!

 00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this.

Score: 10/100

(Inline Comment)

Executive Summary
The goal of this project would be to implement an audio/sound synthesizer on Beaglebone with an interface that user can manipulate the filter easily. It has the ability to deploy LabVIEW codes to Beaglebone Green for software implementations.

Packaging
If you have some hardware, consider Small Build, Big Execuition for ideas on the final packaging.

Installation Instructions
Give step by step instructions on how to install your project.

Software requirements: LabVIEW(2014), LINX, Arduino IDE, Linux(ubuntu 18.04)

Hardware requirements: Beaglebone Green/Black(with ethernet), Bare Conductive touch board, 1 micro USB wires, jumper wires, LEDs, push buttons, etc.

Software setup:

1. MAKE SURE you installed LabVIEW 2014(any edition), LINX DOES NOT support later versions. In LabVIEW, navigate to Help-->Activate LabVIEW components(Launch), and in Local Licenses, make sure you have at least 1 development system and "Application Builder" activated. You can also activate other parts on your wish.

2. Go to NI's website and download LINX. Your browser should prompt a message to guide you to the VI Package Manager. In the page that pops up, make sure the number at the top left corner is 2014 and then click "install" below it. "Agree" to all the licensing requirements and close the VI Package Manager after finished. A window should pop up after installation reminding you to restart the LabVIEW because the LabVIEW needs to scan the software add-ons and reload corresponding hardware configuration files, so make sure to restart otherwise you will have trouble locating your hardware later.

3. After rebooting LabVIEW you should be able to find LINX by navigating to Tools-->MakerHub-->LINX and we have all the software that we need for now.

Hardware setup:

1. Get your bone ready. Run "ifconfig"/Ping google.com to make sure it has Internet access from ethernet port, it has been proven to be the simplest way comparing to wireless or ethernet over USB.

2. Plug your bone in, and navigate to Tools-->MakerHub-->LINX-->LINX Target Configuration, then open it up.

3. Enter the IP address of your bone(default to 192.168.7.2), your username and password. If you watch the video Sam says the user account you enter has to have sudo access, but a normal user would do just fine. Click "connect".

4. Navigate to "Target Info" and see if the "Internet Access" box is checked and Navigate to "Install Software" to install LabVIEW run-time engine 2014. This may take a while.

5. After installation, reboot your Beaglebone and you should be ready to proceed.

For more detailed tutorials and support forum: LINX

User Instructions
All the project files can be found at a public GitHub repo

Users can press pushbuttons to determine which sounds to generate and run LabVIEW VIs to generate them. After generation, the wav files will be stored in the pre-set path. The user can simply open cloud 9 editor and download wav files.

Notes: 1. Make sure to use LabVIEW 2014. 2. Check Linux kernel version when LabVIEW could not process VIs. We had 4.19 and it was not compatible with LINX so we had to switch to 4.9. 3. The way which LINX uses to install LabVIEW was running "dpkg" command. It could potentially mess up the dependencies of packages.

Highlights
Here is where you brag about what your project can do.

Include a YouTube demo the audio description.

Theory of Operation
Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.

Work Breakdown
List the major tasks in your project and who did what.

Also list here what doesn't work yet and when you think it will be finished and who is finishing it.

Future Work
Suggest addition things that could be done with this project.

Conclusions
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.