grape – FinalWiP

As I mentioned in my ProjectProposal post, I was motivated to complete this project out of a desire to have a physical archive of my voice snippets.

[videopack id=”1934″]https://courses.ideate.cmu.edu/60-428/f2021/wp-content/uploads/2021/11/RPReplay_Final1635957413.mov[/videopack]

To make a real time hmhmhmgraph, I had to work with Max MSP’s pitch detection. I made a simple mic patch that sends pitch data to Processing via osc. I then map the pitch to one of 12 total notes that each have their own symbol.

 

There were some immediate setbacks with plotting in real time. One of which was that I had initially plotted the pitch from left to right, line by line. This however made the plot increasingly inaccurate wrt to my pitch, as the plotter would take a couple seconds to move down to the next line before plotting again. I then opted for a Boustrophedon plotting path, which goes from left to right to right to left in a snaking manner to minimize the time the plotter takes to move without plotting.

Another issue(/non issue) was that the frame rate affected the quality of the plot. Since processing attempts 60 fps, this clobbers my note variable in unpredictable ways. I mentioned that this was a nonissue because it looks cool. Anyway in order to minimize the number of overwrites I just lowered the frame rate to 4. I tried a frame rate of 2, but felt that the plotter became too slow at this speed.

These are all plots to me singing mitski’s nobody.

60 fps

4 fps

2fps

Here’s a video with me singing with it plotting.

https://vimeo.com/646970438

Some things I’d change:

If you notice from the video it can’t pick up grace notes or any quick notes but I’m also not entirely sure how to fix that lol. I’d also want to keep a record of both duration and pitch change and sync it to allison parrish’s pronouncing py  so I can generate lyrics for my voice thingies (song writing is a beat I have yet to vanquish).

I’m also currently in the middle of implementing a new asemic notation using bezier curves that emulate cursive handwriting, just because I think the current system might be too intricate which time intensive on the plotter. Notes are below: