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.