Showing posts with label music. Show all posts
Showing posts with label music. Show all posts

Thursday, 25 August 2016

Song Exploder


I've been listening to this podcast for over a year now after seeing it listed as one of the best holiday postcasts in the Guardian before our long driving holiday in 2015. It was also showcased in more detail in the Observer.



I took a bunch of unlistened episodes again on holiday this year and have listened through some of my old favourites again. What is so interesting is how widely varied the creative processes are between musicians and bands and how ideas come from the smallest of inspirations and are then honed and crafted. It's particularly interesting to hear how the musical and lyrical elements are developed together.

Here are some of my favourite episodes:

78 Grimes - Kill v. Maim
Interesting insight into the creative process, defining songs as either a kick-drum song or a guitar song. This track gets as much from the drums as possible with 40 layers of drum tracks!

76 Chvrches - Clearest Blue
I just love this band and have been listening to them for a while now. Their Glasto 2016 set was one of my highlights this year. It is interesting to hear their process and the idea of strarting the creative process with a set rules for the band, like a two chord rule and then breaking them.

66 KT Tunstall - Suddenly I see
KT Tunstall is amazing, from her first blow-away performance on Jools Holland using a looper pedal to the way that she plays acoustic guitar. The insight into the development of this track is how her producer identifies that her strong rhythm developed from busking was getting diluted by drummer layering over stock beats. This track is inspired by looking at artists you love.

43 Sylvan Esso - Coffee
I love the use of sound samples including the Little Tikes xylophone.

40 Ramin Djawadi - Game of Thrones theme
Everyone must have tried playing the catchy riff at some point! It's interesting hearing the development of the track and some of the derivatives including an 8bit version!

24 Tycho - Awake
Love the album, so it was interesting to hear the development process.

17 Anamanaguchi - Prom Night
I particularly liked hearing about the tech use of 8bit Nintendo sounds and the creative process around the use of synthetic vocals

9 Polica - Smug
And another exploration of how particular kit can drive the development of a song.

7 Jeff Beal - House of Cards
How the darkness and gloom was worked into this track to evoke a particular atmosphere.

6 Daedelus - Experience
I can remember listening this podcast at the end of a long drive last year. It only uses acoustic sounds with the interesting accordion riff that eventually  became part of a hip-hop classic!





Thursday, 11 August 2016

65DOS No Man's Sky


Well finally the wait is over. Returning from holiday I was happy to find a package containing the album of tunes by 65DOS inspired by creating the generative soundtrack to the endless universe game No Man's Sky.



Listening to it on the commute it's living up to expectations and continues the journey on from Wild Light. There's been quite a bit of press before (Guardian) and on release Metro and Digital Trends on the approach and challenges to making music this way.

And here's Debutante, the track that kicked off the collaboration:




Sunday, 26 July 2015

WOMAD 2015: Hannah Peel

Absolutely loved this set.... beautiful voice and wonderfully acoustic music box:

Tainted Love @ WOMAD



Blue Monday






Friday, 6 February 2015

The Sound of Space

Radio4 had a wonderful programme last week called the Sound of Space where Dr Lucie Green was joined by a number of cosmologist and astrophysicists who are using the data from space probes to present and give some feeling to the senses and experiences they are having during their interplanetary journeys.

There were some really fascinating eery sounds that are made that much more interesting and meaningful by understanding how they were collected and what effects they are representing. 

Following links from the programme it seems that there is quite a good community who are developing and presenting these sounds that really merits some more exploration.


Friday, 9 January 2015

Musical Symbols in WPF/Silverlight

I had some interest over this week looking at being able to show some musical symbols in a Silverlight / WPF application and had expected this to be a relatively simple thing but ended up chasing down quite a lot of little dark alleys until I found a couple of good answers. So, with my New Year's resolution of posting a lot more of these little thoughts, I'll see how far I can get describing the journey.

For starters I thought this would be simple. Everything is now unicode, right, they have Japanese, Korean, Maths notation and other symbols, there must be a code-page for musical notation. Yes! and well, no! If you go to the Unicode specification, there's a whole set of musical symbols defined. http://www.unicode.org/charts/PDF/U1D100.pdf Next bit of searching was to find a suitable font that had these symbols included. I finally found 'Symbola.ttf' which included it, but probably not my final font. Enough to try though. I dutifully installed this and then wanted to have a look at what symbols were there. The big problem is that these are in UTF-32. Take a look at charmap (on Windows), this only extends up to UTF-16. So I couldn't see them. Undeterred and still expecting this not to be a problem I had a long fight with Silverlight to try to get it to show this unicode encoding, finally giving up when I realised it only extended to UTF-16 (basically this means you can only go as far as \UFFFF or  as otherwise written. This is a problem, as the musical notation is all above that, with the treble-clef at U+1d120. Hmmpf.

So, where could I go then? I did have a poke around in some other fonts, and hoped that they would have musical notation in the private areas. More of which later, but at this point I didn't find quite what I was looking for and so, I'll continue my journey as it uncovered some other interesting things on the way to what I got to solve my problem.

Next step, I took a look at EasyABC, as I had posted previously I've been using this on my Mac and am really liking it, so I took a look at the package and the python scripts. First thing to note that the actual musical rendering is made by abc2ps, an excellent little project written in C. The musical format in this case was not quite what I was looking for (need to come back and detail a bit more when I get a chance).

After that, as I've been playing with it as well, I took a look at VexFlow. Now, this was interesting, digging down in the source on github, they have the file gonville.js  that appears to have some interesting path-like font descriptions. In trying to understand this I uncovered quite a long and interesting thread on pluggable fonts for VexFlow that I must go back and read in more detail.

The thread lead me on to SMuFL - Standard Music Font Layout (http://www.smufl.org/) - now I was getting somewhere! I had an interesting read around this and found the Bravura.otf OpenText format font. This revealed a number of interesting things - firstly it is available under the SIL Open Font license and secondly it implements all of the specified unicode musical symbol range U+1d100 - U+1d1dd, however these are mapped into the unicode Basic Multilingual Plane in the standard private area at U+e000 so fall within the scope of UTF-16 and hopefully usable by Silverlight! Now we're sucking diesel!

Next step I returned to the previous bashing of my head against a Silverlight wall and with a bit more googling, finally got the font in and showing a treble-clef. There's a quite a few false trails out there and the Silverlight route throws up some slightly different challenges to a standard WPF app, but the best advice was from Apres Pro Silverlight 5 in C# here on Font Embedding  It's important to follow the note on using the # to show the name of the font, not just the file containing the font.

My code directly in WPF finally looked like this...

<TextBlock Name="trebleclef" FontSize="52" FontFamily="/AgScore;component/Fonts/Bravura.otf#Bravura">&#xf472;</TextBlock>

In this case I have the Bravura.otf font file in a sub-directory called Fonts and the properties have Build Action set to Resource and Copy to Output set to Copy if newer. The name of my application is 'AgScore'. Nice!

Now, there's an interesting little note in the Apres book that says if you can't get this working for you in your app, then turn the fonts into graphics and use the Path notation. Nice! To backtrack a little. I had tried this unsuccessfully earlier when I took one of the lines of the gonville.js file path-like notation and had converted that into the path mini-language. It sort of worked, but I didn't have the energy to follow that through when I thought there should be a simpler answer and fond the SMuFL links. The little note in the book points to a link hich details how to get the text into a path string from code. I didn't want to fight this from Silverlight itself and the approach shown in the link uses a backend service by the looks of it, so I decided to bash at this directly in a C# application and get the path information to see how it worked. Here's how it looks:


    // Set up the Culture
    string strCulture = "en-us";

    System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo(strCulture);

    // Set up the flow direction
    System.Windows.FlowDirection fd = FlowDirection.LeftToRight;

    // Set up the font family from the parameter
    FontFamily ff = new FontFamily("D:\\Users\\gbcollia\\Documents\\Visual Studio 2010\\Projects\\AgScore\\AgScore\\Fonts\\Bravura.otf#Bravura");

    // Create the new typeface
    System.Windows.Media.Typeface tf = new System.Windows.Media.Typeface(ff,  
                                                                        FontStyles.Normal, 
                                                                        FontWeights.Normal 
                                                                        FontStretches.Normal);

    // Create a formatted text object from the text,

    // culture, flowdirection, typeface, size and black

    FormattedText t = new FormattedText("\uf472", ci, fd, tf, 20, System.Windows.Media.Brushes.Black);

    // Build a Geometry out of this
    Geometry g = t.BuildGeometry(new Point(0, 0));

    // Get the Path info from the geometry
    PathGeometry p = g.GetFlattenedPathGeometry();

    // Get the path data info
    string pathdata = p.ToString();

  
I then unashamedly  pasted this path data into a path in SIlverlight to see how that looked as follows:

<Path  Stroke="Black" Fill="Black" StrokeThickness="0.1" Height="80" Width="30" Margin="0" Data="F1M8.81999969482422,38.7800025939941L9.28749942779541,41.7350006103516 9.67999935150146,44.3600006103516 11.2150001525879,43.2925033569336 11.6999998092651,41.6400032043457 11.6999998092651,41.4200019836426 11.4496870040894,40.2987518310547 10.852499961853,39.4700012207031 8.81999969482422,38.7800025939941z M6.83999967575073,33.4400024414063L4.96499967575073,34.8790626525879 3.37499976158142,36.4025001525879 2.27250003814697,38.1846885681152 1.85999989509583,40.4000015258789 1.85999989509583,40.560001373291 2.47249984741211,42.6812515258789 3.86499977111816,43.9550018310547 5.6399998664856,44.5762519836426 7.39999961853027,44.7400016784668 8.69999980926514,44.5800018310547 7.67999982833862,38.8800010681152 6.2024998664856,39.4775009155273 5.70843744277954,40.080940246582 5.51999998092651,40.9600028991699 5.51999998092651,41.1599998474121 5.94499969482422,42.2800025939941 6.6399998664856,42.9200019836426 6.94000005722046,43.2800025939941 6.69999980926514,43.4400024414063 6.27999973297119,43.3600006103516 4.96999979019165,42.4300003051758 4.1399998664856,40.7200012207031 4.01999998092651,39.8400001525879 4.26656246185303,38.5371894836426 4.94250011444092,37.3675003051758 5.95218753814697,36.4340629577637 7.19999980926514,35.8400001525879 6.83999967575073,33.4400024414063z M9.17999935150146,22.7200012207031L8.14781188964844,23.1481266021729 7.41749954223633,24.1650009155273 6.83999967575073,27.0800018310547 6.87999963760376,27.8000030517578 6.92999982833862,28.1550025939941 7.03999996185303,28.7800025939941 8.40062522888184,27.6990642547607 9.34500026702881,26.7775020599365 10.2399997711182,24.7600021362305 10.2799997329712,24.3200016021729 9.97749996185303,23.1150016784668 9.17999935150146,22.7200012207031z M9.03999996185303,18.8200016021729L9.49499988555908,19.1025009155273 9.96812534332275,19.6721897125244 10.5199995040894,20.7200012207031 11.1599998474121,22.6350021362305 11.3800001144409,24.5200023651123 11.188437461853,26.9756278991699 10.5675001144409,29.1500015258789 9.4478120803833,31.1293754577637 7.75999975204468,33 8.01000022888184,34.2675018310547 8.26000022888184,35.7000007629395 8.51999950408936,35.6600036621094 8.73999977111816,35.6600036621094 10.5046873092651,36.0125045776367 11.9224996566772,36.9800033569336 12.8940620422363,38.4275016784668 13.3199996948242,40.2200012207031 13.3199996948242,40.5 13.0853118896484,42.0806274414063 12.4025001525879,43.4550018310547 11.3034372329712,44.5668754577637 9.81999969482422,45.3600006103516 10.1674995422363,47.5149993896484 10.2784376144409,48.1106262207031 10.3199996948242,48.3199996948242 10.4399995803833,49.7000007629395 10.071249961853,51.6768760681152 9.15499973297119,52.9900016784668 7.97624969482422,53.7331275939941 6.81999969482422,54 6.35999965667725,54.0200004577637 4.38562488555908,53.6465644836426 3.23999977111816,52.7425003051758 2.70937490463257,51.6321868896484 2.57999968528748,50.6399993896484 2.61249971389771,50.1400032043457 2.65999960899353,49.9400024414063 3.48749995231628,48.3775024414063 5.07999992370605,47.7600021362305 5.98000001907349,47.9600028991699 6.86999988555908,48.7550010681152 7.15999984741211,49.9400024414063 7.15999984741211,50.0800018310547 6.97531223297119,50.8746910095215 6.50749969482422,51.4725036621094 5.23999977111816,52.1600036621094 4.73999977111816,52.2800025939941 4.55999994277954,52.4400024414063 4.73999977111816,52.6600036621094 6.39999961853027,53.060001373291 6.77999973297119,53.060001373291 7.296875,53.0031280517578 8.19999980926514,52.6350021362305 9.05812454223633,51.6593780517578 9.4399995803833,49.7800025939941 9.31999969482422,48.4200019836426 8.85999965667725,45.6400032043457 8.76000022888184,45.6400032043457 7.39999961853027,45.7200012207031 4.93343734741211,45.4071884155273 2.63749980926514,44.3575019836426 0.877812504768372,42.4040641784668 0.0200001019984484,39.3800010681152 1.21159985155828E-07,38.7800025939941 0.558125019073486,36.0762519836426 2.00499987602234,33.6650009155273 3.9993748664856,31.5012512207031 6.19999980926514,29.5400009155273 5.96000003814697,28.2800025939941 5.81999969482422,26.2600021362305 6.05593729019165,23.6968765258789 6.71749973297119,21.5050010681152 7.73531246185303,19.8306274414063 9.03999996185303,18.8200016021729z"/>


Very nice. I had a treble-clef, although not quite how I wanted it. So, after a quick, lazy google, I scaled using this suggestion (http://stackoverflow.com/questions/5109058/wpf-the-right-way-to-scale-a-path). Omitting the path data for clarity:

        <Path  Stroke="Black" Fill="Black" StrokeThickness="0.1" Data="..."
               Height="80" Width="30" Margin="0" RenderTransformOrigin="0, 0">
            <Path.RenderTransform>
                <ScaleTransform ScaleX="4.2" ScaleY="4.2"/>
            </Path.RenderTransform>
        </Path>

This pretty much gets me what I wanted. Now, I just need to do a simple routine to export all of the fonts I need into paths, put them into a separate XML file (or similar) and I can use them in Silverlight programmatically to render some nice graphics.


Hope this is of use to someone else struggling with the same questions. 

Monday, 5 January 2015

VexTab for Guitar TAB Editing

Following on from looking at ABC Notation and EasyABC, as my usual dabbling is with a guitar, I wanted something just as simple this which would allow me to jot down melodies along with chord progressions and lyrics but also in TAB.  Given what we have with web technology, it's sad that so much is still put into ASCII and then painfully rendered on forums detailing various riffs and licks. There should be a better way. Surprisingly there is not that much out there.

After a bit of searching I came across VexFlow and VexTab notation originally by 0xfe touting itself as HTML5 music engraving. Poking around a bit and messing around in the playground, it seemed to be just the thing. Great! No need to re-invent the wheel! I particularly liked that VexTab seems to allow entry in score or Tab and if entered in Tab optionally the score could be shown as well. I did find the score entry a little klunky compared to EasyABC, but the Tab entry seemed pretty fine, although getting the score to match exactly what I wanted was a bit harder than I hoped for getting the beaming right.

After trying the online playground, I downloaded the source bundle and played myself from the web-page locally (I wanted to stretch the display over more than 3 bars each line - I finally found an easier way to do this using options in the first line).

Using Silent Night again (not a very rock selection, I know!), it looks something like this in VexTab



And renders like this in the online playground:



Cool! Not quite so neat and succinct as ABC Notation, but it sort of does the job. My real gripe is that I just could not seem to figure out how to get text/lyrics to align no matter how much I followed the tutorials or tried to work this different ways. I'll need to give it more of a look.

Now, ideally if there was some sort of harmony between EasyABC and VexTab we'd really be somewhere.



Abc Notation and EasyABC for Music Editing

A number of times last year I had the need to be able to quickly jot down some musical melody and the accompanying chords and lyrics and most times either resorted to some quick home code or bashing it into the relevant tool - Word, Excel or scoring software depending on the immediate need. In early Dec I was looking for some traditional English tunes and bumped into ABC Notation. How could I have missed this! Apparently I'm not the only one as one of my more musical colleagues had never heard of it either.

There's a whole bunch of traditional tunes at Traditional Music UK with guitar and mandolin tabs if that's your thing. 

There are a number of really good tutorials on ABC Notation most of which are referenced from the main website, which also has a search reference for tunes marked out in the notation. The latest standard is ABC Notation V2.1. I'm going to call out the excellent two page reference from Stephen Merrony as particularly worthwhile getting hold of, along with the tutorial on LeSession as it was the one I read as I dipped my toe in. Such an excellent resource, it's been a gold-mine to look at over Christmas. 

I've been using Nils Liberg's EasyABC on the Mac and it's fantastic. Really pleased how this just does the job I'm looking for. Easy to use, has pretty much all the functions I need, free and allows export in a number of different formats. What's more, it is open source, and although Python is not my tool of choice I like having the opportunity to contribute or be able to add in my own export if needed.

The strength of ABC is that it does seem to be succinct, concise and just gets the job done without too many flourishes to worry about, but the back-up when those niggly little notation bits are needed. Admittedly my needs are modest, so it might run into barriers trying to use it for orchestral scores, but that's not my bag (at the moment!). The only thing I frustratingly couldn't work out how to do was to show a muted note. If anyone knows how to do this, please drop me a note!

This is how Silent Night looks in ABC Notation:



And the corresponding score:





Tuesday, 30 December 2014

Electric Light Orchestra of the 90s - Quiet Ensemble

I came across this from Wired in my Christmas catch-up reading and really liked it. As with my previous post, I'm going to make a comment and get this up online and maybe add to it later rather than taking the time to follow-up everything that is interesting about it and then post.


This has nothing to do with the ELO of the 70s from Brum, but Quiet Ensemble, a duo of Italian artists who have taken electronic Elightenment as an opportunity to produce a unique sound from the barely and inaudible electromagnetic effects from different light appliances. It's really hard to describe this without visualising and hearing the concept. Thankfully you can see the conceptual build up on Vimeo.




Saturday, 6 December 2014

Spiro @ South Street and The Vapourer Moog

Had a fantastic evening just before we get into the Christmas rush to see Spiro. I first saw them at WOMAD about 6 years ago and have long enjoyed their music. And what a treat it was to listen to them in more intimate surroundings at South-Street with some cabaret style tables. Each of the members took a turn in explaining the songs and bringing about a wonderfully dream-like state of enjoyment from the musical patterns and melodies.


In the interval I purchased the one EP we don't have at home, The Vapourer which includes an int

eresting version of some songs using a Moog to complement their traditional instruments. I asked Alex Vann, the Mandolinist how this had come about. He said that Adrian Utley (of Portishead) and fellow Bristolian had suggested it as the instrument would complement their sound. And indeed it does. As the quote on the RealWorld records site says:

A new six-track mini album featuring Moog synthesizer mixes by Adrian Utley (Portishead), which transport Spiro's music to an ethereal place somewhere between Sci-Fi, Bach and Kraftwerk - plus a new recording and three dazzling live tracks from WOMAD Charlton Park 2012.