<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:media="http://search.yahoo.com/mrss/"
	
	>

<channel>
	<title>Spencer Harris</title>
	<link>https://spencerharris.studio</link>
	<description>Spencer Harris</description>
	<pubDate>Sat, 14 Mar 2026 21:50:44 +0000</pubDate>
	<generator>https://spencerharris.studio</generator>
	<language>en</language>
	
		
	<item>
		<title>Header</title>
				
		<link>https://spencerharris.studio/Header</link>

		<pubDate>Thu, 16 Feb 2023 23:04:59 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Header</guid>

		<description>
	
	

	Spencer Harris
code • sound • more
	︎︎︎ About&#38;nbsp;
	︎︎︎ CV
	︎︎︎ ITP Blog
</description>
		
	</item>
		
		
	<item>
		<title>Index</title>
				
		<link>https://spencerharris.studio/Index</link>

		<pubDate>Thu, 16 Feb 2023 23:04:59 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Index</guid>

		<description></description>
		
	</item>
		
		
	<item>
		<title>PwC: Dreamforce 2024</title>
				
		<link>https://spencerharris.studio/PwC-Dreamforce-2024</link>

		<pubDate>Wed, 23 Oct 2024 16:45:21 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/PwC-Dreamforce-2024</guid>

		<description>
	&#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp;&#38;nbsp;&#60;img width="2946" height="3400" width_o="2946" height_o="3400" data-src="https://freight.cargo.site/t/original/i/0da04aacc0beee6bbdd20bc2bb94a271abefb9b14512477952ad4055a09b4c84/IMG_7216.jpg" data-mid="220217700" border="0" data-scale="79" src="https://freight.cargo.site/w/1000/i/0da04aacc0beee6bbdd20bc2bb94a271abefb9b14512477952ad4055a09b4c84/IMG_7216.jpg" /&#62;

	

PwC: Dreamforce 2024
Role:&#38;nbsp; Creative Technologist

At Dreamforce 2024, PwC introduced an innovative new booth - an AI-powered putt-putt golf course that automatically tracked your swings and score. The course was played by hundreds of contestants during the event.
I worked with the Deeplocal team as a full-stack developer on the project. Further details are password-protected below.
Learn More (Password Protected)
need the password? connect with me.


&#60;img width="5377" height="3915" width_o="5377" height_o="3915" data-src="https://freight.cargo.site/t/original/i/fa819130c4b32e3e4dccf2b183657922b09b3c4690522d1e31ff663e3a94e2b6/IMG_7224.jpg" data-mid="220215925" border="0"  src="https://freight.cargo.site/w/1000/i/fa819130c4b32e3e4dccf2b183657922b09b3c4690522d1e31ff663e3a94e2b6/IMG_7224.jpg" /&#62;
&#60;img width="4032" height="3024" width_o="4032" height_o="3024" data-src="https://freight.cargo.site/t/original/i/92d6d4667f051f5742a59e01c08790c557b32ec8b7ed060d52f5d0be032e2fe4/IMG_6188.JPG" data-mid="220215939" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/92d6d4667f051f5742a59e01c08790c557b32ec8b7ed060d52f5d0be032e2fe4/IMG_6188.JPG" /&#62;
&#60;img width="1280" height="960" width_o="1280" height_o="960" data-src="https://freight.cargo.site/t/original/i/ebf66cf27ff9c52b78fb53d00059f7e04fc32245bb332c5e327bc2c4460b8b1c/dreamforce-pwc-2024.jpg" data-mid="220216647" border="0"  src="https://freight.cargo.site/w/1000/i/ebf66cf27ff9c52b78fb53d00059f7e04fc32245bb332c5e327bc2c4460b8b1c/dreamforce-pwc-2024.jpg" /&#62;
&#38;nbsp; &#38;nbsp; &#38;nbsp;&#38;nbsp;</description>
		
	</item>
		
		
	<item>
		<title>Taco Bell: Live Más Live-Thru Cam</title>
				
		<link>https://spencerharris.studio/Taco-Bell-Live-Mas-Live-Thru-Cam</link>

		<pubDate>Mon, 19 Jan 2026 20:31:56 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Taco-Bell-Live-Mas-Live-Thru-Cam</guid>

		<description>
	



	
Taco Bell: Live Más Live-Thru Cam
Role:&#38;nbsp; Creative Technologist

For Taco Bell's 2025 Super Bowl campaign, the brand flipped the traditional celebrity-endorsement playbook. Instead of putting a commercial in front of millions, they invited millions to be in the commercial itself. The Live Más Drive-Thru Cam transformed ordinary drive-thru visits into a first-of-its-kind photo booth experience, turning everyday fans into Super Bowl stars. The installation toured five cities across the United States in December 2024, capturing authentic moments of Taco Bell fandom.

As a Creative Technologist on this project, I co-developed the audiovisual systems for the speakers, lights, and screens. I also deployed the project around the country, installing it in 4 states over 4 weeks. You can read more about the project (and see a nice picture of me)&#38;nbsp;here.

1,784+ Pieces of coverage, on Vice, USA TODAY, AdAge, Fortune, and more3,000+ IRL drive throughs21.3B+ Earned impressions
</description>
		
	</item>
		
		
	<item>
		<title>LinkedIn London Experience Center</title>
				
		<link>https://spencerharris.studio/LinkedIn-London-Experience-Center</link>

		<pubDate>Sat, 14 Mar 2026 21:50:44 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/LinkedIn-London-Experience-Center</guid>

		<description>
	



	
LinkedIn London Experience Center
Role:&#38;nbsp; Creative Technologist

LinkedIn tapped Deeplocal to develop a series of interactive audiovisual systems for their new office in London. As a Creative Technologist on this project, I prototyped the LinkedIn Photo Booth, an AI-powered photobooth that walks you through taking a professional-quality headshot. Further details are confidential. 
You can read more about the project here, and see my headshot here.
</description>
		
	</item>
		
		
	<item>
		<title>Heartshare</title>
				
		<link>https://spencerharris.studio/Heartshare</link>

		<pubDate>Wed, 23 Oct 2024 20:44:53 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Heartshare</guid>

		<description>
	Heartshare
Role: Acoustician + Composer

In this project, my group was tasked with developing multisensory rooms, as well as experiences contained within those rooms, for the Heartshare Hospital network. We developed plans for 2 rooms, developing audiovisual content, acoustic models, budgets, and timelines for the client, undergoing multiple rounds of iterative feedback.&#38;nbsp;Sonic Branding
After exploring the effects of binaural audio on sensory modulation, I developed custom binarual sounds for both “relaxing” and “energizing” scenarios.
I developed a virtual model of the space, and conducted acoustic analysis. These screenshots are from reactive TouchDesigner sketches paired with this audio.

	


&#60;img width="1852" height="1688" width_o="1852" height_o="1688" data-src="https://freight.cargo.site/t/original/i/3653329daa6945bc96eaf6e9561bd881585f93c99f78126bb995f9520c25474e/Screenshot-2024-10-23-at-5.29.27-PM.png" data-mid="220225354" border="0" data-scale="91" src="https://freight.cargo.site/w/1000/i/3653329daa6945bc96eaf6e9561bd881585f93c99f78126bb995f9520c25474e/Screenshot-2024-10-23-at-5.29.27-PM.png" /&#62;

	&#60;img width="1210" height="986" width_o="1210" height_o="986" data-src="https://freight.cargo.site/t/original/i/7a0ddfedccf84ad13dc2c97247e7987822574e59633ae9d293c004134677a2da/Screenshot-2024-10-23-at-5.24.07-PM.png" data-mid="220222933" border="0" data-scale="88" src="https://freight.cargo.site/w/1000/i/7a0ddfedccf84ad13dc2c97247e7987822574e59633ae9d293c004134677a2da/Screenshot-2024-10-23-at-5.24.07-PM.png" /&#62;
IR
&#60;img width="3013" height="1661" width_o="3013" height_o="1661" data-src="https://freight.cargo.site/t/original/i/4143570ec5b0c3d63eb6417a9d8b50294446fd3975103c164c1d8d481ab50753/Screenshot-2024-10-23-at-5.16.59-PM.png" data-mid="220221816" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/4143570ec5b0c3d63eb6417a9d8b50294446fd3975103c164c1d8d481ab50753/Screenshot-2024-10-23-at-5.16.59-PM.png" /&#62;
	&#60;img width="1318" height="876" width_o="1318" height_o="876" data-src="https://freight.cargo.site/t/original/i/42cab2220de99b8258706b4d8e7014deaa0f59a92b7aa7788fa8acf6598982c0/Screenshot-2024-10-23-at-5.23.43-PM.png" data-mid="220222934" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/42cab2220de99b8258706b4d8e7014deaa0f59a92b7aa7788fa8acf6598982c0/Screenshot-2024-10-23-at-5.23.43-PM.png" /&#62;


RT60&#60;img width="3024" height="1708" width_o="3024" height_o="1708" data-src="https://freight.cargo.site/t/original/i/2e17b4de0a71d9974e3e5be8b1c51212ca18a607651eab668a7cc1055d112b02/Screenshot-2024-10-23-at-5.15.49-PM.png" data-mid="220221698" border="0" data-scale="87" src="https://freight.cargo.site/w/1000/i/2e17b4de0a71d9974e3e5be8b1c51212ca18a607651eab668a7cc1055d112b02/Screenshot-2024-10-23-at-5.15.49-PM.png" /&#62;
Acoustics showed too much buildup of low frequencies, very low transmission loss, and an ambient noise level of 65dB (too loud for a hospital!) which we recommended mitigating with cork boards, curtains, and some tuned corner traps.&#38;nbsp;</description>
		
	</item>
		
		
	<item>
		<title>FriendsWithYou: The BAND</title>
				
		<link>https://spencerharris.studio/FriendsWithYou-The-BAND</link>

		<pubDate>Tue, 22 Oct 2024 18:53:10 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/FriendsWithYou-The-BAND</guid>

		<description>
	



	
FriendsWithYou: The BAND
Role:&#38;nbsp; Creative Technologist

The BAND is an installation by artist group FriendsWithYou, in collaboration with Deeplocal.
As a creative technologist on the project, I developedtwo key systems: a web server to control the robots’ lights, bleeps, and bloops, and an 8-channel audio system to manage the music developed for the experience. Further details are confidential, but you can read more about the project below:
Hypebeast
Cleveland Magazine
Designboom
</description>
		
	</item>
		
		
	<item>
		<title>Deeplocal Toolbox</title>
				
		<link>https://spencerharris.studio/Deeplocal-Toolbox</link>

		<pubDate>Sun, 20 Oct 2024 16:25:16 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Deeplocal-Toolbox</guid>

		<description>
	
					
				
	

Deeplocal Toolbox
An Unreal Engine scene communicating with Arduino and Gumband via Node.js, all stuffed inside a toolbox.I integrated the Design team’s menus and models with the Software team’s Node.js / Gumband backend in UE5.This project is used by Deeplocal 
and Gumband (clients) to showcase Deeplocal using Gumband hardware at shows/expos.


&#60;img width="960" height="540" width_o="960" height_o="540" data-src="https://freight.cargo.site/t/original/i/f438aff928806adb2ce261bf3cbe947743072e28dcebc3647563443356e14d18/Deep-Dive-Milestone-3-FINAL-1.png" data-mid="220035758" border="0"  src="https://freight.cargo.site/w/960/i/f438aff928806adb2ce261bf3cbe947743072e28dcebc3647563443356e14d18/Deep-Dive-Milestone-3-FINAL-1.png" /&#62;
&#60;img width="960" height="540" width_o="960" height_o="540" data-src="https://freight.cargo.site/t/original/i/4169d377ecedb33339ca568eb63b139f335b210f9ea23f4522407c5417ac2cc5/Deep-Dive-Milestone-3-FINAL-3.png" data-mid="220035864" border="0"  src="https://freight.cargo.site/w/960/i/4169d377ecedb33339ca568eb63b139f335b210f9ea23f4522407c5417ac2cc5/Deep-Dive-Milestone-3-FINAL-3.png" /&#62;
&#60;img width="960" height="540" width_o="960" height_o="540" data-src="https://freight.cargo.site/t/original/i/ca1294fbf10b043867b0927b565600e5cded174f5e8de884d539f97cf6b1c142/Deep-Dive-Milestone-3-FINAL-2.png" data-mid="220035759" border="0"  src="https://freight.cargo.site/w/960/i/ca1294fbf10b043867b0927b565600e5cded174f5e8de884d539f97cf6b1c142/Deep-Dive-Milestone-3-FINAL-2.png" /&#62;
&#60;img width="960" height="540" width_o="960" height_o="540" data-src="https://freight.cargo.site/t/original/i/6c75c036b3b9f66ed02a9dae4f4a3de0fa42fa165ff8dcfbeed397e1da2b8221/Deep-Dive-Milestone-3-FINAL-6.png" data-mid="220046782" border="0"  src="https://freight.cargo.site/w/960/i/6c75c036b3b9f66ed02a9dae4f4a3de0fa42fa165ff8dcfbeed397e1da2b8221/Deep-Dive-Milestone-3-FINAL-6.png" /&#62;
&#60;img width="960" height="540" width_o="960" height_o="540" data-src="https://freight.cargo.site/t/original/i/70301930133b65a70ac908d608008b5ec045ddb3c077672b12386d78534660e2/Deep-Dive-Milestone-3-FINAL-5.png" data-mid="220046770" border="0"  src="https://freight.cargo.site/w/960/i/70301930133b65a70ac908d608008b5ec045ddb3c077672b12386d78534660e2/Deep-Dive-Milestone-3-FINAL-5.png" /&#62;

slides c.o. Clair Grywalski

I also made some background music for the project, which ended up not getting used, but I’ll include it here anyway!</description>
		
	</item>
		
		
	<item>
		<title>Sleepy Mech</title>
				
		<link>https://spencerharris.studio/Sleepy-Mech</link>

		<pubDate>Mon, 21 Oct 2024 02:14:06 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/Sleepy-Mech</guid>

		<description>Sleepy Mech
ITP Thesis 2024. Developed With Alina Liu
Sleepy Mech is something between a toy and an instrument, developed as my thesis project at ITP. The concept for this project arose from work I was doing in another course to create ML-powered stems for various parts of existing songs. I found the output of the work to be fascinating, but the process really annoying, leading me to wonder if there was a way to bring ML audio even closer to musicians and learners, and actually pull it off of a computer entirely.
The resulting project combines technical capabilities of a looper and aesthetics of vinyl toys with the pioneering sounds of machine learning style-transfer models to create an all - in - one interface. I developed all of the software and hardware for this project, and developed a suite of custom machine learning models to use with. 3D design was handled by Alina, and some graphics were designed by Proud Aiemkrusa.

&#60;img width="1032" height="1032" width_o="1032" height_o="1032" data-src="https://freight.cargo.site/t/original/i/c77cc5e83abae98670d67daa56b609e8b329121e3553114bf319602e9d78845a/sleepy-mech-good-render.png" data-mid="220142979" border="0" data-scale="100" src="https://freight.cargo.site/w/1000/i/c77cc5e83abae98670d67daa56b609e8b329121e3553114bf319602e9d78845a/sleepy-mech-good-render.png" /&#62;To develop the software, I used RAVE, a variational encoder style transfer framework that allows transfer of timbral and rhythmic features of an audio signal from one source to another. It doesn’t make a lot of sense just reading it, so it’s probably best to hear (and see) for yourself.

					
				

Essentially, the models can take your voice (for example, beatboxing) and turn it into another instrument (for example, a bass guitar, darbouka, NASA sounds, artifical voices, or anything else). The only constraint is that the models work better the more similar the input audio is to their training data, which makes sense. Here’s a look inside:

&#60;img width="1920" height="1080" width_o="1920" height_o="1080" data-src="https://freight.cargo.site/t/original/i/a681fd000d19904308475b48ea488335ced49900d8f49f67646790baf8ecfd31/AGHHHHH.001.jpeg" data-mid="220143319" border="0"  src="https://freight.cargo.site/w/1000/i/a681fd000d19904308475b48ea488335ced49900d8f49f67646790baf8ecfd31/AGHHHHH.001.jpeg" /&#62;
&#60;img width="1920" height="1080" width_o="1920" height_o="1080" data-src="https://freight.cargo.site/t/original/i/446dee7bf7ca49caa5e01c4cf8fd7b352d08379f98a01d6fedb3bd914de04491/thesis-presentation-with-audio.001.jpeg" data-mid="220143395" border="0"  src="https://freight.cargo.site/w/1000/i/446dee7bf7ca49caa5e01c4cf8fd7b352d08379f98a01d6fedb3bd914de04491/thesis-presentation-with-audio.001.jpeg" /&#62;

The biggest challenge here was getting all of this tech safely housed inside the body! Also, RFID tags love to wear out, which was another source of “fun”.
I also developed a suite of machine learning models for this project, which I trained on electronic instruments commonly used in the composition of techno and house songs. I always found the interfaces very unintuitive, so I attempted to make them controllable by the human voice through this project. Here are the models I made:


	Model 1: SH-101
• ~ 10 hours of SH-101 recordings

	
	&#60;img width="1200" height="469" width_o="1200" height_o="469" data-src="https://freight.cargo.site/t/original/i/08e02e189fcd939d96b6ca456fa433eb46b3bf818947491a8f1ab7837404e727/sh-101.jpeg" data-mid="220144080" border="0" data-scale="95" src="https://freight.cargo.site/w/1000/i/08e02e189fcd939d96b6ca456fa433eb46b3bf818947491a8f1ab7837404e727/sh-101.jpeg" /&#62;

	Model 2: TB-303• ~ 3 hours of acid basslines
	


	&#38;nbsp; &#38;nbsp;&#38;nbsp;&#60;img width="1600" height="699" width_o="1600" height_o="699" data-src="https://freight.cargo.site/t/original/i/8346302039548741768a0f1c0e439a5e7cfbd697611a994ee41ff4637656d14a/tb-03.jpeg" data-mid="220144266" border="0" data-scale="87" src="https://freight.cargo.site/w/1000/i/8346302039548741768a0f1c0e439a5e7cfbd697611a994ee41ff4637656d14a/tb-03.jpeg" /&#62;

	Model 3: LinnDrum• ~ 4 hours of LinnDrum MIDI
	


	&#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp;&#38;nbsp;&#60;img width="2215" height="1215" width_o="2215" height_o="1215" data-src="https://freight.cargo.site/t/original/i/b14925acd74b87c5132e2b0d47ff043642925267cb3482930ec8b8fd726e9b65/linnDrum.jpeg" data-mid="220144268" border="0" data-scale="69" src="https://freight.cargo.site/w/1000/i/b14925acd74b87c5132e2b0d47ff043642925267cb3482930ec8b8fd726e9b65/linnDrum.jpeg" /&#62;

	Model 3: TR-08• ~ 4 hours of TR-08 MIDI
	


	&#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp; &#38;nbsp;&#38;nbsp;&#60;img width="3764" height="2240" width_o="3764" height_o="2240" data-src="https://freight.cargo.site/t/original/i/f1d4955ab7cd0e71c24dc29e4fa18c8e2624c09ef8be0d4580c6c820c46bbf29/tr-08.jpg" data-mid="220144228" border="0" data-scale="63" src="https://freight.cargo.site/w/1000/i/f1d4955ab7cd0e71c24dc29e4fa18c8e2624c09ef8be0d4580c6c820c46bbf29/tr-08.jpg" /&#62;

All of these models are available for free download, just send me an email :)
In addition, I included open-source models from Acids-Ircam and Intelligent Instruments Lab. Here are the ones I used, along with some amazing art Proud made:
&#60;img width="1920" height="1080" width_o="1920" height_o="1080" data-src="https://freight.cargo.site/t/original/i/dce156ffab0268bde00dc757cb4d02b6cf9cc38562361f56c1dbe0f3f2dbc5c4/thesis-presentation-with-audio.001.jpeg" data-mid="220145120" border="0"  src="https://freight.cargo.site/w/1000/i/dce156ffab0268bde00dc757cb4d02b6cf9cc38562361f56c1dbe0f3f2dbc5c4/thesis-presentation-with-audio.001.jpeg" /&#62;This is by no means a finished product, but I enjoyed exploring this space and am continuing to develop. Here are some process photos and a video of me presenting my thesis. You can also read this blog if you want to know more about the development process.
&#60;img width="1920" height="1080" width_o="1920" height_o="1080" data-src="https://freight.cargo.site/t/original/i/47d77ecdb620c24c1b3ec71475b89b73523e25ef5f1468a0444da9dc4289ace3/thesis-presentation-with-audio.001.jpeg" data-mid="220145227" border="0"  src="https://freight.cargo.site/w/1000/i/47d77ecdb620c24c1b3ec71475b89b73523e25ef5f1468a0444da9dc4289ace3/thesis-presentation-with-audio.001.jpeg" /&#62;

</description>
		
	</item>
		
		
	<item>
		<title>The Listening Room</title>
				
		<link>https://spencerharris.studio/The-Listening-Room</link>

		<pubDate>Tue, 16 May 2023 05:05:43 +0000</pubDate>

		<dc:creator>Spencer Harris</dc:creator>

		<guid isPermaLink="true">https://spencerharris.studio/The-Listening-Room</guid>

		<description>



Context:Project for Fundamentals of Digital Signal Theory, a class in NYU Steinhardt.
Role:
DeveloperConcept:Interactive 3D website, multi-user audioshare visualizerTools:
WebGL, three.js, JavaScript, spatial audioThe Listening Room
Use the website!
&#60;img width="2904" height="1572" width_o="2904" height_o="1572" data-src="https://freight.cargo.site/t/original/i/b80e4b3268b4fc751b5fdb0b9896014a19594a31e9152514616bad0d9d6dc062/Screenshot-2023-05-16-at-1.16.47-AM.png" data-mid="178883941" border="0"  src="https://freight.cargo.site/w/1000/i/b80e4b3268b4fc751b5fdb0b9896014a19594a31e9152514616bad0d9d6dc062/Screenshot-2023-05-16-at-1.16.47-AM.png" /&#62;&#38;nbsp; The Listening Room is a Three.js powered website in which users can communicate with one another via sharing audio files which are then played back on other users’ sites. The website uses JavaScript in conjunction with Python, using Three.js as a 3D frontend.

Code
In the listening room itself,the turntable acts as a “file upload” button, allowing users to post the .wav file of their choice into the server.&#38;nbsp;
&#60;img width="1658" height="1188" width_o="1658" height_o="1188" data-src="https://freight.cargo.site/t/original/i/49defb8936df87cfd1eafddcfcde6c4cf66ef23d703395d6788af8a0febad1b1/Screenshot-2023-05-16-at-1.20.41-AM.png" data-mid="178884132" border="0"  src="https://freight.cargo.site/w/1000/i/49defb8936df87cfd1eafddcfcde6c4cf66ef23d703395d6788af8a0febad1b1/Screenshot-2023-05-16-at-1.20.41-AM.png" /&#62;
Once an audio file is uploaded to the server, a folder watchdog takes note, and sends a message to python to take the uploaded file and turn it into a spectrogram. That code looks like this:
And it produces an image of a spectrogram that looks like this:
&#60;img width="1442" height="898" width_o="1442" height_o="898" data-src="https://freight.cargo.site/t/original/i/9806477b6d0bf562d278d9f64506e9f1cf74c46dac2f44b0049dc34729733566/Screenshot-2023-05-16-at-1.24.15-AM.png" data-mid="178884219" border="0"  src="https://freight.cargo.site/w/1000/i/9806477b6d0bf562d278d9f64506e9f1cf74c46dac2f44b0049dc34729733566/Screenshot-2023-05-16-at-1.24.15-AM.png" /&#62;
Once this image is generated, another file watchdog communicates to our server that we’ve created a fresh spectrogram graph. It’s then processed as a texture on a cube in the Listening Room, along with a black &#38;amp; white version that’s used as a displacement map. That creates a 3D object that looks like this:&#38;nbsp;
&#60;img width="1262" height="1152" width_o="1262" height_o="1152" data-src="https://freight.cargo.site/t/original/i/ed29b1745eb381ebf53a0bd17d5ba94239d328ff05c1be211d940f5697c2f691/Screenshot-2023-05-16-at-1.28.24-AM.png" data-mid="178884283" border="0"  src="https://freight.cargo.site/w/1000/i/ed29b1745eb381ebf53a0bd17d5ba94239d328ff05c1be211d940f5697c2f691/Screenshot-2023-05-16-at-1.28.24-AM.png" /&#62;
Additionally, the user-uploaded audio is played back to everyone else on the server, and is spatialized to the speakers.
Design
The “room” part of the listening room is an original design made in Blender, with textures mapped from AmbientCG.

&#60;img width="848" height="528" width_o="848" height_o="528" data-src="https://freight.cargo.site/t/original/i/972d609be081979a551fc53ad544f1aecefd4f35bdc495e99015977f323a86df/Screenshot-2023-05-16-at-1.31.28-AM.png" data-mid="178884376" border="0" data-scale="77" src="https://freight.cargo.site/w/848/i/972d609be081979a551fc53ad544f1aecefd4f35bdc495e99015977f323a86df/Screenshot-2023-05-16-at-1.31.28-AM.png" /&#62;
The project also makes use of a variety of prefabricated .gltf assets from Sketchfab.



&#60;img width="752" height="668" width_o="752" height_o="668" data-src="https://freight.cargo.site/t/original/i/039c53698d25f8cad85a36339349a67ca7d5567598ba49e6c8cb2cdf1085689c/Screenshot-2023-05-16-at-1.33.56-AM.png" data-mid="178884537" border="0"  src="https://freight.cargo.site/w/752/i/039c53698d25f8cad85a36339349a67ca7d5567598ba49e6c8cb2cdf1085689c/Screenshot-2023-05-16-at-1.33.56-AM.png" /&#62;
&#60;img width="1940" height="848" width_o="1940" height_o="848" data-src="https://freight.cargo.site/t/original/i/eff5c834dcad4a745445340554a50cfb13150f90576a05a9935253091d7414df/Screenshot-2023-05-16-at-1.36.13-AM.png" data-mid="178884639" border="0"  src="https://freight.cargo.site/w/1000/i/eff5c834dcad4a745445340554a50cfb13150f90576a05a9935253091d7414df/Screenshot-2023-05-16-at-1.36.13-AM.png" /&#62;
&#60;img width="534" height="598" width_o="534" height_o="598" data-src="https://freight.cargo.site/t/original/i/30e19e5b8380efa1ae5c53e07d6dcfc28534041a403499a80e4e9fcfd6ec1692/Screenshot-2023-05-16-at-1.37.34-AM.png" data-mid="178884656" border="0"  src="https://freight.cargo.site/w/534/i/30e19e5b8380efa1ae5c53e07d6dcfc28534041a403499a80e4e9fcfd6ec1692/Screenshot-2023-05-16-at-1.37.34-AM.png" /&#62;
&#60;img width="516" height="920" width_o="516" height_o="920" data-src="https://freight.cargo.site/t/original/i/37e3d412aac27975e0546d5fb92322c4d23eb89bfa82963c7f1b56c65ee04fcd/Screenshot-2023-05-16-at-1.34.57-AM.png" data-mid="178884596" border="0"  src="https://freight.cargo.site/w/516/i/37e3d412aac27975e0546d5fb92322c4d23eb89bfa82963c7f1b56c65ee04fcd/Screenshot-2023-05-16-at-1.34.57-AM.png" /&#62;
&#60;img width="1118" height="924" width_o="1118" height_o="924" data-src="https://freight.cargo.site/t/original/i/5009d1c17748b4b7507f82b2579acd6d2a82326f7af759020a479771537f49bc/Screenshot-2023-05-16-at-1.36.51-AM.png" data-mid="178884645" border="0"  src="https://freight.cargo.site/w/1000/i/5009d1c17748b4b7507f82b2579acd6d2a82326f7af759020a479771537f49bc/Screenshot-2023-05-16-at-1.36.51-AM.png" /&#62;

these are all available for free download, except the disco ball.
Putting them all together creates the room shown in the first image.
Challenges
This is one of those projects that doesn’t require much coding, but does require a variety of relatively obscure libraries and very specific commands. Finding a library that would make python scripts run in a JavaScript dev environment was tricky! I ended up using PythonShell, and it seems to work well enough - easier than a Flask server. Running this on a server also requires the installation and initialization of a Python virtual environment to run within the JavaScript environment.
Next Steps
Because this code is so modular, it’s possible to do any type of signal processing on the Python side and pass it to other users on a server using the framework in this code. I’d love to continue experimenting with other Python A/V features, and make the listening room even more exciting!



</description>
		
	</item>
		
	</channel>
</rss>