This will probably have a very narrow audience (intersection of golang-nuts 
readers and Catholics), but may serve as an example of functional 
audio-processing in Go.

For those unaware, in the Catholic faith, the Rosary is a collection of 
prayers meant to be said while meditating, often with the use of a physical 
rosary, a set of prayer beads in a particular pattern. While nominally 
fairly simple, there have been various alterations and additions adopted by 
various groups that mean that the Rosary as prayed by one group may differ 
in a number of details from that prayed by another.

The next relevant fact is that there are a number of recorded rosaries 
available, some commercially, some public-domain, some on cd, some online, 
generally with the intention that the person listening to the audio would 
be praying along with it. Because of the differences in regional 
pronunciation, word choice (Holy Ghost vs Holy Spirit, for example), 
speaking speed, choice of additions and the like, it can be difficult to 
find a rosary that is completely suited to one's prayer style.

RosaryGen combines a couple of TOML files describing the constituent 
prayers, mysteries, and the structure of the rosary desired, and renders 
out a variable number of audio files by combining the files in the desired 
pattern. It accepts a list of directories and searches them in the given 
order, using the file from the first location found, making it easy to 
layer personal changes over audio drawn from other sources.

https://github.com/TheGrum/rosarygen

Have a look. At the very least, processor.go may be of some interest - it 
builds on azul3d.org's audio.Slices to build a stack of effects and run the 
audio files through it. This is largely unused by the current code, as 
processor.go is actually pulled out of a different project, swarmvoice, as 
yet unfinished and unreleased, but I'll probably use it to add support for 
laying intro and outro music.

On a different note, we have here a grand example of motivated programmer 
laziness. I built a rosary for my mother by grabbing YouTube videos and 
carefully carving them up into cd tracks, replaced some missing prayers, 
fought with Audacity crashing frequently... and then she wanted something 
tweaked, and I looked at Audacity... and instead I went and spent a week 
writing a program to take audio files and stitch them together into a 
proper set of rosary tracks.

Gave her a rosary Sunday morning, she asked for changes, and I went through 
four revisions that same day, ending up with something that has made her 
quite happy. Yep, I spent an entire week of free time, during which I 
surely could have finished the revamp of the rosary I had hand-done for 
her. But each subsequent change she needed (including re-recording audio 
with different words, swapping the order of prayers that recur 20 times in 
the rosary, and the like) took minutes to a half-hour at the most, and now 
she has a CD with *all* the prayers she likes to say, with timing that does 
not leave her gasping for breath or champing at the bit for the next prayer 
to start, in the order she prefers. And she wants copies for her friends. 
Success achieved!

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to