Hi all,
I’ve used Cantai successfully using Sibelius to produce decent sounding rehearsal recordings. I’m working on repeating the exercise for Dorico now. I’m writing to get connected with people who’ve worked with Dorico’s external automation interfaces, and to show what’s possible when you add Claude Code to the mix.
I own both Dorico and Sibelius, and I’m a software developer, and I’ve been using Claude Code on a project to teach Claude to process scores using first Sibelius, and now I’ve started working on Dorico. For perspective on this work, keep in mind that I started three weeks ago.
I’m assistant chorus director for a show, and I was handed a bunch of PDFs and Sibelius files to process for making practice recordings. The recordings are derived from the PDFs and Sibelius files, and for each song include the following permutations:
- A full mix of the song, using Cantai for the singing. (I was lucky: the show’s singing is in English and Spanish.)
- For each singing part in the song, a recording of just its voice alone
- For each singing part, produce a mixdown where that part is amplified by 10db relative to the other parts, so people can hear their own part prominently with the other parts in the background.
Using Claude Code, the Python programming language, and Sibelius’ ManuScript automation language, and using Halbestunde to scan (mostly badly) the PDFs to musicXML, I got a very good result.
One of the side effects of the work is a text based interface for driving Sibelius via Claude. I can type things like: “For the staves in the score, split each individual voice into a separate line.” And Claude will do it, writing scripts on the way as needed to process the musicXML to make the changes, when it thinks that’s easier than driving Sibelius directly.
I’m now using Claude to try to provide the same capabilities in Dorico. (And probably MuseScore soon.)
I’ll be back when I’ve validated more of the Dorico workflow. Claude worked on it overnight and made progress, but it’s warning me about the undocumented automation and scripting interfaces - it had to connect to Dorico to ask it how to call its methods.