WereSoCool.logo

WereSoCool

Tutorial

Concerts

Interviews

Danny

Getting Started

WereSoCool is a programming language for composing microtonal music. You might find this language useful if you want to make cool sounds and impress your friends/pets/plants. This language does not require familiarity with either microtonal music or computer programming, but experience with either will certainly help.

My recommended approach to learning the language is to do the tutorials in order and write your own composition after completing each one.

The WereSoCool CLI is availble on macOS, Linux (ALSA) and Windows. You can also explore the language on Firefox and Chrome browsers in the WereSoCool Playground.

WereSoCool Playground:

You can make cool sounds in on Firefox and Chrome browsers in the WereSoCool Playground. WereSoCool is single-threaded in the browser, so more complicated compositions will probably not render without clicks. The playground does not yet run on mobile.

Installing the WereSoCool CLI

Cargo:

WereSoCool can be installed on Macos, Linux, and Windows via cargo. You'll also need to install the optional dependancies to use some features.

Cargo is the rust package manager for Rust. Install cargo by installing Rustup. After installing Cargo, run:

cargo install weresocool

Optional Dependancies

If you want to render to mp3 and oggvorbis, you'll need the following dependencies

Macos:
brew install lame libvorbis

Arch Linux:
sudo pacman -S lame vorbis-tools

Ubuntu:
sudo apt-get lame vorbis-tools

macOS:

The WereSoCool CLI is available on macOS via the homebrew package manager. If you do not have Homebrew installed, follow the installation instructions here.

Install WereSoCool from Homebrew by running the following commands:

brew tap xasopheno/weresocool && brew install weresocool

Arch Linux (Alsa):

Available on the AUR!

Windows:

This software runs on Windows, in a slightly limited capacity. On Windows, this software is compiled without mp3 and oggvorbis support (you can only print to wav, csv, and json). I mostly work on macos and linux machines, so I feel a bit out of my depths in Windows land. If you'd like to help work on the Windows implementation, please reach out.

You can install WereSoCool from source or via cargo.

From Source:

You'll need Cargo and Just.

Cargo is the rust package manager for Rust. Install cargo by installing Rustup.

You'll also need to install Just - a cool cross-platform command runner.

You can install from this source code by cloning this repo and then running:

just install

Editor Support

Some simple syntax highlighting is available for a few common editors. If you'd like to create a plugin for your favorite editor, please reach out.

Vim

My editor of choice is currently NeoVim, so support on vim is ahead of other editors. The package is available on Github.

If you use vim-plug, add the following line to you init.vim and run :PlugInstall

Plug 'xasopheno/weresocool_vim'

VisualStudio Code

Minimal syntax highlight is availble via the weresocool extension. Search for 'weresocool' in extensions or install it from the marketplace.

SublimeText

Minimal syntax highlight is availble via the weresocool package. You can find it on Github.