Orca post and related CSS changes

This commit is contained in:
Nox Sluijtman 2023-09-09 18:02:41 +02:00
parent d36571ce71
commit 55592382a7
7 changed files with 168 additions and 1 deletions

View file

@ -25,3 +25,55 @@ This is the result of deciding to mess around with LMMS, a distorted Minecraft a
I made an anvil melody of sorts and Vlams added a drum sample loop and a few synthesizers.
{{< audio src=/audio/aaaaanvil.flac audio=flac >}}
# Orca
Some [Orca experiments.](/rambles/orca/)
## plinkinator
{{< start-details summary="Orca source" >}}
```orca
..................
..nVC.............
..................
5U9..Vn..4U9..Vn..
.*:04C....*:03C...
..................
3U5..Vn...........
..:05C............
..................
3U8..Vn...........
.*:06C............
..................
```
{{< end-details >}}
### First result
{{< audio src=/audio/orca/plinkinator.flac audio=flac >}}
### Later variant
{{< audio src="/audio/orca/varied_plinkinator.flac" audio=flac >}}
## Shepard tone
{{< start-details summary="Orca source" >}}
```orca
.C8C7........
.1.67TABCDEFG
.J.3XG.......
.18T1234567..
...2.........
D1.J.........
*:02G.2......
```
{{< end-details >}}
### Climb
{{< audio src="/audio/orca/climb.flac" audio=flac >}}
### Fall
Same as 'climb' but with the note and octave loops reversed.
{{< audio src="/audio/orca/fall.flac" audio=flac >}}

115
content/rambles/orca.md Normal file
View file

@ -0,0 +1,115 @@
---
title: "Orca"
date: "2023-09-09T15:59:21+02:00"
author: "$HUMANOID"
tags: ["orca", "audio"]
description: "Rambles on Experiments with Orca"
---
# Brainy Music
There's something I really like about the idea of mathematically and
programmatically making music. As a result, I've harboured an interest in
trackers for quite some time, but never got into attempting to actually use one.
In a similar vein, I've looked at [Hundred Rabbits'
Orca](https://100r.co/site/orca.html) every now and then, but once again
couldn't be bothered to figure it out.
That was until recently, due to unrelated circumstances, I got access to Ableton
Live. This piqued my interest in Orca again and I decided to grit my teeth and
learn the syntax. The result is that I have now produced some blobs of
characters that -- when paired with the right software -- produce some really
interesting noises.
I won't go into detail on how everything works as the documentation is easy
enough to read. The syntax is the biggest hurdle.
# Patterns
My favourite operator so far is `U` -- the eUclidian rhythm operator. It takes a
left and right argument -- lets refer to them as `X` and `Y` respectively -- and
then attempts to produce a bang -- that is to say pulse on `X` out of `Y`
frames. So `3U8` attempts to produce 3 equally spaced bangs in 8 frames, which
will fail. As a result, it spaces the bangs as close to equal as possible. This
can lead to some really interesting patterns and rhythms.
Here's an example of when I wrapped my head around it for the first time:
{{< audio src=/audio/orca/plinkinator.flac audio=flac >}}
And the Orca code:
```orca
..nVC...........
................
5U9..Vn..4U9..Vn
.*:04C....*:03C.
................
3U5..Vn.........
..:05C..........
................
3U8..Vn.........
.*:06C..........
```
Here's a variant with a different synth and where I've been messing around with
the note being played while recording:
{{< audio src="/audio/orca/varied_plinkinator.flac" audio=flac >}}
# Numbers and stuff
Because I suck at basic calculus and have been half arsedly learning BQN, I
wrote a function to get a list of numbers to produce potentially interesting
patterns for the `U` operator:
```bqn
OrcaList ← {1↕(⊢⋈¨𝕩⊸÷)1+↕𝕩}
```
This function requires a number and returns a list of all possible divisions
from that one up up to the given number.
```bqn
Orcalist 9
┌─
╵ ⟨ 1 9 ⟩
⟨ 2 4.5 ⟩
⟨ 3 3 ⟩
⟨ 4 2.25 ⟩
⟨ 5 1.8 ⟩
⟨ 6 1.5 ⟩
⟨ 7 1.2857142857142858 ⟩
⟨ 8 1.125 ⟩
⟨ 9 1 ⟩
```
Rough Haskell equivalent for readability's sake:
```haskell
orcaList x = map ((,) <$> id <*> (x/)) [1..x]
```
# Recording from LMMS
Since LMMS puts whatever MIDI notes it gets into a grid (by default at least),
most of the intricacies of timing are lost. As a result, when using LMMS, I use
`pw-record` to record the live audio output with timing still intact.
This audio journey has also lead me to appreciate Pipewire a lot more. In that
regard, I have the following audio stack on NixOS:
```nix
{ config, ... }: {
sound.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
}
```
And I use `qwpgraph` as patchbay.

Binary file not shown.

BIN
static/audio/orca/fall.flac Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1 +1 @@
Subproject commit 7c5857cba71b3ce9d926a5e0c35e1e8ae2032d03
Subproject commit 8a0e6fc8f845ea5cf6115a9100893e82e64cc3f3