Skip to content

Commit

Permalink
mostly-complete first draft
Browse files Browse the repository at this point in the history
  • Loading branch information
malcolmsailor committed Feb 20, 2021
1 parent 4fc3e0c commit 47d4a0c
Show file tree
Hide file tree
Showing 73 changed files with 497 additions and 122 deletions.
19 changes: 19 additions & 0 deletions TODO
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- setup custom domain
- about:
- revise write-up
- research:
- add CV
- abstracts for other papers?
- front page
- remove "under construction" and temporary posts

After posting:
- Koechlin intro, abstract, examples
- SMT intros, abstracts
- make some posts for the main feed
- music:
- post scores
- writeup re: film music

Eventually:
- clean up images I am not using
9 changes: 8 additions & 1 deletion _coding_projects/efficient_rhythms.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
---
title: Efficient rhythms
external_url: https://github.com/malcolmsailor/efficient_rhythms
docs_url: https://malcolmsailor.github.io/efficient_rhythms/
---

Content goes here.
[Efficient rhythms]({{ page.external_url }}) is a Python tool for musical composition. In short, it generates loops, and then transforms them according to a chord progression. There are many parameters that control the nature of the loop and the chord progression. The [documentation]({{ page.docs_url }}), though still very much a work-in-progress, has an [accessible introduction]({{ page.docs_url }}#how-it-works) with many musical examples.

Here's an example of the results:

{% include youtube_work.html title="Welcome (to my nutso garden)" %}

More examples can be found at the [algorithmic music](/music/#algorithmic-music) section of my page.
8 changes: 6 additions & 2 deletions _coding_projects/midani.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
---
title: midani
title: Midani
external_url: https://github.com/malcolmsailor/midani
---

Content goes here.
A few years ago, I got interested in providing visual animations to accompany my music online. [Midani]({{ page.external_url }}), a Python script for making piano-roll animations, is the result. Here's a silly example of the results I made for Christmas 2020:

{% include youtube.html youtube_id="PMhkEmgtcGY" %}

More examples can be found [here](/music/#animations).
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ collections:
- octicons

header_pages:
- music.md
- music.html
- music_theory.html
- coding_projects.md
- about.md
Expand Down
17 changes: 17 additions & 0 deletions _includes/bandcamp.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- <iframe style="border: 0; width: 350px; height: 470px;" src="https://bandcamp.com/EmbeddedPlayer/{% if include.album_num %}album={{ include.album_num }}{% else %}track={{ include.track_num }}{% endif %}/size=large/bgcol=ffffff/linkcol=0687f5/tracklist=false/transparent=true/" seamless>
<a href="{{ include.url }}">
{{include.title}}
</a>
</iframe> -->

<!-- <iframe style="border: 0; width: 100%; height: 120px;" src="https://bandcamp.com/EmbeddedPlayer/{% if include.album_num %}album={{ include.album_num }}{% else %}track={{ include.track_num }}{% endif %}/size=large/bgcol=ffffff/linkcol=0687f5/tracklist=false/artwork=small/transparent=true/" seamless>
<a href="{{ include.url }}">
{{include.title}}
</a>
</iframe> -->

<iframe style="border: 0; width: 400px; height: 241px;" src="https://bandcamp.com/EmbeddedPlayer/{% if include.album_num %}album={{ include.album_num }}{% else %}track={{ include.track_num }}{% endif %}/size=large/bgcol=ffffff/linkcol=333333/artwork=small/transparent=true/" seamless>
<a href="{{ include.url }}">
{{include.title}}
</a>
</iframe>
32 changes: 32 additions & 0 deletions _includes/header.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!-- based on minima's header.html -->
<header class="site-header" role="banner">

<div class="wrapper">
{%- assign default_paths = site.pages | map: "path" -%}
{%- assign page_paths = site.header_pages | default: default_paths -%}
<a class="site-title" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>

{%- if page_paths -%}
<nav class="site-nav">
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger">
<span class="menu-icon">
<svg viewBox="0 0 18 15" width="18px" height="15px">
<path d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.032C17.335,0,18,0.665,18,1.484L18,1.484z M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.032C17.335,6.031,18,6.696,18,7.516L18,7.516z M18,13.516C18,14.335,17.335,15,16.516,15H1.484 C0.665,15,0,14.335,0,13.516l0,0c0-0.82,0.665-1.483,1.484-1.483h15.032C17.335,12.031,18,12.695,18,13.516L18,13.516z"/>
</svg>
</span>
</label>

<div class="trigger">
{%- for path in page_paths -%}
{%- assign my_page = site.pages | where: "path", path | first -%}
{%- if my_page.title -%}
<a class="page-link" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
{%- endif -%}
{%- endfor -%}
</div>
</nav>
{%- endif -%}
</div>
<img class="banner-img" src="/assets/images/reeds_cropped_2500x139.jpg" alt="Saskatchewan lakeshore">
</header>
8 changes: 3 additions & 5 deletions _includes/hide_and_show_header.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
<!DOCTYPE html>
<script type="text/javascript" src="/assets/js/hide_and_show.js"></script>
<!-- TODO move this style sheet to a more general header -->
<link rel="stylesheet" href="/assets/css/styles.css">
</html>


<p class="hide-and-show-preamble">{% if include.preamble %}{{ include.preamble }}{% else %}Click on the titles below to see more about each item{% endif %}</p>
20 changes: 20 additions & 0 deletions _includes/hide_and_show_item.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<div class="block">
<div onClick="toggle_view('{{ include.item_id }}')">
<div class="hide-and-show-title">
<h3 id="{{ include.item_id }}"{% if include.subheading %} class="has_subheading"{% endif %}>{{ include.title }}
<span id="{{ include.item_id }}-closed-arrow">
{% include octicon id="chevron-up" size="16" %}
</span>
<span id="{{ include.item_id }}-open-arrow" style="display: none;">
{% include octicon id="chevron-down" size="16" %}
</span>
</h3>
</div>
{% if include.subheading %}
<h4>{{ include.subheading }}</h4>
{% endif %}
</div>
</div>
<div id="{{ include.item_id }}-content" class="{{ include.content_class }} hide-and-show" style="display: none;">
{{ include.content }}
</div>
28 changes: 28 additions & 0 deletions _includes/references.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{% assign delim = "|||" %}
{% assign post_urls = "" %}
{% assign post_titles = "" %}
{% for post in site.posts %}
{% if post.references contains include.id %}
{% unless post_titles == "" %}
{% assign post_urls = post_urls | append: delim %}
{% assign post_titles = post_titles | append: delim %}
{% endunless %}
{% assign post_urls = post_urls | append: post.url %}
{% assign post_titles = post_titles | append: post.title %}
{% endif %}
{% endfor %}
{% unless post_titles == "" %}
<div class="post-references-wrapper">
{% assign post_urls = post_urls | split: delim %}
{% assign post_titles = post_titles | split: delim %}
{% assign num_posts = post_titles.size | minus: 1 %}
<p class="post-references-intro">
{% if num_posts > 0 %}Posts that discuss{% else %}A post that discusses{% endif %} <span class="post-references-work-title">{{ include.title }}</span>:
</p>
<ul class="post-references-list">
{% for post_i in (0..num_posts) %}
<li class="post-references-list-item"><a href="{{ post_urls[post_i] }}">{{ post_titles[post_i] }}</a></li>
{% endfor %}
</ul>
</div>
{% endunless %}
1 change: 1 addition & 0 deletions _includes/soundcloud.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<iframe width="100%" height="450" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/playlists/{{ include.soundcloud.id }}&color=%23ff5500&auto_play=false&hide_related=false&show_comments=false&show_user=true&show_reposts=false&show_teaser=true&visual=false"></iframe><div style="font-size: 10px; color: #cccccc;line-break: anywhere;word-break: normal;overflow: hidden;white-space: nowrap;text-overflow: ellipsis; font-family: Interstate,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Garuda,Verdana,Tahoma,sans-serif;font-weight: 100;"><a href="{% if include.soundcloud.user_url %}{{ include.soundcloud.user_url }}{% else %}https://soundcloud.com/malcolmsailor{% endif %}" title="{% if include.soundcloud.username %}{{ include.soundcloud.username }}{% else %}malcolmsailor{% endif %}" target="_blank" style="color: #cccccc; text-decoration: none;">{% if include.soundcloud.username %}{{ include.soundcloud.username }}{% else %}malcolmsailor{% endif %}</a> · <a href="{{ include.soundcloud.url }}" title="{{ include.soundcloud.title }}" target="_blank" style="color: #cccccc; text-decoration: none;">{{ include.soundcloud.title }}</a></div>
1 change: 1 addition & 0 deletions _includes/youtube.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<iframe{% if include.id %} id="{{ include.id }}"{% endif %} class="youtube-iframe" width="560" height="315" src="https://www.youtube-nocookie.com/embed/{% if include.youtube.playlist %}videoseries?list={% else %}{% endif %}{% if include.youtube.id %}{{ include.youtube.id }}{% else %}{{ include.youtube_id }}{% endif %}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
5 changes: 5 additions & 0 deletions _includes/youtube_work.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{% for work in site.music_works %}
{% if work.title == include.title %}
{% include youtube.html youtube=work.youtube %}
{% endif %}
{% endfor %}
7 changes: 7 additions & 0 deletions _layouts/ms_page.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
layout: default
---
<script type="text/javascript" src="/assets/js/hide_and_show.js"></script>
<link rel="stylesheet" href="/assets/css/styles.css">

{{ content }}
6 changes: 6 additions & 0 deletions _music_genres/algorithmic_music.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "Algorithmic music"
works_no_title: true
---

In the past few years I've become interested in composing in collaboration with my computer, mostly using [efficient_rhythms]({{ site.baseurl }}{% link coding_projects.md %}#efficient-rhythms). A few examples of the results are below.
5 changes: 4 additions & 1 deletion _music_genres/animations.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Animations
works_no_title: true
---

[Link to midani]({{ site.baseurl }}{% link coding_projects.md %}#midani)
Recently I've become interested in providing visual animations to accompany my music online. To that extent, I've written [midani]({{ site.baseurl }}{% link coding_projects.md %}#midani), a Python script for making piano-roll animations. Below, you'll find examples of the results.

<!-- TODO post more animations -->
2 changes: 1 addition & 1 deletion _music_genres/chamber_music.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ layout: page
title: Chamber music
---

In 2013--14 I was especially interested in writing chamber music that emulated the traditional tonal idiom, but avoided dominant-to-tonic resolutions and made use of non-diatonic modes.
I have written lots of chamber music, some which has found its way online thanks to the intervention of my many musically talented friends. I particularly like writing chamber music that outwardly emulates the traditional tonal idiom, but avoids dominant-to-tonic resolutions and makes use of non-diatonic modes.
3 changes: 3 additions & 0 deletions _music_genres/film_music.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
title: Film music
---
4 changes: 1 addition & 3 deletions _music_genres/jazz.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
---
title: Jazz
title: Jazz, etc.
---

Content goes here
7 changes: 7 additions & 0 deletions _music_theory/koechlin_translation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: "Charles Koechlin, <i>Traité de l’harmonie</i>"
subheading: "Excerpts"
downloads:
- path: "Malcolm_Sailor_Koechlin_excerpts_translated.pdf"
research_category: Translations
---
3 changes: 3 additions & 0 deletions _music_theory/ma_thesis.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,7 @@ has_imgs:
- ma_thesis1.png
- ma_thesis2.png
- ma_thesis3.png
year: 2018
---

I have often explored the use of non-diatonic modes in my chamber music, for example in my 2014 [string quartet](/music/#for-string-quartet). In this thesis, I wanted to explore what I had been doing from a more theoretical perspective.
1 change: 1 addition & 0 deletions _music_theory/smt_2017.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ has_imgs:
- smt_2017_1.png
- smt_2017_2.png
- smt_2017_3.png
year: 2017
---
1 change: 1 addition & 0 deletions _music_theory/smt_2018.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ downloads:
path: "Malcolm_Sailor_SMT_2018_Faure_slides.pdf"
has_imgs:
- smt_2018.png
year: 2018
---
File renamed without changes.
10 changes: 10 additions & 0 deletions _music_works/01the_youjsh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: The Youjsh
genre: Jazz, etc.
bandcamp:
album_num: 3077469623
url: https://theyoujsh.bandcamp.com/album/whos-next
title: Who's Next by The Youjsh
---

For many years, my band The Youjsh (pronounced as in "the usual") played the venues of Montreal, making audiences laugh, and dance, but mostly just ask themselves---"who is this Steve Day guy?"
6 changes: 6 additions & 0 deletions _music_works/01to_you_same_be.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: To you same be
genre: Animations
youtube:
id: RxjqdxM3W6c
---
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Malcolm Sailor quartet
genre: Jazz
genre: Jazz, etc.
bandcamp:
album_num: 1549468340
url: https://malcolmsailorquartet.bandcamp.com/album/malcolm-sailor-quartet
Expand Down
File renamed without changes.
6 changes: 6 additions & 0 deletions _music_works/02welcome_to_my_nutso_garden.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "Welcome (to my nutso garden)"
genre: Animations Algorithmic music
youtube:
id: YgAUskvRWPM
---
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Malcolm what's-his-name and his orchestra-or-whatever
genre: Jazz
genre: Jazz, etc.
bandcamp:
album_num: 2309203983
url: https://malcolmwhats-his-nameandhisorchestra-or-whatever.bandcamp.com/album/fondly-remembered-candidates-for-the-republican-presidential-nomination
Expand Down
6 changes: 6 additions & 0 deletions _music_works/03robots_can_be_silly_too.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Robots can be silly too
genre: Animations Algorithmic music
youtube:
id: owvfdymO9Aw
---
File renamed without changes.
6 changes: 6 additions & 0 deletions _music_works/04piano_piece_in_e_minor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Piano piece in E minor
genre: Animations Chamber music
youtube:
id: BYjk-L9aDI8
---
File renamed without changes.
File renamed without changes.
8 changes: 8 additions & 0 deletions _music_works/orchestral-midi-demo-reel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Orchestral midi demo reel
genre: Film music
soundcloud:
id: 575144697
url: "https://soundcloud.com/malcolmsailor/sets/film-composer-demo-reel"
title: "Orchestral midi demo reel"
---
5 changes: 0 additions & 5 deletions _music_works/robots_can_be_silly_too.md

This file was deleted.

9 changes: 5 additions & 4 deletions _music_works/sailors_silly_songs.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
title: Sailor's Silly Songs
genre: Other
bandcamp:
album_num: 2903542436
url: http://malcolmsailor.bandcamp.com/album/sailors-silly-songs
title: Sailor&#39;s Silly Songs by Malcolm Sailor
youtube:
id: PLrPqhvBGhyHDHsW6QDURe9TH9UwvlKdOq
playlist: true
---

Every now and then I like to write a silly song or two and sometimes I even get the idea into my head to post them on the internet.
8 changes: 0 additions & 8 deletions _music_works/the_youjsh.md

This file was deleted.

7 changes: 7 additions & 0 deletions _posts/test-post.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
layout: post
title: "Testing again..."
date: 2021-02-18
---

Here's a test post that shouldn't show up.
9 changes: 9 additions & 0 deletions _posts/test-post1.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: "Testing..."
date: 2021-02-18
references:
- "welcome-to-my-nutso-garden"
---

This a test post discussing [Welcome (to my nutso garden)](/music/#welcome-to-my-nutso-garden).
9 changes: 9 additions & 0 deletions _posts/test-post2.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: "Testing 2..."
date: 2021-02-18
references:
- "welcome-to-my-nutso-garden"
---

This another test post discussing [Welcome (to my nutso garden)](/music/#welcome-to-my-nutso-garden).
9 changes: 9 additions & 0 deletions _posts/test-post3.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: "Testing 3..."
date: 2021-02-18
references:
- "robots-can-be-silly-too"
---

This a test post discussing [Robots can be silly too](/music/#robots-can-be-silly-too).
9 changes: 9 additions & 0 deletions _posts/test-post4.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: "Testing 3..."
date: 2021-02-18
references:
- "charles-koechlin-i-traite-de-l-harmonie-i"
---

This a test post discussing a music theory paper.
Loading

0 comments on commit 47d4a0c

Please sign in to comment.