<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>VJ UNION: Storm_or_Melody</title>
    <description>The latest articles on VJ UNION by Storm_or_Melody (@storm_or_melody).</description>
    <link>https://vjun.io/storm_or_melody</link>
    <image>
      <url>https://vjun.io/uploads/user/profile_image/263/d1be85f4-dcc3-4791-aae4-cc5c95c24445.png</url>
      <title>VJ UNION: Storm_or_Melody</title>
      <link>https://vjun.io/storm_or_melody</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://vjun.io/feed/storm_or_melody"/>
    <language>en</language>
    <item>
      <title>Launch, audio-reactive visuals with stable diffusion</title>
      <dc:creator>Storm_or_Melody</dc:creator>
      <pubDate>Sun, 04 Dec 2022 17:58:59 +0000</pubDate>
      <link>https://vjun.io/storm_or_melody/launch-audio-reactive-visuals-with-stable-diffusion-1n8b</link>
      <guid>https://vjun.io/storm_or_melody/launch-audio-reactive-visuals-with-stable-diffusion-1n8b</guid>
      <description>&lt;p&gt;Hi everyone, I recently completed an audio-reactive animation using stable diffusion for a course project.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/eIVC3ox-Ak0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I'm working on a &lt;a href="https://colab.research.google.com/drive/1bLpGVWRFJKB9fQFvBL77zF8IrYo_feQ8?usp=sharing"&gt;colab notebook&lt;/a&gt; putting together all the tools I used if you want to check it out and use it yourself. (feedback would be much appreciated as it's my first time making something like this for others)&lt;/p&gt;

&lt;p&gt;There are two main parts to this, audio feature extraction, and prompt interpolation.&lt;/p&gt;

&lt;p&gt;To extract audio features I used some signal processing tools in python and manually separated out different components of the music I selected. I then did some smoothing and other post-processing that I felt was necessary to generate my desired effects. Given &lt;em&gt;N&lt;/em&gt; audio features, you end up with a coefficient &lt;em&gt;c&lt;/em&gt; between 0 and 1 for each &lt;em&gt;N&lt;/em&gt; audio features at all &lt;em&gt;M&lt;/em&gt; timepoints in the music.&lt;/p&gt;

&lt;p&gt;For prompt interpolation I would start at an initial prompt, get the conditioning for this prompt, and then loop through all &lt;em&gt;N&lt;/em&gt; audio features and travel towards the conditioning for their corresponding prompts one by one with the distance determined by the coefficient of the audio feature. &lt;/p&gt;

&lt;p&gt;You then use the resulting conditioning as the initial conditioning of the diffusion model for that frame.&lt;/p&gt;

&lt;p&gt;The other part, which is much more subjective, is determining what prompts to use in the first place, I probably spent the most time on this in total, and it's quite a bit of trial and error finding prompts that interpolate between each other &lt;em&gt;nicely&lt;/em&gt; when working with several prompts at once.&lt;/p&gt;

&lt;p&gt;I also made use of img2img but used modified noisy images to produce some more subtle effects, like the pseudo-symmetry and build up in complexity in the first 45 seconds.&lt;/p&gt;

&lt;p&gt;If you have any questions feel free to ask!&lt;/p&gt;

</description>
      <category>ai</category>
    </item>
  </channel>
</rss>
