All Projects → xasopheno → WereSoCool

xasopheno / WereSoCool

Licence: GPL-3.0 license
A language for composing microtonal music built in Rust. Make cool sounds. Impress your friends/pets/plants.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
rust
11053 projects

Projects that are alternatives of or similar to WereSoCool

sonipy
Sonification tool for turning scatter plots into perceptually uniform sound files for science and science access.
Stars: ✭ 20 (-51.22%)
Mutual labels:  sound, sound-processing, sonification, sound-synthesis
Helio Workstation
One music sequencer for all major platforms, desktop and mobile
Stars: ✭ 2,257 (+5404.88%)
Mutual labels:  composition, microtonal
pydiogment
📣 Python library for audio augmentation
Stars: ✭ 64 (+56.1%)
Mutual labels:  sound, sound-processing
soundtransform
Android & Pure Java library for sound manipulation
Stars: ✭ 42 (+2.44%)
Mutual labels:  sound, sound-processing
framework
A creative coding library.
Stars: ✭ 35 (-14.63%)
Mutual labels:  sound, binaural
Mecca
Animated music editor in Clojurescript/re-frame
Stars: ✭ 125 (+204.88%)
Mutual labels:  composition, sound
Gwion
🎵 strongly-timed musical programming language
Stars: ✭ 235 (+473.17%)
Mutual labels:  composition, sound
gensound
Pythonic audio processing and generation framework
Stars: ✭ 69 (+68.29%)
Mutual labels:  sound
scalemap
a string format and API for musical scales in C, C++, and JavaScript
Stars: ✭ 16 (-60.98%)
Mutual labels:  microtonal
sonant-x-live
Tracker web application to compose music in a brower
Stars: ✭ 82 (+100%)
Mutual labels:  sound
Cinder-Hoa
Higher Order Ambisonics Block for libCinder
Stars: ✭ 12 (-70.73%)
Mutual labels:  binaural
sonopy
A simple audio feature extraction library
Stars: ✭ 72 (+75.61%)
Mutual labels:  sound
fresh-coffee-listener
Using a raspberry pi, we listen to the coffee machine and count the number of coffee consumption
Stars: ✭ 52 (+26.83%)
Mutual labels:  sound-processing
garrysmod-chatsounds
Community Uploaded Ingame Chat Reaction Sounds
Stars: ✭ 68 (+65.85%)
Mutual labels:  sound
FScape-next
Audio rendering software, based on UGen graphs. Issue tracker: https://codeberg.org/sciss/FScape-next/issues
Stars: ✭ 13 (-68.29%)
Mutual labels:  sound
astronify
Astronomical data sonification.
Stars: ✭ 57 (+39.02%)
Mutual labels:  sonification
Wortuhr ESP8266
Wortuhr mit ESP8266 WeMos D1 mini und NeoPixel WS2812B LEDs mit mp3 Sounds, Animationen, Transitions, Events und Spiele
Stars: ✭ 33 (-19.51%)
Mutual labels:  sound
GpuZen2
Sample code for the article 'Real-Time Layered Materials Compositing Using Spatial Clustering Encoding'
Stars: ✭ 17 (-58.54%)
Mutual labels:  composition
GIMLeT
GIMLeT – Gestural Interaction Machine Learning Toolkit
Stars: ✭ 33 (-19.51%)
Mutual labels:  sound
kudojs
A utility library to write code in functional programming style in Javascript
Stars: ✭ 22 (-46.34%)
Mutual labels:  composition

WereSoCool

Cool Tests

A language for composing mictoronal music built in Rust. 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.

The WereSoCool CLI is availble on macOS, Linux and Windows. You can also explore the language in a Firefox or Chrome browser on a desktop computer in the WereSoCool Playground. Live coding in the browser currently only works on desktop in a Firefox or Chrome browser.

Documentation:

If you want to learn how to make cool sounds using WereSoCool, you'll find cool documentation in English, Portuguêse, and Español at weresocool.org.

My recommended approach to learning the language is to do the tutorials in order and write your own composition after completing each one. I'm currently working on additional documentation as well as a record I've made using WereSoCool featuring a great band. Stay tuned.

On mobile, you can still view the tutorials, but you won't be able to hear anything.

Installation:

Macos:

brew tap xasopheno/weresocool && brew install weresocool

Arch Linux:

Available on the AUR here.

Cargo:

WereSoCool can be installed on macos, linux, and windows via cargo. You'll also need to install the "Necessary Dependancies".

Install cargo by installing Rustup.

cargo install weresocool

Necessary Dependancies

Macos: brew install lame libvorbis

Arch Linux (ALSA): sudo pacman -S lame vorbis-tools

Ubuntu (ALSA): sudo apt-get lame vorbis-tools

Windows

This software runs on Windows, but in a slightly limited capacity. On Windows, this software is compiled without mp3 and oggvorbis support. 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.

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

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

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

WereSoCool CLI

Usage: weresocool [COMMAND]

Commands:
  new    Create a new .socool file from the template
  play   Render a .socool file.
    --watch                    On file save, the composition will be re-rendered
  demo   Hear a cool sound
  print  Print a .socool composition to a file
    --output_dir <output_dir>
    --wav                      print a wav file (default)
    --mp3                      print an mp3
    --oggvorbis                print an oggvorbis file
    --csv                      print a csv file
    --json                     print a json file
    --stems                    print stems as a zip file
    --sound                    print all sound file types
    --all                      print all file types
  help   Help of the given subcommand(s)

Development:

Setup

Rust: Rust is a great language. Install it with Rustup.

Just: Commands are issued via Just.

You'll need also need to install the following packages:

Macos:

brew install lame libvorbis

Arch Linux:

sudo pacman -S lame vorbis-tools

Ubuntu:

sudo apt-get lame vorbis-tools

Build

just build

Run Tests:

just test

Special Thanks:

This wouldn't exist in a million years if it wasn't for Antonis Stampoulis' help with language design or the help of friends/programmers like Sönke Hahn, Hao Lian, Catharine M, Matt Handler, Alex David, Lee Pender, Amanda Doucette, Khaled Alquaddoomi, Alex Kestner, everyone else that has sat down to program with me.

Of course, special thanks to Maria for always listening to my new_weird_sounds and programming problems. - Danny

Copyright (C) 2022 - Danny Meyer

This program is free software, licensed under the GPLv3 (see LICENSE).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].