<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Using AI to compose/arrange?]]></title><description><![CDATA[<p dir="auto">I wonder if anybody has tried using AI/LLMs to try to arrange music. I hadn't really seen any, and musicians don't <em>tend</em> to be on the bleeding edge of tech, so I just might be on the forefront of this.</p>
<p dir="auto">Anyhow, I've long wanted to try <a href="//lilypond.org" rel="nofollow ugc">Lilypond</a>... for years. It's a music engraver software that's code-based, and as somebody whose day job is a software developer, it <strong>immediately</strong> resonated with me. Now with AI being surprisingly good at writing code, maybe there's something here...</p>
<p dir="auto">So I gave it a try...</p>
<p dir="auto"><strong>tl;dr</strong> — it kind of sucks at it.</p>
<p dir="auto">Lilypond has been on my radar for years, but whenever I tried to get going with it, I found the tooling to be very rough, and the documentation rather sparse. It seemed I spent more time looking up documentation for syntax (e.g. how do I write a tenuto? How do I add a tie to this note?) than I was actually writing.</p>
<p dir="auto">Compared to using a GUI like Sibelius, this was a significant impediment that I had to work through.</p>
<p dir="auto">I never did learn the syntax well enough, and after multiple false starts, I ended up giving up years ago.</p>
<p dir="auto">In the years since, the tooling has gotten a little better, and there's native integration with my IDE (Visual Studio Code), so things are looking up.</p>
<p dir="auto">I cobbled together a quick setup with the following:</p>
<ul>
<li><a href="https://huggingface.co/unsloth/Qwen3.6-35B-A3B-GGUF" rel="nofollow ugc">Qwen 3.6 35B-A3B</a> running locally on my laptop via <a href="https://github.com/ggml-org/llama.cpp" rel="nofollow ugc">llama.cpp</a></li>
<li><a href="//pi.dev" rel="nofollow ugc">Pi coding harness</a></li>
<li>Visual Studio Code with the LilyPond Syntax plugin</li>
</ul>
<p dir="auto">The key here is I'm not going to rely on AI to write the actual music, but could it autocomplete melodies? If I gave it something like the start of a phrase, and asked it to fix the rhythm, or continue the melody, could it?</p>
<p dir="auto"><strong>The short answer is no</strong> — it was pretty awful at it.</p>
<p dir="auto">I couldn't rely on it to do anything of substance. A couple times it even looked at my notation and decided that my bars were missing beats, even though they weren't. Here's a funny one — it saw a dotted half note and thought it was worth 2.5 beats... which if you think about it literally (and not at all musically), makes sense... it's a half note, worth two beats, and a "half", so half a beat.</p>
<p dir="auto">So yeah, grade 2 rudiments it has not.</p>
<p dir="auto">Other times it tried to look at my notation, and try really really hard to put together the melody, but would hallucinate lyrics and make up melodies that were nowhere coherent.</p>
<p dir="auto">But here's the kicker... it was decent at Lilypond syntax! I was able to get rid of my biggest hurdle (having to figure out obscure syntax) and just <em>ask</em> for what I wanted:</p>
<p dir="auto"><strong>Q: How do you write a triplet?</strong></p>
<blockquote>
<p dir="auto">Use <code>\tuplet</code> with a ratio in parentheses, then the notes in parentheses:</p>
</blockquote>
<pre><code class="language-lilypond">\relative c'' {
  (c8 d e)  % regular eighth notes
  \tuplet 2/3 { (c8 d e) }  % triplet: 3 notes in the space of 2
}
</code></pre>
<blockquote>
<p dir="auto">The ratio is <code>numerator/denominator</code> — "3 notes in the space of 2" = <code>2/3</code>.</p>
</blockquote>
<blockquote>
<p dir="auto"><strong>Common examples:</strong></p>
</blockquote>
<pre><code class="language-lilypond">\relative c'' {
  % 3 eighth notes in the space of 2 (normal triplet)
  \tuplet 2/3 { (c8 d e) } f4
  
  % 3 quarter notes in the space of 2
  \tuplet 2/3 { (c4 d e) }
  
  % 5 notes in the space of 4
  \tuplet 4/5 { (c8 d e f g) }
  
  % 7 notes in the space of 4
  \tuplet 4/7 { (c8 d e f g a b) }
}
</code></pre>
<blockquote>
<p dir="auto">The parenthesized notes <code>(c d e)</code> inside the tuplet are required — they tell LilyPond to draw the bracket and number.</p>
</blockquote>
<hr />
<p dir="auto">Not bad at all!</p>
<p dir="auto">Note that I'm using a very small LLM relative to the ones you can use online (ChatGPT, Gemini, etc.) so there's definitely a gap in intelligence between mine and the frontier, so I'm interested in seeing how far I can take this.</p>
]]></description><link>https://a440.social/topic/50/using-ai-to-compose-arrange</link><generator>RSS for Node</generator><lastBuildDate>Tue, 28 Jul 2026 09:02:33 GMT</lastBuildDate><atom:link href="https://a440.social/topic/50.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Jul 2026 17:50:41 GMT</pubDate><ttl>60</ttl></channel></rss>