tag:blogger.com,1999:blog-54497537427851182512024-03-13T19:53:26.478-07:00Raspberry Pi Music SynthesisUnknownnoreply@blogger.comBlogger19125tag:blogger.com,1999:blog-5449753742785118251.post-50768141012955471982018-06-05T13:09:00.002-07:002018-06-06T02:07:30.637-07:00Victorian Chapel Organ version 1.3 in betaThe third version of the app is pretty much ready to go to the store. Changes include a bugfix for attack transients, they were getting lost, plus the Principal Chorus on the Great, the Stopped Diapason Chorus on the Swell, and the two Pedal stops (Bourdon 16 and Bassoon 16) have all been very carefully revoiced, partly as a exercise to finalize the tools I need to get the ‘real’ organ app out there in the next month or son. The revoiced stops sound gorgeous, and I will revoice everything and push out a 1.4 update during the Summer. Then I can just let it sit for a while and see what people can do with it. This was always an experiment in preparation for the ‘real’ organ, hence its bargain basement price, but it has now matured into a lovely-sounding instrument, and will be a really, really nice organ after the 1.4 update to the rest of the stops.<br />
<br />
In the meantime here’s a couple of audio examples, using only the newly-revoiced stops.<br />
<br />
<br />
<iframe allow="autoplay" frameborder="no" height="300" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/454126548&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true" width="100%"></iframe>
<iframe allow="autoplay" frameborder="no" height="300" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/454127952&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true" width="100%"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-41265247288848996502018-03-24T03:50:00.002-07:002018-03-24T10:52:30.897-07:00Victorian Chapel Organ in the App StoreIt's live in the App Store, for iPad and iPhone. Works on iPad 2 or newer, iPhone 4S or newer. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/gA7XzZXkym4/0.jpg" frameborder="0" height="300" src="https://www.youtube.com/embed/gA7XzZXkym4?feature=player_embedded" width="400"></iframe></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-61171103261693503682018-03-19T03:37:00.002-07:002018-03-19T03:37:21.342-07:00Come on Apple ...<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-Q-Gc3n2vgSw/Wq-Sy7NeQWI/AAAAAAAACQ0/RsYYsGEnUyIift8MQxD0I7Q6CQe4pnlRgCLcBGAs/s1600/wide-weebly.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="342" data-original-width="1600" height="136" src="https://3.bp.blogspot.com/-Q-Gc3n2vgSw/Wq-Sy7NeQWI/AAAAAAAACQ0/RsYYsGEnUyIift8MQxD0I7Q6CQe4pnlRgCLcBGAs/s640/wide-weebly.png" width="640" /></a></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-83792678720143342792018-03-06T02:46:00.001-08:002018-03-06T02:46:44.318-08:00On the floor<div class="separator" style="clear: both; text-align: center;">
Two keys at once, because I had not yet tested that. Powered USB hub into £12 'not Apple' USB camera connector, into iPad Air so you can see the screen - the iPod Touch would be invisible at this distance. Mind you, the screen still only has the stupid spaceship on it.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/7DpXAgNGNXw/0.jpg" src="https://www.youtube.com/embed/7DpXAgNGNXw?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-26561042192146082312018-03-05T08:33:00.002-08:002018-03-05T09:21:10.687-08:00On the phoneEven better, on a 2012 iPod Touch, consuming less than 10% of the CPU, and quite happily synthesizing the organ while the GUI run's Apple's 'Game Demo' XCode project of the Phongy Spaceship.<br />
<br />
Great on channel 13, Swell on 14, pedals on 15.<br />
<br />
Next step, UI, then a trip to see Doug of Soundtestroom for a real demo, by somebody who can in fact play the piano.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/WM9hJ_nvLGU/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/WM9hJ_nvLGU?feature=player_embedded" width="320"></iframe></div>
<br />
Update - consumes under 10% os 2011 iPad 2. Nice.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-70043178883636729582018-03-01T14:06:00.002-08:002018-03-02T03:34:11.123-08:00Organ revoicedSo, during making of this pipe organ engine - actually way before that, when I was developing the Pi wavetable synth - I realized that pretty much anything that was a single, static wavetable sounded like a pipe organ. It’s just the way of things - not much else has an unchanging tone made up of a harmonic series. Your brain just goes ‘Yeah - that’s a pipe organ’.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-gKCGwB2kAZ4/Wph6uh-8LJI/AAAAAAAACQI/V24Ymt2gx-4sDEhqVyu61N4TRg3eBzwNQCPcBGAYYCw/s1600/75ECED0A-7CB1-433A-BA4F-E6B26EE09EF1.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="535" data-original-width="1028" height="207" src="https://2.bp.blogspot.com/-gKCGwB2kAZ4/Wph6uh-8LJI/AAAAAAAACQI/V24Ymt2gx-4sDEhqVyu61N4TRg3eBzwNQCPcBGAYYCw/s400/75ECED0A-7CB1-433A-BA4F-E6B26EE09EF1.jpeg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="color: #0000ee;"><u><br /></u></span></div>
<br />
So I have decided to take advantage of that, and turn real instruments into pipe organ stops via wavetables, and that the first released implementation of the organ engine will be a completely fabricated set of stops, based on wavetables populated via harmonic analysis of the real instrument sounds that pipe organs strive to emulate. Or at least approximate, if not emulate. So I sat for 3 hours today, doing harmonic analysis of violas, trumpets, clarinets, oboes, sopranos, and came up with this - a completely synthetic organ, completely imitative (apart from the two pedal stops and the Great Diapason Chorus, which are computed harmonic series - the only instrument that sounds like an Open Diapason is an Open Diapason!), and it really sounds very organy. So, onward - UI and port to iOS / AU. And also, see if it will run on a Pi Zero - it should, it only has 13 stops.<br />
<br />
<iframe allow="autoplay" frameborder="no" height="300" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/407132868&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true" width="100%"></iframe>
<br />
<br />
Actually, sod the UI, at least for the time being - first things first, get it running on iOS with no UI at all, just to see how well it runs on a variety of hardware. It looks like iPhone 6 is the currently oldest device you can buy new, so if it works on my old 5C I’ll be delighted. So, no more updates until I can post a video of it running on iPhone 5C!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-18241341291265320672018-02-18T13:53:00.002-08:002018-02-18T13:53:34.040-08:00Some organ audio examplesFor your entertainment and edumacation.<br />
<br />
<iframe allow="autoplay" frameborder="no" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/451877097&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true" width="100%"></iframe>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-78420136766773881052018-02-07T13:11:00.001-08:002018-02-13T15:02:44.161-08:00New reverbI just built a much nicer-sounding reverb than the one in my M3000 mellotron to try to eliminate the nasty metallic resonances and make the pipe organ sound more ‘churchy’, and in turns out to not only sound lovely but is also computationally only about 1/2 as costly as my old one.<br />
<br />
Sweet.<br />
<br />
Demo to follow at some point ...<br />
<br />
UPDATE - demo here, of the organ integrated into the synths bundle, with the new reverb integrated as well. Yay!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Y2yljfnPGQ4/0.jpg" src="https://www.youtube.com/embed/Y2yljfnPGQ4?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-5853481013957677862018-02-05T10:16:00.002-08:002018-02-05T10:16:42.578-08:00Organ latest - all stops testThe underlying model is approaching complete. I revoiced all 12 of these stops today and they now sound very authentic indeed.<br />
<br />
Still to do - transients. Then the engine will be deemed complete, and I can lash up a UI, get it onto iOS, turn it into an AUV3, get it on sale, then start on the St Just in Roseland model.<br />
<br />
If you want to see this version - Bath Preservation Trust / Bath Museum of Architecture - on the Pi, I can arrange that, but to make it happen you will have to buy it on iOS in enough numbers. Once enough money is raised for the Bath Preservation Trust, I will make it available on the Pi. I haven’t yet decided what ‘enough money’ is, but it will be a sensible amount.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Zf5xFUbJlMY/0.jpg" src="https://www.youtube.com/embed/Zf5xFUbJlMY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-27854740794078153952018-02-03T06:48:00.002-08:002018-02-03T06:48:19.456-08:00Missing fundamental!The pipe organ uses a version of ‘<a href="http://www.colinpykett.org.uk/parameter-estimation-in-synthesising-pipe-organ-sounds.htm" target="_blank">Trendline synthesis</a>’, in this case more accurate would be ‘trendline voicing’ as the actual synthesis is wavetable trajectory. I have slightly extended the 4-parameter trendline method described by Pykett to add one extra feature - an individual harmonic that can be boosted or cut. And I found a great use for this feature - implementing ‘missing fundamental’ in the pedals. The lowest C on the pedals at 16’ is about 32.7Hz, very much below what my little studio monitors can reproduce with their 5” ‘woofers’. So I can’t hear it. Worse, it is there, and is using up the dynamic range of the playback system. But by totally eliminating the fundamental - harmonic 1, cut down to zero - the pedal tones come through much clearer, with an implied but absent fundamental, and the whole system has more headroom as the sub-50 Hz stuff isn’t swinging the instantaneous DC value around. Nice to know the extended feature has a use. The intended use is for boosting outliers that would otherwise have been pulled down by the trendlines, but this is a great way to repurpose it. And cheaper than buying a subwoofer.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-77675588855780799102018-01-24T10:40:00.004-08:002018-01-24T10:40:58.855-08:00Pipe organ updateThe pipe organ code was modified the last two days to use a ‘<a href="http://www.colinpykett.org.uk/parameter-estimation-in-synthesising-pipe-organ-sounds.htm" target="_blank">trendline</a>’ method for voicing. This reduces the amount of data required to define a pipe to a handful of numbers, and will allow the entire parametric model of the St Just in Roseland church - some 32 stops, 35 ranks - to be encoded in a couple of kilobytes. Here is an early rendering - things will improve a LOT from here, this is using a small subset of the capabilities of this technique.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/f0sWR5Qa_uY/0.jpg" src="https://www.youtube.com/embed/f0sWR5Qa_uY?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<br />
<br />
Not bad, eh? Watch this space.Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-79873821885545672352018-01-21T11:29:00.002-08:002018-01-21T11:29:53.712-08:00Pipe organ - finally, a tune!So, this virtual pipe organ I've been 'working on' for over a year - I actually did enough work on it recently that it plays tunes. Check this out.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe width="320" height="266" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Rn4LDuB0HQU/0.jpg" src="https://www.youtube.com/embed/Rn4LDuB0HQU?feature=player_embedded" frameborder="0" allowfullscreen></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
There are two projects here. One to recreate the little chapel organ in the Bath Preservation Trust's museum, and this rendition of Toccata and Fugue in Dm is based on that organ. Still needs work, but all the stops are there, it does everything it needs to do. The other project is much bigger, the organ in St Just in Roseland church, which has 32 stops, some of them celestes and mixtures, so lots more ranks to simulate than the Bath organ. Work hasn't started on that, except to make sure the app will scale well to that number of stops. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
These will both be released as AUV3 / app for iPhone / iPad and maybe even Mac, in order to try to raise as much money as possible for both the Bath Preservation Trust and the St Just in Roseland church. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And the Bath organ model is DEFINITELY simple enough to run on a Raspberry Pi Zero - it currently runs in the Pi Synth codebase on my Mac at -O0 and barely dents the CPU. So we shall see where that goes. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Currently the workflow for capturing sounds is wretched. It goes - </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Sit in church, making field recording of entire organ, at octave intervals, for all stops. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Go home.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Per stop </div>
<div class="separator" style="clear: both; text-align: left;">
1) sit in Logic identifying 4 'characteristic waves' per stop</div>
<div class="separator" style="clear: both; text-align: left;">
=> early attack, mid attack, early sustain, late sustain</div>
<div class="separator" style="clear: both; text-align: left;">
2) run a tool to turn these wave cycles into 4x 1024 location wavetables</div>
<div class="separator" style="clear: both; text-align: left;">
3) synthesize samples from the wavetables</div>
<div class="separator" style="clear: both; text-align: left;">
4) import samples into sample replay engine</div>
<div class="separator" style="clear: both; text-align: left;">
5) audition - if it sucks, goto 1)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
1) takes hours, particularly if the branch in 5) is taken. So I'm aiming to replace this with an enhanced version of a 'trendline' system, and do a by-ear match of field recording notes to a trendline fit of harmonics. This should lead to a much faster set of 32 stops for the St. Just organ. An advantage of this is that the memory footprint of the app on disk is approaching zero - the trendlines require just 25 or so 7-bit 'MIDI bytes' to fully describe a note within a stop. So boot time will be insanely quick.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
I'll keep this place updated with audio examples as they emerge. Thanks for your patience out there, I haven't exactly been a faithful correspondent. </div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-71697963330927906362017-11-27T02:55:00.002-08:002017-11-27T03:19:04.730-08:00Novel British bird species ... Janelle Shane is to blame for this<span style="font-family: "verdana" , sans-serif;">So, <a href="http://www.corydora.co.uk/"><span style="color: #fff2cc;">my lovely wife</span></a> and I have been watching on Twitter, jaws dropping open in fascination and sides splitting in hilarity, as <a href="https://wandering.shop/@janellecshane"><span style="color: #ffe599;">Janelle Shane</span></a> comes up with neural net recipes, neural net first lines of novels, neural net everything, showing how, when left to their own devices, computers will never QUITE cross the uncanny valley. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">And we have just moved house (hence the Raspberry Pi Central Heating System, a project I haven't talked about yet on here, but I will!) and we have just installed a lovely bird feeder in the garden. With suet, mealworms and everything. Having already seen some beauties in the garden - firecrests, blackcaps - we wondered - quite how rare a bird can a Cornish garden attract, if it sits in a location so mild and exotic that we have <a href="https://www.flickr.com/photos/philatkin/38590722612/in/dateposted/"><span style="color: #ffe599;">alien Stick Insects</span></a> living in the bushes?! What about birds that don't even exist? </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">So we built a neural net on a discarded old MacBook (late 2008, the last NVIDIA Apple design win if memory serves) with a broken display, a broken trackpad and a temperamental keyboard. It was nasty. Instructions for getting char-rnn on Yosemite fell over all over the place. I gave up, and put a VirtualBox on it, then Ubuntu 16.x LTS, and started again. This also fell over all over the place, so I ended up randomly sudo apt-get installing all sorts of stuff, piping stuff (what the hell is pip? I'm a C++ guy, why should I have to do any Python, I'm not 11?!), lua install stuff (LUA!!! WHAT!?!? Isn't that for scripting pimps and murderers in GTA?!) and then finally, one whole Sunday later, the installation started to work on the test dataset, and some Fakespeare came out. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">It had been a long day, but we laughed at the bad 16th centuryisms. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">Now for the birds. My goode ladye found a list of every bird that had ever been seen in the UK, and that formed the neural net's training set. The problem is, this is a small training set. And neither of us have any clue how to drive any of this stuff. The torch-rnn ran, stopped after just 100 iterations, with a quality of 3.something. Which seems to be bad, absolute gibberish came out. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">We figured it needed a) a bigger training set and b) more reinforcement on how bird names are actually formed. So - and this probably breaks all the 'good behavour' rules of training neural nets - we just duplicated, then reduplicated, the reduplicated the set. 8 identical lists of bird names. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">Bingo. </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">So, may I present to you, in decreasing plausibility order, the birds we have spotted popping in to visit the new feeder in the garden from the uncanny valley beyond - </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<b style="font-size: 14.666666984558105px;"><u><span style="font-family: "verdana" , sans-serif;">Positive ID - we totally, definitely saw these</span></u></b><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Sofpint Warbler</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Wharbel</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Grasgle Dandwitt</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Black'st Gull</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Rock Onlew</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Malree Crow</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Gree's Warlew</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Lhig's Gold Ligbone</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Great Tert</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Lern</span><br />
<br />
<span style="font-size: 14.666666984558105px;"><span style="font-family: "verdana" , sans-serif;"><br /></span></span>
<span style="font-size: 14.666666984558105px;"><b><u><span style="font-family: "verdana" , sans-serif;">Fleeting glimpse - we *think* we spotted these </span></u></b></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Sand Sandarher'se Sardline</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Lesk Wrey Cirn</span><br />
<div>
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">lessern Hoetdpiwe</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Red S</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Lont Dudklar</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Wapilemind Gool</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Fosser-taroled Wanlocver</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Rodushans-neted Pelre</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Soanetark Wheavee</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Yoflin Shitten Terl</span><br />
<span style="font-size: 14.666666984558105px;"><span style="font-family: "verdana" , sans-serif;"><br /></span></span>
<span style="font-size: 14.666666984558105px;"><span style="font-family: "verdana" , sans-serif;"><br /></span></span>
<span style="font-size: 14.666666984558105px;"><b><u><span style="font-family: "verdana" , sans-serif;">Pretty sure we didn't see these, but we like to claim we did</span></u></b></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">VqmBourde</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Aacmfopor's Hlayy-niadey Gonifbpon</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Lwinttharcweut</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Rof-iasbeldecuiy Ghoobe</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">icacmaterninn</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">BuWseak</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Bmispiew-ree'w Parimatter</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Aoortagd Waoge</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">NregitbileB</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;">Aartbarded SsultesGit</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: 14.666666984558105px;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">Now it's clear that this was all just a long-winded excuse for us to build a neural net and feed it with bird names, because we wanted to see quite how it would mangle things, and some hilarious stuff came out. But what is starting to emerge is strange - it doesn't look like English, some of it looks Welsh or Cornish, but a lot of it looks like Old Norse. Is this thing actually being deep, and finding the buried language underneath all this that these bird names came from, dozens of centuries ago? Or am I just seeing patterns that aren't there? </span><br />
<span style="font-family: "verdana" , sans-serif;"><br /></span>
<span style="font-family: "verdana" , sans-serif;">This was great, despite the utter hell of installation. And now it's installed, you will hear more from this! I may yet try getting this stuff onto one of my unused Pi Model A units, because that will take up a lot less desk space than the MacBook, I have so many it will be genuinely free, and if I do, installation instructions will be posted.</span><br />
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-60911977573545018012017-11-27T02:21:00.002-08:002017-11-27T03:13:15.309-08:00Doctor Who rides again!I'm working on WiFi-ing up my house heating system, with a Raspberry Pi Zero W per radiator. The only 'it compiles and works' project I have on the Pi is hideously complicated and plays tunes, so I'm playing tunes again as the heating comes up. And I seem to be playing this tune a lot.<br />
<br />
But you know, he'll be back on screen at Christmas. And by the end of the show, he'll be a she. It will be ace.
So here's his favourite tune. Again! Run you clever boy!!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/y5ptPNnFn54/0.jpg" frameborder="0" height="320" src="https://www.youtube.com/embed/y5ptPNnFn54?feature=player_embedded" width="480"></iframe></div>
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-72670635069927251692017-06-08T10:40:00.001-07:002017-06-08T10:41:59.161-07:00Never say never again ...... as in, you know I kind of committed to never touch this codebase again? Well, I'm working on a digital pipe organ. It will strive to be an accurate emulation of the lovely little chapel organ in the Countess of Huntingdon's Chapel in Bath, A.K.A the Bath Museum of Architecture, and home to the Bath Preservation Trust. It will be an iOS app, and will raise much-needed funds for the Trust, mainly to keep their lovely organ in tune and playable, but also to fight the good fight and keep Bath as beautiful as its World Heritage status implies and deserves. Well, it transpires that the easiest way for me to get this digital pipe organ up and playable, and to debug it, is to build it within the Synth Collection.
So here I am again, making changes, playing the Doctor Who theme and Popcorn to make sure the changes have not broken anything, and real soon now, we will have a working pipe organ.
At least it hasn't taken me long to remember how all this stuff works!Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-23439608293493022012016-12-08T03:23:00.000-08:002017-12-01T14:29:47.581-08:00Goonhilly Earth Station - synths in space!Goonhilly Earth Station is the stuff of modern British science and technology legend. When Armstrong and Aldrin walked on the moon, Goonhilly received the signals and got them to the BBC for transmission, so that I could watch them at school explaining all to the headmaster. Ali hit the deck from a monster left from Frazier, and as a 10 year old kid I felt the blow all the way over in Sheffield, the first time he had ever been on the canvas as a professional - Goonhilly was picking up the satelllite TV relay. Alf Ramsey decided to 'save him for the semi', and Bobby Charlton's golden days were gone in a second half flurry of German goalscoring. Goonhilly beamed over the heartbreak from Mexico for us to to 'enjoy'. Freddie Mercury and Brian May stealing Live Aid from under the noses of the class of 76, thus proving to my eternal punk rocker shame that practising and playing well beats yelling and jumping around - Goonhilly. And The Beatles playing All You Need Is Love to the world in 1967. Goonhilly, again.<br />
<br />
What a place, and very fitting that music should be the thing that drew me to Goonhilly for the first time yesterday, when the brave new post-BT management of the Earth Station made the place into a BBC music venue for one day only. This was part of the celebrations of 70 years of Radio 3, the place had been decorated up a storm, and mince pies and mulled wine were made available during the soundcheck, where we met Paula Bolton who is the artist in residence at Goonhilly. She is doing great work to bridge the STEAM gap and expose the creativity of the technical team, emphasising the aesthetic beauty of satellite dishes and old school dot matrix print outs, dropping an artist's eye over the parabolic giants that dominate the local horizon, and making you look at things slightly differently than you did before. Bold management to insert art into this place, and I look forward to them pushing the STEAM agenda in the coming years.<br />
<br />
In true BBC tradition, on with the show, hosted by the excellent Sean Rafferty. The music was a joy, start to finish. With a loose space theme - actually, there was no theme at all, but space was mentioned a lot! But with a sort of non-existent space theme, proceedings kicked off in the only way they could, with Also Sprach Zarathustra. Played by the brilliant BBC Concert Orchestra brass players, the piece was augmented and morphed into something else entirely by the utter brilliance of Will Gregory's Moog Ensemble. Filtered resonant noise for the 'Life on Mars' Tympani, massed Moogs and Korgs and Rolands, a pair of wind controllers - Will playing a classic WX7 into a MIDI to gate / CV converter into a weather beaten Model D (as far as I could tell from my sideways view - but I'm not exactly encyclopaedic on Moogs) - transistors and synthetic sawtooths clashing with reality. Analog vs unalog?? And despite the kilowatts of amplification, the brass was louder. A brass ensemble on full blow is a terrifying racket... But it wasn't a contest, it was a celebration, and it was brilliant. The synth team appeared thrice more during the event. Noise Box was hilarious - a MIDI command stream broadcast to maybe 5 of the synths, just rhythmic pulses stripped of melody by the entire synths squad turning off their tuned oscillators. The MIDI was locally gate / CVd into each synth to free up the players to mess with EG release times, cutoff and resonance, and a few of the players were at it freehand, bashing away - no tuned oscillators at all, occasional pitched notes emerging from the clatter and hiss as filters went very resonant, but utterly brilliant, REAL music, from nothing but white noise. Awesome. Then some Switched on Bach, and I couldn't take my eyes off Ruth Wall throughout - she is so tiny, and her fingers flew, and frankly she is awesome. Must see her play the harp now I've seen her Korg-wrangling, and Hazel's no slouch either, no favouritism here, but really, Ruth's fingers - mesmerizing. Another BBC brass mashup closed the show, this time the theme from Vertigo, a perfect synths plus brass piece. I totally love Will's synth band, and since Goldfrapp have produced two of my favourite albums of the last 10 years it was mega special to shake the man's hand and chat with him afterwards.<br />
<br />
But it wasn't just a day of synthesizer celebration - we had the Truro Cathedral Boys and Girls Choir, and they were delightful. We had Ruth's fella playing some very minimal piano pieces - like latter day Sparks denuded of Russell, with the caffeine overdose and 'shrew chorus' removed. And a bunch of folks who I would now like to think of as dear old friends, having driven about 2,500 miles to see them 4 times in the last 6 weeks, the glorious Changing Room. Badly mixed- the only BBC faux pas of the day - but we didn't care, they were brilliant as always, and it was the first time we had seen them with both bass and violin. Mercifully my far too loud and way off key 'Row Boys Row' on the first chorus was missed by the BBC audience mic, so you can hear them without my hideous contribution from the audience on the iPlayer for the next 28 days, right here - http://www.bbc.co.uk/programmes/b084dclj<br />
<br />
Great day. An insight into how valuable the BBC is - all this work for just two hours of broadcast on just one channel - this was a celebration of excellent music, and a festival of proper analog synths. And I have to say, for the first time as I was listening to those things go en masse, I understood why analog purists really don't buy into soft synths. Those things were ferocious. I love the way my Virtual Analog synth sounds, it can do all sorts of stuff a Minimoog can't. But it is so not the real thing.<br />
<br />
So I enjoyed myself and learned something important. And shook Will Gregory's hand. Plus a cracking lunch at Amelie's in Porthleven. Yay!<br />
<br />
<b>UPDATE</b>
<br />
<b><br /></b>
You can all hear what the authentic, expensive Moog Ensemble (10 synths at about £3,000 each!) sounds like on the iPlayer link above, or by watching this -<br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/Yj3NS1iS69M/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/Yj3NS1iS69M?feature=player_embedded" width="480"></iframe></div>
<br />
Here's as close as I can get on a £4 budget. 8 Virtual Analog synths simultaneously executing on a Pi Zero, or 7 and a couple of non-VA synths to make up the numbers, plus 4 echo effects and a reverb, plus a wild and crazy waveform oscilloscope display - <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/kFwYwq_wSU8/0.jpg" frameborder="0" height="400" src="https://www.youtube.com/embed/kFwYwq_wSU8?feature=player_embedded" width="480"></iframe></div>
<br />
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-72155958224939521712016-11-24T01:46:00.004-08:002016-12-14T13:33:47.546-08:00All changeSynth work on the Pi has stopped. It is an ex project. It has ceased to be.<br />
<br />
Here is my new, productive and shiny life - enjoy <a href="http://www.pewtersky.com/">hand-cast pewter</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-84785607587537460592016-04-05T09:39:00.002-07:002016-04-16T09:17:32.866-07:00UpdateThe Synth Collection is going into deep hibernation as I focus on other stuff that requires focus. Like having a life, enjoying the nice weather, slowly updating iPad apps, volunteering for good causes. That sort of stuff.<br />
<br />
But it finds itself in very good shape as it does so. New (ish) stuff is :<br />
<br />
It now has MIDI filters. These are .so files that users write for themselves - coding!!! - and these filters extend the functionality of the sequencer part of the Synth Collection at run-time. They may be installed for the duration of a session or for just one song, or for just part of a performance. They work only on keyed / performed MIDI events (notes, twiddled controllers, bashed pads). Anything played as a result of having been programmed into the sequencer is executed as-is, with no filtering. The filters accept as input a single MIDI message, and output zero or more MIDI messages, and typically they input one, output one, selectively changing the contents of the message. Multiple - up to 8 at present - chained filters may be active at any one time. All the messages output by filter n will be processed as inputs by filter n+1. As a message exits the final filter in the chain it is passed through to the cluster of synths to be played or otherwise interpreted.<br />
<br />
This is the first time 3rd party code has been able to run inside the synth / sequencer setup, and the purpose of this in my mind - others will I am sure find other and better uses - is live rig setup. For example, I have a Novation LaunchKey. Given to me by Novation, so thanks for that. It is in fact pretty brilliant, but it doesn't have a Program Change control. But it does have a pair of round buttons on the far right of the keyboard that generate a pair of MIDI CC events on controllers number 104 and 105 respectively, with the data parameter at 127 on pressing the button, and 0 when releasing the button. Perfect candidate for a MIDI filter then, where these specific events are intercepted and converted to MIDI Program Change events for that MIDI channel. And as a result of implementing the filters I have been able to remove all the Launchkey-specifics in the code base, and push all that into a plug-in filter or two.<br />
<br />
Another use, which I totally love given my current fixation - <i><b>Swell to Great</b></i>. I'm going through a 'fascinated by church organs' phase, admiring pipes, looking lovingly at stops and pedals in churches, but didn't actually know what 'Swell to Great' meant or how it worked until last week, when a YouTube video showed me mechanical coupling of manuals for the first time. So now I have a 'SwellToGreat.so' filter that implements a Swell to Great lever, coupling and uncoupling NoteOn and NoteOff events from one channel to another according to the value of a CC, and dealing with all the corner cases around pulling or releasing the lever when notes are being played across the 2 manuals/MIDI channels. This one is wildly entertaining as twiddling the knob fast while bashing 2 keyboards can cause a veritable explosion of NoteOn and NoteOff events, a good testing corner case.<br />
<br />
And filters will I am sure have many more uses that I just haven't thought of yet - many of them around the next feature, which is 'drawbar organs'. The wavetable synth can now be programmed as if it were a Hammond / drawbar organ. People get jumpy when you say 'Hammond' because no, it IS NOT a Hammond, it has no programmable keyclick, no paraphonic percussion, no Leslie emulation. But yet, it is a drawbar organ and to my ears it sounds pretty sweet, Hammond or not.<br />
<br />
Anyway, in case you've forgotten, the wavetable synth lets you program a voice with 2 layers of 'wavetable trajectory', with up to 8 settings within each trajectory. The synth moves smoothly between these settings at a constant or 'tweaked constant' rate - time, time squared, sqrt(time) or exponential time / half-life - at independent rates per layer. Each setting along the trajectory is built from a linear blend of a pair of the built-in wavetables, so it all gets quite rich as notes evolve and morph during playback.<br />
<br />
The new stuff is a 'drawbar' mode which lets a trajectory be made up of drawbar settings, programmed with 'Hammond strings'. So you can ask for "528370621", it will set up the location in the wavetable as if it were a Hammond with that drawbar setting. To add spice and more harmonic richness to it, table zero (the one programmed above with a '5', the 16' / sub-octave / 'Bourdon' drawbar) can be any wave from the inbuilt set of tables rather than a sine wave. Here is a preset using drawbars -<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">preset:1 organs {</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>layer:0 drawbar:4,117,808000000,123,880808000,122,002673540,121,888405088, EG:0.003,0.0,0.999,500.0,0.004,0.0 lambda:0.0 lin:2 LFOsense:0.0,0.2 level:1.0 feet:8</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>layer:1 drawbar:4,117,808000000,123,880808000,122,002673540,121,888405088, EG:0.003,0.0,0.999,500.0,0.004,0.0 lambda:0.0 lin:2 LFOsense:0.0,0.2 level:1.0 feet:8</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><span class="Apple-tab-span" style="white-space: pre;"> </span>poly:4 bend:12,2 LFO:0.2,tri MOD:7.0,tri Bdrift:0.05 cutoff:0.6 mixmode:cross</span><br />
<div>
<br /></div>
a) yikes b) notice that both layers have identical settings. This seems a bit wasteful, but it does let one detune layer B against layer A for a big rich phasey experience.<br />
<br />
Having a drawbar organ sound evolving over time is a bit odd and not at all organy, so there is now a CC trajectory control. To get a believable drawbar organ tone you program in a trajectory that proceeds at zero speed, and the trajectory CC adds its value onto the trajectory parameter, giving you direct control of the trajectory parameter via a single knob to morph through up to 8 Hammond stop combinations. Couple that with MIDI filters and you are winning, you have an instant stage organ with fingertip control. How's that? Well, just intercept the Launchkey drum pads within a filter, and get them to push out 8 different trajectory CC settings instead of their built-in channel 10 NoteOn / NoteOff events. For just one song in a set you might need a Hammondish organ sound with a bunch of presets for first verse, first chorus, bridges, second chorus, giant mega finale - you can program up a single Hammond preset in the wavetable synth, and have the otherwise unused pads on your Launchkey be instant access stop settings for the organ. For the giant climactic stops you can also make the pads automatically ramp up the send amount into the Vibrato Chorus unit, and into the reverb, for genuine massive swelling organ magnificence. And if you program up 2 totally different layers, the LaunchKey has 16 buttons - you can set up 16 different stop settings picking from or blending between the 2 layers by setting the trajectory controller AND the layer mix controller according to a pressed pad. See what I mean about these filters being great? Really, this is too brilliant for words, plus it means I don't have to bust a gut adding features into the sequencer, I can let users do that. Big old win.<br />
<br />
'Hang on there daddio, back up a minute - what Vibrato Chorus unit?' you may ask. I shall assume you did ask - so, whilst implementing Hammond mode, I decided an LFO modulated pitch wasn't Hammond enough. It sounded cute and poppy, but way too Vox Continental. So I read up on stuff and added a cute modulation effect as 'delay slot 4'. Now when you plumb a synth's output to a delay input, delay units 0 .. 3 operate as before, but the new delay 4 is a 'Hammond Vibrato Chorus', and it sounds pretty brilliant. It is a very short delay line, maximum length only about half a millisecond, with the amount of delay driven by an LFO. The LFO waveshape is a stepped triangle so it has big chunks of time when the delay is constant, and the delays - the flat bits - are chosen to align as closely as possible to the delays induced by a physical Hammond Vibrato Chorus unit.<br />
<br />
Here's a very quick taste of the organness of it all -<br />
<br />
<iframe frameborder="no" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/251833373&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%"></iframe>
<br />
<br />
And the final new thing that I can think of is envelope control - at least of wavetable and SR synths - from CCs. So you can wiggle knobs to change any parameter of the envelopes, but the Launchkey only has enough knobs for me to mess with attack and release, as I have already got mappings for pan, reverb send, delay send, layer B detune, A/B mix and trajectory. It makes an otherwise somewhat lifeless sample replay setting much more interesting, electronic and 'synthesised' to have artificial attack and release behaviours overlaid on the sample recording, particularly release - a choir of Caitlins with soft attack and extended piano-like decay tails suddenly sounds only sort of human.<br />
<br />
So that's it - sounding awesome, and being put to bed.<br />
<iframe frameborder="no" height="450" scrolling="no" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/248040016&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&visual=true" width="100%"></iframe>
<br />
Anyone who is a genuine, serious musical artist / performer / composer / busker / synthband who would like to use these synths and the accompanying sequencer to invest time in learning and actually make and play music, please do contact me. Ditto school music departments who are willing to put some effort into this. Note, this is primarily a music thing, as opposed to being primarily a computing / software thing. I suspect the right people for this are either music departments with access to coders or with coding-capable students, or departments looking to STEAM as the next big thing, with the art . performing art as the focus, not the tech / coding piece. This is totally not about teaching 8 year-olds to code, it's about using low-cost computers to make music via high quaity synthesis.<br />
<br />
Be prepared to make a strong case for yourself - if I buy into it and believe in your commitment to using this, I may give you one (or 20/30 if you are a music department), and the support you need to make things happen with it. UK-based folks only, sorry to the rest of you.<br />
<br />
Anyone who sounds remotely tyre-kicky won't get a response. If you don't get a response but you aren't a tyre kicker, please don't be offended, I am going to be VERY VERY selective about any partnering with artists.<br />
<br />
Right, now to enjoy the sunshine for a few months.<br />
<br />
<br />Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5449753742785118251.post-904127737402230782015-06-26T13:44:00.003-07:002015-10-06T09:54:31.240-07:00Drop me a line if you are interestedInterested meaning, <a href="http://www.omenie.com/SynthCollection.html">commercially interested</a> -<br />
<br />
a) interested in licensing 3 amazing-sounding, ultra-efficient soft synth engines, destruction tested on a Raspberry Pi model 1, or<br />
b) interested in sponsoring 3 amazing-sounding, ultra-efficient synths to bring real music-making and real music education to every Raspberry Pi owner<br />
<br />
If you're just<br />
<br />
c) interested in getting a free collection of synths for your Raspberry Pi, drop me a line anyway, but do get somebody who is a) or b) to drop me a line as well, because 'getting a free collection of synths' will not happen without an a) or a b) in place<br />
<br />
Otherwise, have a really great day and keep searching for kitten videos.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/MM8ydwgLN6A/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/MM8ydwgLN6A?feature=player_embedded" width="320"></iframe></div>
<br />Unknownnoreply@blogger.com21