pheloniusfriar: (Default)
In April 2021, I came up with an idea on how I could keep doing the "radio" I loved to do, but walked away from because of... well, many reasons. I started in May 2021 with the idea of doing a show a week like I used to, but life imploded on me pretty hard. In the end, I managed to finish a full "season" of 26 shows through 2021 and into early 2022. I had planned to do a second season starting in May 2022 (a little less focused on trying to do it weekly and just getting it done), but in March 2022, and despite my masking and being fully vaccinated, I still caught COVID-19 because governments at all levels in Canada completely gave up on public health measures and it tore through the population. A mask helps, but mostly if everyone is wearing them, and only up to a point if it's in high concentration in the air. I spent most of 2022 recovering from Long Covid, and I'm still not done but I continue to improve a little bit at a time. Definitely better than having to decide whether to shower or eat one meal in a day (but not both because it was too much). Anyhow, even though all the shows were basically up in early 2022, I decided to be more consistent and clear with the formatting and text in the episode and commentary segments, and I finally finished all of that editing today. I have some other stuff I need to do, but I do hope to start production on Season #2 over the next few days (while I'm on a much-needed vacation for two weeks). It's a huge job, but I'm looking forward to selecting the tracks and starting on the massive amounts of research needed (I'm just a one person production team).

The Passionate Friar on YouTube is a “radio show” you can watch! These 1 hour (-ish) shows take you on a curated audiovisual journey with a mix of the music and videos and thoughts of well known and lesser known bands, artists, creative performers, and visionaries with an emphasis on great sounding music and, where feasible, innovative visual productions. The core of the idea is to duplicate the live broadcast album-oriented FM radio experience as much as possible. It is written and produced, and then presented just as I used to do my live shows on CKCU (93.1 FM in Ottawa/Gatineau, Canada): with no safety net or do-overs. I present my bits between the music sets – recorded in real time, and unedited as I listen and watch just like you – but instead of spinning vinyl or CDs, I am “spinning” YouTube videos, and use YouTube playlists to present the finished show instead of sending it live to a broadcast tower.

Here are the links to the 26 episodes:
EP01 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8yi__EUq4eGpA16m6bqTwx
EP02 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8YlBewMJOxm5vq4qcG25e0
EP03 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe-AGQ6XSRExy_dFsv8Snt0L
EP04 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8t12W9EBf_YG7Xz3raWxIP
EP05 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_LyalRkDlA0xB7bFwIyCyf
EP06 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe-3snMJ_KvT4UZl5B-fjJEi
EP07 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_mnTOgM3DX1imQALtIhSlT
EP08 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_A38bXrcF0oomcvRXMll3y
EP09 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe97OIh1sHUH16iWGN799vOo
EP10 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8htaLhY-IsyaVqCY-a6fUs
EP11 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8VxRCRH74ZO8_mgsPOkGQx
EP12 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_iCZ-KCrbE6vZ7GIzhDQfb
EP13 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8N-KvXUWg91SUGaxx3vkEi
EP14 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8dPxPHxCQe9A4la67Mb5k3
EP15 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8AFTi4gFYqK4OHYPT9mjv0
EP16 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_Gorg0wXB2yrrxuTe5gGMh
EP17 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8VDB5P6x1TY7AR2XK2RIkj
EP18 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_PQoQVFijpiTbKzetZrPJc
EP19 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe8IFbtTny6XdDdoHl1Z6Vea
EP20 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe93NLLlVluOR6ci9qX5xHr7
EP21 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe_2__2epLwyaT1mZQ5v8i0K
EP22 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe-dnDfBQwU8lHV8cd4U-oLK
EP23 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe9agMVfSk-7BE76uvyGBOdX
EP24 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe-iOGABeQK_EUCf2uiYwuh6
EP25 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe84zWZxqNeDo00ClqwztrHI
EP26 – https://www.youtube.com/playlist?list=PLcbc6Su4uUe9peM-rv4vEDZDEREv0K4la

Background:

I did a weekly show on CKCU 93.1 FM in Ottawa, Canada for over 7 years, but voluntarily hung up my headphones on Feb. 7, 2018. I dearly missed doing radio, and grew restless waiting for the opportunity to return to the FM airwaves under better conditions. I thought about podcasting, streaming, or even doing an underground production but the licensing aspect was always going to be a thorny issue – either trying to secure licenses for what I played, or dodging enforcement if I was going rogue. On Apr. 24, 2021 it occurred to me that as long as I didn’t include music with restrictive licensing terms in the segments with me in them, and only used the already-licensed content on YouTube as my media sources in a playlist on YouTube itself, I would have no need to deal with onerous licensing issues (or face liability for failing to do so)! As such, this idea for “Radio on YouTube” was born, and I set out to see if it would work. It is clear now the answer is a resounding “yes”! I’ve talked to a few people and they all seem to think this was a new idea, and since I hadn’t seen anyone doing anything like this before, it just might be. Regardless, I can say that I came up with it myself based on my time in broadcast radio, and do hope others start doing it themselves too – I love curated and contextualized music shows! Please help yourself to the format, it is freely shared... though crediting me for it would be appreciated if you could, not gonna lie.

Edit: I calculated it out (with the aid of an automated tools I wrote to do YouTube API queries and just modified earlier today to add functionality) and I did 125 scripted (and partially improvised) segments with me in them introducing and/or discussing the music in the episodes. When added up it came to 8 hours, 41 minutes, and 20 seconds of "live hosting" the show (with the music and other media, the shows add up to probably 30 hours or more of programming for one season). Each show probably takes about two hours to research and script, and then at least an hour or two of production work per episode (I don't edit the video, but I do have to upload and publish, and there's stuff I do on my end to archive the shows).
pheloniusfriar: (Default)
I am trying to automate, or at least streamline, the various production aspects of my weekly show.

e.g.



One of the silly things I had to do every week that would take at least 15 or 20 minutes was to extract the names of the various tracks from the playlist by hand after I chose and ordered the music to play that week (or just retype it if I couldn't get my cursor into the 2 pixel wide target to actually do a copy from the YouTube UI, ugh). I also did two versions of the song list: a bulleted version to put in the playlist and video descriptions, and a version with the runtimes for my script. Again, all the reformatting and stuff was a chore. After a fairly major learning curve, I was able to figure out the API, then automate the API query using curl, and then script as much of the stuff as I could to save me typing and frustration. I do open up the titles I extract from the various videos in the playlist automatically in emacs as part of the script because there is no standard formatting at all for them (it's a freeform text field and no two are alike it seems) – I do whatever editing I want to the song titles and add additional information I like to include (like if it's a cover or live, and where and when if so). When I save the file and close emacs the remainder of the script puts it all in the exact final format I want. Still some manual intervention, but much less fiddly work than I used to have to do.

Step 1: You need a Google account
Step 2: Create a project in the Google Developers Console
Step 3: Obtain an API key (it's free... supposedly allows up to 10,000 accesses per day without having to pay)
Step 4: You then need to enable the YouTube v3 API for you "application" (project)... this was a bit wonky for me. I think I just tried it without enabling the API and it gave me an error message with a link that let me do it easily
Step 5: Fart around with the URLs to do different things and look at the docs

It's all here: https://developers.google.com/youtube/v3/getting-started

Step 6: Modify the script below if you just want to query playlists on YouTube by putting in your API key in place of the [API KEY] text below. If you want to do something different, hopefully this gives you some ideas on how to best tackle your particular needs.

The script takes one parameter, the ID string of the playlist (e.g. for the playlist above, it's "PLcbc6Su4uUe8VDB5P6x1TY7AR2XK2RIkj"... you can get it by clicking on the title of the playlist at the upper right and then copying it from the URL after the "list=" prefix). It leaves two files: the playlist with the runtimes included at the start of the line, and the playlist just bulleted. The sed hexadecimal nonsense is because I wanted to use UTF-8 characters and the Linux utilities barf on them (in particular, the en dash [E2 80 93] and the bullet character [E2 80 A2]). The Google API queries return JSON data, but I just directly snarf what I need and remove the JSON tags and formatting... I am using very specific data, so it's easy to get it directly. The video title information and the running time information are in two separate databases, so I have to get the videoID of each of the videos in the playlist and query each video directly in a loop to get their runtimes. Lastly, the NO_AT_BRIDGE is to stop emacs (well, GTk) from bitching it can't find a particular resource (it's pointless and just bugs me).

Note: I'm thinking you may need to re-join the lines I split with "\" in the listing for clarity (especially the URLs ... the rest should be fine since it's just command-line stuff).

Edit 2021/10/18: I have made quite a number of changes to the script and it seems to do most of what I want it to do now. Here are the changes from the description above... it now generates four files: playlistBulleted.txt (track names with bullets), playlistMusicTime.txt (total running time of music that aren't my segments... Bash math is always weird to do), playlistURL.txt (saves the URL of the playlist), and playlistWithTimes.txt (track names with running times). It normally saves the files in a directory with the name "Show####-yyyymmdd", which the script gets from the playlist itself (I use the format like "Show #23 – The Passionate Friar on YouTube – 2021/10/03" and it pulls out the show number, zero pads it to the left, and gets the date and strips the forward slashes). If the directory does not exist, it is created, and a template script is copied into it along with the files generated by the script. If the directory exists, the files are just written into that directory (the template file is not overwritten so it doesn't trash my script if I've been working on it). If the "-t" flag is specified, it saves the files to "/tmp" rather than overwriting the files in the show's directory (which I have usually edited and don't want trashed... I just added that today, oh well). I also fixed a couple of bugs where the YouTube running time format "PT<minutes>M<seconds>S" could be "PT2M" if there were 2 minutes and 0 seconds, or "PT23S" if there were 0 minutes and 23 seconds. I saw both cases, but it is fixed now.

#!/bin/bash

saveInTmp=0

# -t causes it to save the files in /tmp and not copy the template script
if [[ $# == 1 ]]; then
    youtubeID=$1
else
    if [[ $# == 2 && $1 == "-t" ]]; then
	saveInTmp=1
	youtubeID=$2
    else
	echo "Usage: extractPlaylist.sh [-t] "
	exit 1
    fi
fi

# Relies on title being in a format like "Show #19 - The Passionate Friar on YouTube - 2021/09/05"

playlistTitle=`curl 'https://www.googleapis.com/youtube/v3/playlists?\
    part=snippet&maxResults=25&id='$youtubeID'&key=[API KEY]'\
    --header 'Accept: application/json' --compressed | \
    grep "\"title\"" | head -1 | sed 's/.*: "\(.*\)",/\1/'`

playlistNumber=`echo $playlistTitle | sed 's/.*#\([0-9]*\).*/\1/'`
playlistDate=`echo $playlistTitle | sed 's/.*#[0-9]*[^0-9]*\(.*\)/\1/' | sed 's/\///g'`
if [[ $saveInTmp == 0 ]]; then
    playlistShowName=`printf "Show%04d-%s" $playlistNumber $playlistDate`
else
    playlistShowName="/tmp"
fi

if [ ! -d $playlistShowName ]; then
    mkdir $playlistShowName
    cp 00-Script_Template.odt $playlistShowName/`printf "00-Script%04d-%s.odt" $playlistNumber $playlistDate`
fi

printf "https://www.youtube.com/playlist?list=%s\n" $youtubeID > $playlistShowName/playlistURL.txt

curl 'https://www.googleapis.com/youtube/v3/playlistItems?\
    part=snippet&maxResults=25&playlistId='$youtubeID'&key=[API KEY]'\
    --header 'Accept: application/json' --compressed | \
    egrep "\"title\"|\"videoId\"" > playlistInfo.txt

grep "title" playlistInfo.txt | sed 's/.*: "\(.*\)",/\xe2\x80\x93 \1/' > playlistNames.txt

grep "videoId" playlistInfo.txt | sed 's/.*: "\(.*\)"/\1/' > playlistIds.txt

rm playlistTimes.txt > /dev/null 2>&1

for i in `cat playlistIds.txt`; do
    curl 'https://www.googleapis.com/youtube/v3/videos?\
        id='$i'&part=contentDetails&key=[API KEY]' \
        --header 'Accept: application/json' --compressed | \
        grep "duration" | sed 's/.*: "\(.*\)",/\1/' | sed 's/PT\([0-9]*\)S/PT0M\1S/' | \
        sed 's/PT\([0-9]*\)M\([0-9]*\)S/\1:0\2/' | sed 's/\([0-9]*\):.*\([0-9][0-9]\)$/\1:\2/' | \
        sed 's/^PT\([0-9]*\)M/\1:00/' >> playlistTimes.txt
done

rm playlistIds.txt

paste -d' ' playlistTimes.txt playlistNames.txt | grep -v ".*Show.*PF #" > playlistInfo.txt

cut -d' ' -f1 playlistInfo.txt > playlistTimes.txt
cut -d' ' -f2- playlistInfo.txt > playlistNames.txt

rm playlistInfo.txt

export NO_AT_BRIDGE=1
emacs playlistNames.txt

paste -d' ' playlistTimes.txt playlistNames.txt > $playlistShowName/playlistWithTimes.txt

let minSum=0
let secSum=0
declare -i timeMin
declare -i timeSec

for timeStr in `cat playlistTimes.txt`; do
    timeMin=`echo $timeStr | cut -d':' -f1 | sed 's/0\([0-9]\)/\1/'`
    timeSec=`echo $timeStr | cut -d':' -f2 | sed 's/0\([0-9]\)/\1/'`
    let minSum=minSum+timeMin
    let secSum=secSum+timeSec
done

let minSum=minSum+secSum/60
let secRem=secSum%60

printf "%dm%02ds\n" $minSum $secRem > $playlistShowName/playlistMusicTime.txt

rm playlistTimes.txt

cat playlistNames.txt | sed 's/\xe2\x80\x93/\xe2\x80\xa2/' > $playlistShowName/playlistBulleted.txt

rm playlistNames.txt*

echo "Titles with times for Show #$playlistNumber:"
cat $playlistShowName/playlistWithTimes.txt
echo
echo "Bulleted titles for Show #$playlistNumber:"
cat $playlistShowName/playlistBulleted.txt
echo
echo "Playlist URL for Show #$playlistNumber:"
cat $playlistShowName/playlistURL.txt
echo
echo "Music running time for Show #$playlistNumber:"
cat $playlistShowName/playlistMusicTime.txt

exit 0

In case you hadn't guessed, this is mostly documentation for me when I try to remember what I did, but I do hope that someone with a similar issue finds it and saves some time with it.

If nothing else, if you don't care about my technical ramblings, I have provided an hour of music and commentary to make up for it (note: shameless plug ... and I legit do hear from folks that it's pretty good).
pheloniusfriar: (Default)
Just sent this one... hopefully it eventually lands on someone's desk that can look into it.

I am learning more about how YouTube handles audio. Most recently, I have read somewhere that any audio that is too loud has a normalization setting applied to it to bring it to -14 LUFS. Using the "Stats for Nerds" feature, it does look like this normalization factor is specified as a percentage of the full volume. A question I have not been able to answer is whether this is a factor applied on playback (e.g. normalized dynamically to 75% of volume control setting for one video I was looking at) or whether the normalization is "hard" applied and the "Stats for Nerds" is just showing the resulting loudness based on the volume control. Is there a public document that describes any of this?

So, here's the thing... I'm trying to put together playlists and the volume is all over the place, but I have realized that it is not because you normalize volumes down (e.g. one video had a content loudness of +2.5dB and had a normalized value of 75% at full [100%] volume, but another had a content loudness of +4.5dB and a normalized value of 60% and they sounded fine one after the other); but the issue is that there are lots of videos with low volume levels that are not normalized "up". These videos with low volumes all have normalized values of 100%, but content loudness levels all over the place (e.g. -6.6dB, -7.4dB, and -5.5dB for a few videos I had in my playlist, all of which where too quiet to play next to the properly normalized videos). My own spoken word videos end up with content loudness around -4.3dB when I use the automated normalization feature in the video editing software I'm using (and have a normalized setting of 100% on YouTube).

My feature request is this: to provide some way of normalizing volumes "up" for videos on a playlist that are not loud enough compared to your baseline loudness. This could be done in many ways, but providing a "feature enable" box on playlists to allow playback to be turned up would certainly be the most universal way of doing it. This would obviously depend on the player being capable of dynamically turning up the volume past 100%. The other way would be to run or re-run normalization on videos but allow them to be normalized up as well as down. For me, providing a setting that I could tweak myself on the playlist would certainly work for what I need... but that again would require a player than can increase the volume past "100%" based on input from the playlist. I would be happy to provide an example of a playlist (or you can look up my Show #2 for a representative example... the second set is much quieter than the other sets and to hear it I have to turn my volume up, but have to remember to turn it down for the next set or I blast myself out). Thanks.


Here's my Show #2 if you want to hear for yourself what I'm on about...
https://www.youtube.com/playlist?list=PLcbc6Su4uUe8YlBewMJOxm5vq4qcG25e0
pheloniusfriar: (Default)
I was a few hours late today getting it done and loaded onto YouTube due to an overabundance of family and household responsibilities (family takes precedence over any project like this), but it did at least get done. I know I need to choose my music and write the scripts over the course of the week if I don't want to wind up in a crunch like I did this time around.

I'm very pleased with the results I'm getting, both in terms of flow, and the way the show hold together musically and visually. The only downside is there are some people who aren't using an ad blocker, and I pity da foos! I have watched it without myself just to see, and it still works, but certainly doesn't flow as well (having to manually skip ads if they don't want to sit through them or have them play in the background).

I've also realized I don't need to make "public" the parts with me in it... I can leave these individual videos "unlisted" (which means you need to be given a link to see them) because they are on the playlist, and so people playing the show have access to them (I've had Happy check it out and they agree that it's working). So that people who subscribe to the channel get notified that a new show is available, what I will do going forward is post a short "intro" video that will have a link to the show's playlist that I will make "public". That means that only one new video a week for the show will be posted rather than a bunch, which even I thought was a bit cluttered and potentially confusing.

Here's the show:

https://www.youtube.com/playlist?list=PLcbc6Su4uUe-AGQ6XSRExy_dFsv8Snt0L

And, fwiw, here's my intro video (with a link to the show):

pheloniusfriar: (Default)
Well, I didn't want to be too hopeful that I'd put the necessary energy into it (and it's turning out to be more work than I had anticipated, at least at this stage of things), but I did manage to do my second show and posted it on schedule at 8PM today (Sunday). I'm, in general, pretty pleased with the way it's turning out. Anyway, here's the link if you would like to hear an hour of curated music (basically, a radio show on YouTube, as I've said... "radio you can watch").

https://www.youtube.com/playlist?list=PLcbc6Su4uUe8YlBewMJOxm5vq4qcG25e0
pheloniusfriar: (Default)
Launched on May 2, 2021: The Passionate Friar on YouTube!

Here's a link to Show #1:

https://www.youtube.com/playlist?list=PLcbc6Su4uUe8yi__EUq4eGpA16m6bqTwx

And the description I wrote for it (by way of introduction):

The Passionate Friar is a radio show on YouTube that you can watch! Every Sunday at 8PM, I will post a new 1 hour show that will take you on a curated audiovisual journey with a mix of the music and videos and thoughts of well known and lesser known bands, artists, creative performers, and visionaries with an emphasis on great sounding music and, where feasible, innovative visual productions.

Because of my radio roots, the focus of the show is on the audio experience, and the goal is to be able to enjoy the ride with or without needing to look at a screen. With that said, I do hope to also bring you exceptional video productions because, well, this is YouTube and there's tons of great stuff to see. A caveat: if there's a song/audio I want to play and there's no video for it, I'm going to use the audio-only version (usually it will have a still or if I'm desperate, ugh, a slide show) so I can still share it with you. My segments are recorded live and in real-time, and presented without edits, as I watch the videos myself; and then inserted into the playlist to form the show. It's the closest I can come to a live broadcast, with no safety net and no do-overs, in this new format I have chosen to work with.

I did a weekly show on CKCU 93.1 FM in Ottawa, Canada for over 7 years, but voluntarily hung up my headphones on Feb. 7, 2018. I have dearly missed doing radio since then and believed I would always end up returning to the FM airwaves, but have grown restless waiting for the opportunity. I thought about podcasting or streaming or even doing an underground production, but the licensing aspect was always going to be a thorny issue (either trying to secure licenses for what I played, or dodging enforcement if I was going pirate). On Apr. 24, 2021 I came up with this idea for "Radio On YouTube" (I've talked to a few people and they seem to think this is a new idea, but I stand to be corrected... I can say that if I'm late to the game, fwiw I did come up with it independently).

The core of the idea is to duplicate the live broadcast radio experience as much as possible. The show will be written and produced, and then presented live just as I would my radio show (recorded live, in real time, and unedited). Instead of spinning vinyl or CDs, I am "spinning" YouTube videos. The format does come with some vexing limitations: I can't voice over the music on its way in or out, I can't mix the tracks into each other (one video stops and only then the next starts, often with a short pause), and a lot of videos for songs feature additional sounds or audio modifications not in the "album track". I hope that does not detract too much from the production, and maybe YouTube will one day introduce proper mixing features (overlaying and fading the end/start portions of videos to allow for slicker production)? That'd be cool and would open up a whole new world of possibilities on the platform!

As for my former FM radio show, as I write this, several are still available "on demand" (they age out eventually due to music licensing restrictions for the station), and all my playlists are available if you want suggestions on "new to you" music to check out.

https://cod.ckcufm.com/programs/371/index.html?filter=all
pheloniusfriar: (Default)
Feature request for playlists.

Because different videos can feature dramatically different sound levels, I was wondering if a "volume control" could be added to the playlist editing functionality so I could equalize the levels on a playlist? I envision this working exactly like the "Replay Gain" metadata tag for MP3 files (the source material is untouched, but the player adjusts the volume up or down based on the tag). Conversely, if you wanted to get fancy, just including an optional "normalize audio" check box for playlists would be more usable by people without audio production experience. This is a simpler UI for YouTube users, but would require all videos to have their audio scanned at some point (maybe when added to a playlist with this feature enabled if it hasn't been done before, or for new videos as they are uploaded going forward?) and then storing the normalization information as meta data. To introduce the feature, a "generate normalization tag" could be a manual feature for people that wanted to use it on older videos (so only videos people listen to would have this done). If this meta data was on most (or even all) YouTube videos, users could choose that all videos they watch have normalized audio (by selecting that in their Settings). The video player would just have to recognize that meta data tag and adjust the volume automatically and accordingly. I understand that YouTube may be doing active normalization of audio levels on at least newer videos as they are uploaded, there are problems with older videos it seems, and sometimes even normalized audio next to other normalized audio sounds quieter or louder, so I still think this would be a useful feature. Lastly, even if there was just a manual "flag for normalization" for videos that haven't had it done already, that would be a very helpful feature (and it would only need to be done once per video).
pheloniusfriar: (Default)
Danz aka Computer Magic aka Danz CM (current handle) aka Danielle "Danz" Johnson just posted their back catalogue on Bandcamp and I am both extremely happy and lighter of bank account. I downloaded their early EPs when they first posted them to the Internet for free download over a decade ago and have been looking for a way to pay money to them for this music that I have enjoyed so much. This finally gave me the opportunity to do so (I will not give money to iTunes or Spotify and their ilk, and want to have either physical media or at least downloaded digital media so I am not reliant on such services for access). It's also very nice that Bandcamp lets me choose what audio formats I want to download. I get FLAC (lossless) and MP3 (with V0 encoding for size).

https://computermagic.bandcamp.com/

Anyway, the issue is that the Bandcamp filenames do not match the format I maintain my library in. I've downloaded albums before and renamed all the files manually, but the last time I got a few albums (Nash the Slash, another of my favourite artists), I knuckled under and wrote a script to mangle the filenames into the format I like: "<track_number>-<artist>-<song_name>.<suffix>" (there's also some stuff I like to do with special characters and such, like use "+" when the artist or song name has a "-" in it that I included). It's called (unimaginatively) "fix_bandcamp_names.sh". I unzip the files downloaded from Bandcamp into a temporary directory, cd into it, and run the script. When I'm done with the track names and such, I rename the directory to "<artist>--<album_name>". For MP3s, I have another script ("relabelmp3s") that I pass in the release year, and run in the directory with the MP3 file that sets the MP3 meta information based on the song and album names (it uses the "id3tag" program). The process does a pretty good job for me (some hand-tweaking of filenames post-processing is sometimes necessary as it's just mindless text substitution for the most part). Here are the scripts, you are welcome to use them or adapt them as you see fit. Yes, I use regexp stuff, so it looks like I had a seizure while typing (or barfed ASCII onto the screen).

fix_bandcamp_names.sh:
#!/bin/bash

for i in *.mp3 *.flac *.pdf; do mv "$i" `echo "$i" | sed 's/ /_/g'`; done
for i in *.mp3 *.flac; do mv $i `echo $i | sed 's/\(^.*\)_-_.*_-_\([0-9]*\)_\(.*$\)/\2-\1-\3/'`; done
for i in *.mp3 *.flac; do mv $i `echo $i | sed 's/_-_/+/g'`; done
relabelmp3s:
#!/bin/bash

if [[ $# != 1 ]]; then
    echo "usage: `basename $0` "
    exit 1
fi

for i in *.mp3
do
    id3tag -s"`echo ${i%.mp3} | cut -d- -f3 | tr '_' ' ' | tr '+' '-' | tr '=' ':'`" -a"`echo $i | \
        cut -d- -f2 | tr '_' ' ' | tr '+' '-' | tr '=' ':'`" -A"`basename $PWD | cut -d- -f3 | \
        tr '_' ' ' | tr '+' '-' | tr '=' ':'`" -y $1 -t`echo $i | cut -d- -f1` "$i"
done
"Some people, when confronted with a problem, think “I know, I'll use regular expressions.” Now they have two problems."
— Jamie Zawinski

I leave you with one of my favourite Computer Magic videos (and one of my favourite videos of all time... it really resonates with me).

pheloniusfriar: (Default)
To be honest, I have just been lucky beyond fucking belief. I finally implemented a backup for my server's database (honestly, there wasn't much in it, so it wasn't too big of a deal before now, but it is finally starting to have valuable data in it).

But before I get to the part that will drive most anyone away, Happy New Year everyone! In a bit of a strange fluke, I was informed about and got the 3 hour radio slot (normally two shows) on New Year's Eve! I hadn't been on the radio for nearly a year by that point, but I really like doing late night shows, and New Year's Eve or first thing in the new year (after midnight) are really fun to do. I get to play some of the new-to-me music I've found over the course of the year, and do try to put together a show that will at least get your toes tapping, but could be danced to in places, but doesn't drive people away from the station (that it'd be fun to have on in the background of a party). If you'd be up for 3 hours of generally upbeat, or at very least interesting and engaging music (and some hopefully not terrible short talk segments between long sets... there are no commercials, fyi), then this might be worth your time. Stream "on demand" 24/7:

https://cod.ckcufm.com/programs/161/40989.html (first two hours, filling in for Joe Reilly show)
https://cod.ckcufm.com/programs/56/40990.html (last hour, filling in for Meltdown show)

Just click on the "listen now" menu choice.

Now to the business at hand, feel free to skibidi ahead to the video if you're into those sorts of things. I finally wrote a script to do automated backups of my database system. It's not a true "hot" backup, but it's about as close as one can get without specialized tools. The fact I'm running a GNU/Linux with a full-featured Logical Volume Manager (LVM) means I can do an LVM snapshot of the database's Logical Volume (I have it mounted on "/var/lib/mysql", but it is a separate logical volume so I can do this sort of thing [at least I was clever enough to do that years ago when I set up the database configuration]). The trick is to use the "mysql" client, issue a "FLUSH TABLES WITH READ LOCK" command to flush the internal database buffers to disk while preventing access (generally a very fast process, but the lock is why it's not a fully "hot" backup), take an LVM snapshot of the database's logical volume (a very, very fast process as it is a copy-on-write mechanism), and then releasing the locks with an "UNLOCK TABLES" command from the "mysql" client. The trick is that you need to wait until the "FLUSH TABLES WITH READ LOCK" command is finished before doing the LVM snapshot, and you have to keep the "mysql" client open during all of this or it will release the table locks. To accomplish this, I used the Tcl/Expect framework. Once that was done, I mounted the LVM snapshot, fired up a second instance of MariaDB listening on a different socket than the running MariaDB used by the system, and do a "mysqldump" of the snapshot to a compressed file on a backup volume (on a different set of disks, to be copied to an offsite backup storage system from there) before unmounting and destroying the LVM snapshot. All of this last bit is done after locks have been removed, so it doesn't impact database performance. Also, because I'm doing a "mysqldump" of the snapshot (which dumps the databases as SQL text), it can be imported into any release of MariaDB (whereas the snapshot itself can only be loaded into the same version of the database system as created it). Here's the script (assumes a 40GB logical volume called "lvdbase" for the database in a volume group called "my_vg", calling the snapshot "lvdback", and a few paths and mount-points I created on my Slackware 14.2 system):
#!/usr/bin/expect -f

set db_passwd "<password>"
set backup_timestamp [exec date +%Y%m%d_%H%M%S]
set backup_filepath [file join "/var/backup/" "db_backup-${backup_timestamp}.gz"]

# Take safe snapshot of database
set timeout -1
spawn /usr/bin/mysql -u root -p
match_max 100000
expect -exact "Enter password: "
send -- "${db_passwd}\r"
expect -exact "> "
send -- "FLUSH TABLES WITH READ LOCK;\r"
expect -exact "> "
exec /sbin/lvcreate -L40G -s -n lvdback /dev/my_vg/lvdbase
send -- "UNLOCK TABLES;\r"
expect -exact "> "
send -- "exit\r"
expect eof

# Create portable archive of database backup using new database instance
exec /bin/mount /dev/my_vg/lvdback /mnt/db_backup

exec /usr/bin/rm -f /var/run/mysql/mysql-backup.sock

exec /usr/bin/mysqld_safe --no-defaults --port=3307 --socket=/var/run/mysql/mysql-backup.sock \
  --datadir=/mnt/db_backup --pid-file=/var/run/mysql/mysql-backup.pid --log-error=/var/lib/mysql/mysql-backup.err &

# Wait until database has socket set up
while {! [file exists /var/run/mysql/mysql-backup.sock] } {
    after 1000
}

exec /usr/bin/mysqldump -u root --password=$db_passwd --all-databases -S /var/run/mysql/mysql-backup.sock \
  | /usr/bin/gzip > $backup_filepath

exec /usr/bin/chmod 400 $backup_filepath

spawn /usr/bin/mysqladmin -u root -p -S /var/run/mysql/mysql-backup.sock shutdown
expect -exact "Enter password: "
send -- "${db_passwd}\r"
expect eof

# Clean up database snapshot
exec /bin/umount /mnt/db_backup
exec /sbin/lvremove -f /dev/my_vg/lvdback
There is obviously more error checking, but this is the backbone of the functionality that was needed to do the job. I then had to add the script to the "crontab" on my system. After a little poking, the way Slackware 14.2 does "cron" is pretty convenient if you're okay with their standard framework (the full "cron" system is also available, but I went with easy on this). In particular, there are four directories that one just has to copy executables into: "/etc/cron.hourly", "/etc/cron.daily", "/etc/cron.weekly", and "/etc/cron.monthly". In the "crontab" for "root" (in "/var/spool/cron/crontabs/root"), it has entries that invoke a helper script called "run-parts" that runs all the executables in the appropriate directories at the appropriate intervals. Easy peasy.

Edit (2020/04/28): It seems my system would sometimes leave the lvdback logical volume on the disk and caused the script to fail. Hmmm. I had to add the following little bit to the script to clean it up if it didn't get removed (that seems to be the only thing causing failure in the script). The line at the bottom is already in the script and the new check is right before it.
if { [catch { exec /sbin/lvdisplay /dev/vgexp01/lvdback } msg ] == 0} {
    exec /sbin/lvremove -f /dev/vgexp01/lvdback
    puts "\nRemoved unexpected lvdback logical volume"
}
exec /sbin/lvcreate -L10G -s -n lvdback /dev/vgexp01/lvdbase
I can't say enough about the effect this video had on me this past year (I only saw it for the first time last year). The visuals are so impactful. That there is not a scrap of CGI in it is almost impossible to believe at first... the scale and surreality of it is breathtaking. I find it conjures feelings of crushing loneliness in me, but to me that means that it's good art.

pheloniusfriar: (Default)
I hunger for new-to-me music and ran across this song by the French-Finnish The Dø a couple of months ago... and I can't stop listening to it! I started with the official music video, and just ran across this live performance today. I often worry about watching live performances of a song that has captured me, but this was breathtaking!!! I don't know that I really like much of the other stuff they've done, but there is something about the chord progressions and feel of this song that gets me every time.

pheloniusfriar: (Default)
What Do You Do When Your Falling,
You've Got 30 Degrees And You're Stalling Out?
And It's 24 Miles To Your Beacon;
There's A Crack In The Sky And The Warning's Out.

Don't Take That Dive Again!
Push Through That Band Of Rain!

Five Miles Out,
Just Hold Your Heading True.
Got To Get Your Finest Out.
You're Number 1, Anticipating You.

Five Miles Out,
Just Hold Your Heading True.
Got To Get Your Finest Out.
Five Miles Out,
You're Number 1, Anticipating You.

Mayday! Mayday! Mayday!
Calling All Stations!
This Is Golf-Mike-Oscar-Victor-Juliet
IMC CU.NIMB... icing,
In Great Difficulty, Over.

The Traffic Controller Is Calling,
"Victor-Juliet Your Identity.
I Have You Lost In The Violent Storm!
Communicate Or Squawk 'Emergency'!"

Don't Take That Dive Again!
Push Through That Band Of Rain!

Lost In Static 18,
And The Storm Is Closing In Now.
Automatic 18!
(Got To Push Through!) Trapped In Living Hell!

Your A Prisoner Of The Dark Sky,
The Propeller Blades Are Still!
And The Evil Eye Of The Hurricane's
Coming In Now For The Kill.

Our Hope's With You,
Rider In The Blue.

Welcome's Waiting,
We're Anticipating
You'll Be Celebrating,
When You're Down And Braking.



I still swoon for Maggie Reilly's voice... although I have no frickin' clue about the set and video work they did for it on this ToTPs kind of show. Weird!

Bonus track: a live version of Sheba off QE2! One of the best uses of vocoder effects I know of... ethereal! https://youtu.be/bGKZZd8u5Z4
pheloniusfriar: (Default)
Pro tip: don't listen to the song Sir Bodsworth Rugglesby III right before going to sleep or you will have really weird dreams!

Guru tip: listen to the song Sir Bodsworth Rugglesby III right before going to sleep and you will have really weird dreams!
pheloniusfriar: (Default)
... about standards, is that there's so many to choose from.

I am bashing myself senseless for days on the Timed Text Track API in Javascript/HTML5 in trying to use it dynamically with video playing on a canvas (I'm working on the v0.9 version of the demo for the revived Midnight Stranger... v0.8 introduced support for touch screens). Nothing seems to be working the way the specification indicates it should, so I'm debugging one micro-step at a time now. The only thing that is making it tolerable is that I'm listening to the Samorost 3 game soundtrack (by Floex). Such an evocative collection of music! I got the edition of the game that came with the soundtrack (in MP3 and FLAC formats) and a digital art book from the game :). I also got Samorost 2 and Botanicula to round out my game collection from that group (I have been playing Machinarium for years and still dust it off every once in a while... it's a puzzle game, so it has limited replay value until enough time has passed that I've forgotten the solutions, but the scenery, characters, and music is still great). You can play Samorost 1 online if you are so inclined... the other games also have teaser levels online as well :). Anyway, I haven't actually started playing Samorost 3 yet, but I am listening to the music, which is quite pleasant.

The animation in these kinds of games of reminds me of the animation in the short film Krapooyo by Yannick Puig... and one of my favourite "fan vids" where someone put music from the psychedelic band Schpongle over top of Krapooyo :) ...

Linux QoTD

May. 12th, 2017 12:07 pm
pheloniusfriar: (Default)
Every time I log into my server at home, I get a message from the "fortune" program (not "fortune -o", heh). I thought today's was worth sharing:

No one can make you feel inferior without your consent.
— Eleanor Roosevelt


It's good to keep in mind.

Today's media makes me gasp every single time I see it (and I've been watching it for over a quarter of a century ... not constantly, mind you)... to me, it's not just concert footage, it's like watching a geological event. There is something surprisingly transcendent about it (your mileage may vary). It also seems relevant to the quote :).

Cuttlefish

Apr. 28th, 2017 11:08 am
pheloniusfriar: (Default)
I get very emotional about cuttlefish.

Cuttlefish, like other cephalopods, have sophisticated eyes. The organogenesis and the final structure of the cephalopod eye fundamentally differ from those of vertebrates such as humans. Superficial similarities between cephalopod and vertebrate eyes are thought to be examples of convergent evolution. The cuttlefish pupil is a smoothly curving W-shape. Although cuttlefish cannot see color, they can perceive the polarization of light, which enhances their perception of contrast. They have two spots of concentrated sensor cells on their retina (known as foveae), one to look more forward, and one to look more backward. The eye changes focus by shifting the position of the entire lens with respect to the retina, instead of reshaping the lens as in mammals. Unlike the vertebrate eye, there is no blind spot, because the optic nerve is positioned behind the retina.

It has been speculated that cuttlefish's eyes are fully developed before birth, and that they start observing their surroundings while still in the egg.

Cephalopods are remarkable for how quickly and diversely they can communicate visually. To produce these signals, cephalopods can vary four types of communication element: chromatic (skin coloration), skin texture (e.g. rough or smooth), posture and locomotion. The common cuttlefish can display 34 chromatic, six textural, eight postural and six locomotor elements, whereas flamboyant cuttlefish use between 42 and 75 chromatic, seven textural, 14 postural, and seven locomotor elements.


While blogging is pretty spiff, and flapping my jaw and flailing my limbs seems to work okay, I am deeply humbled by our cuttlefish friends.

This post was brought to you by the song "Your Attitude Toward Cuttlefish" by the Winnipeg band Paper Moon, off the compilation album "For The Kids Two!" (which I was listening to while trying to learn a 3D solid modelling CAD program so I can do sketches for the projects I'm working on). I really do get emotional listening to that song, and it's one of my favourite pieces of music in the world for some reason (the reason actually eludes me... maybe it's the song... there is a rare innocence about it... maybe it's cuttlefish... if you ever lose me at an aquarium, just find the cuttlefish and I will probably be trying to interact with the denizens in the tank). I can't find a link to the song (Canadian indie music can be hard to find... sigh...), but I think it's on Spotify and other music services, none of which I have.

P.S. Cuttlefish = Aliens = Awesome! Right???
pheloniusfriar: (Default)
I have purchased all of FKA Twigs' albums (even imported one from the UK on vinyl because that was the only way I could get it in a physical format). I am quite engaged by her music and videos (much of which is fairly transgressive and unlike most other music). I have sometimes gone looking for live performances to see if she can perform her stuff live (some people are just studio artists, which is fine, I'm just curious). Most of the footage I have run across has been shot by fans in the audience (<flame>put down your fucking phones and experience life through your own senses, and stop shining your accursed screens in my face as you record you self-centered ... umm, dweebs ... and, ummm, get off my damned lawn! ... Seriously, I went to a fireworks competition and over half the crowd were watching it through their phones and I could barely see the night sky because of the blinding glare of hundreds of backlights ... it was one of the saddest, most pathetic things I have ever seen and sure sign we have lost our way as a "civilization"</flame>), and the audio sucked so hard I couldn't bare to listen, much less watch.

Anyway, I ran across this just now (still studying for my exam on Tuesday) and thought I would share. It was fascinating to see and hear how they brought the sounds of the music to life in a live setting. It was also really interesting to hear her talk (I think this is the first time I've heard her speak in an interview).

pheloniusfriar: (Default)
I am poking around my music collection (as a DJ, it's sometimes daunting) and I was fixing a few albums that I purchased as FLAC (I use ffmpeg to convert to MP3 if they don't come in both formats because I like having MP3 versions of everything for portability but listen to FLAC if I can)... sometimes the file name formats provided are not the way I keep my collection (<artist>--<album_title>/<track_number>-<artist>-<song_name>.mp3), so I have to change them to the correct format (for i in *.mp3; do mv "$i" `echo "$i" | sed 's/<before>/<after>/'`; done ... thank goodness for regexp ... also one of my favourite quotes: "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems" ;-).

Anyway, all to say that I settled on listening to Josie Charlwood's album "Pieces of Me" as I start to study for my final exam in advanced quantum mechanics on April 25th (whether I pass it or not determines if I graduate or not... no pressure O_o). Gods but I love this album! Equal parts evocative, technically brilliant (her live looped covers are stunning), and heart-rendingly beautiful from start to finish. As the description states, "This is the debut solo album from Josie Charlwood, recorded in 2011/12. All songs were recorded live in front of video cameras. No click tracks, no overdubs, no headphones, just solo live performances." You can see videos for all of her songs on this album on her YouTube channel, or listen to the album (and her other stuff) on her Bandcamp site. For all that she was very young when she did this album, her original compositions (all but two tracks are originals) stand out in a field of those with much more experience. Again, the whole damned thing is played live (with loops for some songs for layers... she also uses a TC-Helicon VoiceLive for live vocal harmonies and effects). There are so many turns of both lyrical and musical phrase that I find captivating it's hard to pick favourites, but two that get me every time are "Just One Look" and "Famous Green Eyes" (I have green eyes too fwiw). And yes, the fact I like this music tags me pretty hard as a hopeless romantic, heh. The one song that she does (a live-looped cover) that I wish had been on the album was her cover of Magnetic Man's "I Need Air"... but I present it here for your enjoyment (I hope):



(Most people are blown away by her cover of The Gorillaz's "Feel Good Inc.", which is here if you are so inclined: https://youtu.be/izrL7pBdkaw... I still like her original stuff the best though)
pheloniusfriar: (Default)
Well, I am finally back up to a basic operational level with Verilog coding... only to find out that the project I will be working with has been done in VHDL. While one language versus another is usually no big deal for me (okay, I hate C++, but I've been using it since the 80s when I worked on what was, at the time, the largest C++ project in the world and I'm good at it, but that doesn't mean I have to like it), VHDL has its roots in the Ada programming language D:. Why the grumblings? Ada was developed by the U.S. Department of Defense and is one of the most notorious Bondage and Discipline languages in existence. While B&D might be fine, it needs to be consensual and nobody ever asked me if I wanted the flagellations VHDL/Ada will entail ;).

It does remind me of an interesting side path in processor technology development from way back when... the Intel iAPX 432 system. By any measure, this was a complete failure for Intel (and the industry as a whole), but it introduced a number of features that we now see in most modern processors. I'm not going to go into it here, except to say that it supported object oriented data access and security control models at the hardware level, supported explicit hardware fault tolerance and multi-dimensional data busses, had superscalar processing elements, and so many other features that were too far ahead of their time (and thus made the system intolerably slow and cumbersome, and thus uncompetitive). I remember that the instruction set was actually a bitstream read into the processor in 32-bit chunks and parsed, and that instructions could be anywhere from 4 to 111 bits in length! It really was an engineering masterpiece, but I often mused that the people that worked on it must have been locked up in the loony bin afterward en masse (I think one of them went on to be CEO of Intel or something... maybe the same thing? Heh). Anyway, why I bring this up is the 432 was never meant to be programmed in assembly language or even "system" languages like C, but rather was designed such that Ada was essentially its assembly language. Perhaps that is another reason (maybe even moreso) for its demise ;). Sadly, VHDL is widely used in the electronics design sector, so it was inevitable that Ada would eventually catch up with me... I took two textbooks on VHDL out of the Carleton library on Wednesday and have started reading them. I am determined to progress, if equally resigned to my fate.

I'll make sure to leave a tube of lube on my desk as I work... it might make the proceedings a little more comfortable to me ;).

On a completely separate note, I am currently listening the heck out of Floex's album "Zorya" (Floex is the project of Czech composer, musician, artist, producer, etc. Tomáš Dvořák, who also did the gorgeous soundtracks for the delightful games Machinarium, which is where I first heard his work, and Samorost). The music on this album successfully pulls from so many different styles: prog, classical, industrial, pop, etc. and puts them together into what I find a very pleasing whole, blending acoustic instruments/sounds with synthesizers and samples. In particular, on one track (Forget-Me-Not), he plays piano and a clarinet without a mouthpiece that I can listen to over and over again... melancholy and evocative, it really floats my boat right now. The clarinet played like a trumpet has a very distinctive sound (to say the least) that makes that song stand out for me. There are many different moods throughout the album and even within the songs that keeps it interesting all the way through. It also features the best Yes song not by Yes I've heard in a while ("Precious Creature" featuring the vocals of James Rone), heh. You can listen to it free on his Soundcloud page (or listen to and potentially buy it at his Bandcamp site):

https://soundcloud.com/floex/sets/zorya

(the Soundcloud page is nice because it talks about some of the intruments and credits the other people that performed on the album... just click on "Show more...")

Edit: I started reading Douglas L. Perry's book "VHDL Programming by Example", Fourth Edition, McGraw-Hill, ISBN 0-07-140070-2. It bills itself as "the hands-down favourite user's guide to VHDL"; but good lard, what a disaster! I made it as far as page 4 and had already picked out typos and plain wrong information... the cruftiness was continued on page 5... and I have given up and tossed the book aside (gently, it's a library book). On page 4, they refer to the "counter device described earlier", but the only thing described earlier is a multiplexer (there's nothing else earlier in the book, this is the start of the book!). On page 5, it reprints a fragment of code from page 4 and says it's from the "architecture behave" code, but the code it is referring to is clearly "architecture dataflow". What a crock of shit (and it hasn't helped my opinion of VHDL any either, I might add, ugh). There does not appear to be any errata for this hunka-hunka-burning-turds. Let's try the other book I got from the library, sigh.

Second edit: I am now digging in to Peter J. Ashenden's book "The Student's Guide to VHDL", Second Edition, Morgan Kaufmann, ISBN 978-1-55860-865-8. I now know one of the reasons why VHDL has always seemed somehow wrong to me (while Verilog seemed a sensible approach in contrast). Quoting from the Preface: one pervasive theme running through the presentation of this book is that modeling a system using a hardware description language is essentially a software design exercise. And there you have it... VHDL became popular because it views hardware design as an exercise in software design. Since there are so many programmers in the world (thousands per hardware designer), it is a seductive statement that anyone who can write a program can design an integrated circuit. However, that is like saying that giving someone a Digital Audio Workstation (DAW) will allow them to effectively compose good music. Yeah, anyone using looping composition software can create something quite pleasing and often interesting, but it is not crafted in a way a trained composer or musician can do it. It is also much harder to innovate (music or hardware design) without deep training in the art in question. I find it interesting as well to note that there are thousands of folk musicians for every trained musician (I consider most rock, etc. kinds of folk music... and before you think I'm being snooty, I only do "folk" music myself in one form or another, and I have no pretentions about where my music fits into the spectrum of musical sophistication). I have done both serious hardware and software development (and I can do me a mess o' software... I've been programming complex and sometimes mission critical software for decades and I'm very good at it), but the two skillsets are radically different. Anyone with a VHDL compiler in one hand and an FPGA in the other can probably get something to work that'll do the job, but it is going to be sub-optimal in many potentially important ways (if not subtly buggy). This explains a lot of what I have seen lately with a number of ASICs, hmmm. The medium (VHDL) is the message.

I am starting to regret that I wasn't telling the truth when I said I'd keep lube by my side as I worked...
pheloniusfriar: (Default)
While much in the way of "music videos" are purely promotional, lack any form of imagination, and remain utterly forgetable; they are sometimes masterworks of visual engagement and storytelling — poetry in and of themselves on top of the music they were produced to live alongside. I have been interested in music videos my whole life (I used to watch the show "The Monkees" when I was young, which featured what can only be called music videos each episode), but for the most part, I saw them as a curiosity rather than a medium for short stories or as a means to engage with the watcher on an emotional level.

Back in the 1980s, I used to go to a club called Barrymore's in Ottawa, Canada that brought in some of the best acts of the day (from Rough Trade to Dread Zeppelin to Gwar... I even saw Hawkwind perform there, and that's another story in itself). At the time, they were one of the only places in Canada that showed music videos on a gorgeous and glorious huge screen with a state of the art (for the time) video projection system. It was revolutionary at the time and while waiting for concerts, I got to see the best videos available (they were curated for merit rather than for commercial purpose). I later made friends with Jeff Green and found out (years after we started hanging out) that he was the one responsible for this presentation that was so ahead of its time (years before MTV or Much Music or such), as he often is. Two videos in particular really changed my view of music videos and what they are capable of: "Age of Loneliness" by the German music project Enigma, and "Shock the Monkey" by UK artist Peter Gabriel.

"Age of Loneliness" took my breath away the first time I saw it, and opened my eyes to the potential of what became an artform to me in that moment. I still watch it often today, and it makes me feel the same way now as it did then. It tells a slice-of-life (death?) story, but more impressively it visually conveys emotion in a way that I associated more with poetry than film or video. For some reason when I see it, it reminds me of one of my favourite movies: "Wings of Desire", probably for its emotional tone. As for "Shock the Monkey", again it tells a story of sorts of spiritual awakening (a more violent and disruptive echo of the same message conveyed in his beautiful and powerful song "Solsbury Hill") as a deadly battle between Gabriel's conscious and unconsious minds. What is particularly interesting about Gabriel's video is that I hated, hated, hated the song! It has been overkilled on the radio and it sounded like so much more pop-infused claptrap to me after about the millionth time hearing it. But... when I saw the video, my mind was officially blown and I had to re-evaluate the song in light of what the video said about the song (that it had meaning that had been inaccessible to me the way I had been exposed to it by that point). I love the song now and consider the album with that song on it one of Gabriel's best (so fsck'ing intense!). I have since gone on to gather collections of innovative music videos — sometimes by musician, sometimes by director — and rummage YouTube and such looking for innovative music videos as time and patience allows (so. much. crap. ugh.). If you have any suggestions for stuff I should look at, please slide it my way :).

And... here they are. Note, the Enigma one is probably a bit NSFW due to near nudity; and the Gabriel one is probably the same due to extreme paganism and psychology, lol ;).



pheloniusfriar: (Default)
Nothing to say except "blub, blub, blub...".

Since there's a new Goldfrapp album on the way (March apparently), I'm listening to their stuff as I work (a brand new audio track from the upcoming album has been officially released here in case you are a fan/interested). And in case you haven't seen this particular Goldfrapp video... here you go. I love short films, and this succeeds so well in telling a story — but also in leaving so many questions unanswered to ponder.



It reminds me of this video from the band Árstíðir, based on an Icelandic folklore. Note: like many folk tales, this is creepy as fuck and more than a little gory, so be warned if you watch.



If you aren't completely breathless from that one (presuming you watched it), you had better get lots of oxygen into your system before watching this one (if you decide to go for the full triple bill). I'm going to go so far as to call trigger warning on this one... what trigger? No idea what your triggers might be, but there's probably one in here for you that you might not even know about (it is a brilliant video, but I can't say it's a particularly pleasant video). You have been double warned. From New Zealand, Sheep, Dog & Wolf (actually the solo project of Daniel McBride... written, performed, and produced by said same):



Need a palate cleanser or just want to skip to something less intense? Here's some Computer Magic (aka Danz aka Danielle Johnson... from Brooklyn, NY). She's a youngin' but has a great grasp of synthesizers and minimalist electronics/composition (that I'm a huge fan of in general, but she does it very well). Side note: she's big in Japan... the song is "Grand Junction". Lastly, the Árstíðir song/video above is not typical of the band, so here's another side of them (their more typical side), covering Simon and Garfunkel's version of "Scarborough Fair" live at Fríkirkjan. Beautiful stuff.

Profile

pheloniusfriar: (Default)
pheloniusfriar

May 2025

S M T W T F S
    123
45678 910
11121314151617
1819202122 2324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 4th, 2025 07:51 pm
Powered by Dreamwidth Studios