User:Andreab

From CCRMA Wiki
Revision as of 12:13, 17 April 2021 by Andreab (Talk | contribs) (MUS 320C Project - Spring 2021)

Jump to: navigation, search

MUS 320C Project - Spring 2021

I will be doing a joint project for Mus 320C and CS 448Z.


Weeks 1 & 2:

I started thinking about ideas and had two different approaches for the project. One approach was to do something related to spatial audio, maybe a plug-in that uses head tracking and ambisonics. The other idea was to keep building on the Harmonizer instrument I built as the final project of MUS 250A taking advantage of JUCE and Faust and not having any of the hardware limitations.

I shared the ideas with Professor Julius and talked about possible paths for these two approaches. During the conversation I mentioned I was also taking CS 448Z (Physically Based Animation and Sound) and that it would be a great opportunity to do a joined project between CS 320C and CS 448z.


Week 3:

After speaking with both Professor Julius and Professor Doug separately regarding final project ideas for each class, the three of us had another meeting to discuss possible ideas for a joint project. We came up with an idea to involve parts of a Harmonizer while integrating physical modeling.

The idea of the project (which is might be ever-evolving) is to come up with a plug-in or app that takes in a vocal signal via microphone input in real time, analyzes this voice signal, and computes harmonies to be played back in real time as well.

The harmonies will be generated using physical modeling of the vocal tract utilizing the Pink Trombone Speech Synthesis program by Neil Thapen. The source code for Pink Trombone is available under the MIT License.

The first step in the project was to look into the Pink Trombone source code and start porting it into C++ since the plug-in/app will be done using JUCE and Faust.

I downloaded JUCE, went through the set up, and created a new Project to port the Pink Trombone code. I started to go through the Pink Trombone to get familiarized with the different parts and understand how the code works.