<?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>DEV Community: Sam Castillo</title>
    <description>The latest articles on DEV Community by Sam Castillo (@samcastillo).</description>
    <link>https://dev.to/samcastillo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4188625%2Ff6577fea-4b96-4e4a-979d-e06ac87b75fe.png</url>
      <title>DEV Community: Sam Castillo</title>
      <link>https://dev.to/samcastillo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/samcastillo"/>
    <language>en</language>
    <item>
      <title>I Used My Live Guitar as a Sentiment Signal Against an AI Script</title>
      <dc:creator>Sam Castillo</dc:creator>
      <pubDate>Fri, 16 Oct 2026 10:38:38 +0000</pubDate>
      <link>https://dev.to/samcastillo/i-used-my-live-guitar-as-a-sentiment-signal-against-an-ai-script-159l</link>
      <guid>https://dev.to/samcastillo/i-used-my-live-guitar-as-a-sentiment-signal-against-an-ai-script-159l</guid>
      <description>&lt;p&gt;Here is the setup. AI voices read a podcast script. I sit with my guitar and play live underneath, with no plan and no rehearsal. I am just reacting. Afterward, we ran the clean guitar track against the script, line by line, to see whether the playing was saying something. It was.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the playing said
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agreement sounds full.&lt;/strong&gt; When a line lands, I answer with a big, settled chord that resolves home.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Disagreement sounds tense.&lt;/strong&gt; Loud playing in a minor, diminished, or off-key color shows up where I push back on a claim.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pushing back sounds like a chug.&lt;/strong&gt; Short, repeated staccato notes show up as resistance to the script.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avoidance sounds like stepping back.&lt;/strong&gt; On topics I would rather not engage, the guitar drops out, comes back, and drifts sharp. It settles once the subject moves on.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ground truth first
&lt;/h2&gt;

&lt;p&gt;We anchored the analysis on one moment I confirmed myself (a five-second passage where I know I disagreed). The method has to call that moment correctly before we trust it anywhere else.&lt;/p&gt;

&lt;h2&gt;
  
  
  A personal fingerprint
&lt;/h2&gt;

&lt;p&gt;We also scored how much each recording sounds like me: usual chord families, go-to ii–V moves, tuning habits, tone. On a 0–100 signature score, the podcast sessions average &lt;strong&gt;58&lt;/strong&gt;; every earlier era of my channel averages &lt;strong&gt;46–48&lt;/strong&gt;. Reacting to ideas in real time brought out more of my own voice, not less.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it is hopeful
&lt;/h2&gt;

&lt;p&gt;Most talk about AI and music is about replacement. This points the other way. The AI supplied the script and the voices; what came back was a clearer picture of the human part: how I listen, where I agree, where I hold my ground. Used well, AI is a lever for human skill, not a stand-in for it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Caveats: these are inferences from the music, not mind reading. Chords and keys are machine estimates, the sample is one player, and the method is still being tested.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How we approached it (dev view)
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Isolate the guitar stem from the mix.&lt;/li&gt;
&lt;li&gt;Extract per-window features: loudness, onset density (staccato "chug"), estimated chord and key, pitch deviation from tuning, and silence/dropouts.&lt;/li&gt;
&lt;li&gt;Align windows to script lines by timestamp.&lt;/li&gt;
&lt;li&gt;Map feature patterns to four labels (agree / disagree / push back / avoid) with context rules, then validate on the one human-confirmed moment before reading anything else.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Biggest lesson: one confirmed ground-truth point is worth more than a dozen clever features. Without it you are just telling stories with spectrograms.&lt;/p&gt;

&lt;p&gt;I would love feedback on better ways to validate a single-subject signal like this.&lt;/p&gt;

&lt;p&gt;The full write-up lives on my site: &lt;a href="https://www.predictiveinsightsai.com" rel="noopener noreferrer"&gt;https://www.predictiveinsightsai.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;More of my work: &lt;a href="https://www.predictiveinsightsai.com" rel="noopener noreferrer"&gt;https://www.predictiveinsightsai.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>music</category>
      <category>ai</category>
      <category>python</category>
    </item>
  </channel>
</rss>
