All Projects â†’ lpil â†’ Sonic Pi Tool

lpil / Sonic Pi Tool

Licence: mpl-2.0
ðŸŽŧ Controlling Sonic Pi from the command line

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Sonic Pi Tool

Spotui
Spotify in the terminal ðŸ’ŧðŸŽķ
Stars: ✭ 302 (+127.07%)
Mutual labels:  cli, music
Zynaddsubfx
ZynAddSubFX open source synthesizer
Stars: ✭ 554 (+316.54%)
Mutual labels:  music, osc
Eternal
ðŸ‘ū~ music, eternal ~ ðŸ‘ū
Stars: ✭ 323 (+142.86%)
Mutual labels:  music, creative-coding
Yt Audio
A simple, configurable youtube-dl wrapper to download and manage youtube audio
Stars: ✭ 132 (-0.75%)
Mutual labels:  cli, music
Sonos Cli
ðŸŽķ Command Line Interface for Sonos
Stars: ✭ 50 (-62.41%)
Mutual labels:  cli, music
Feeluown
trying to be a user-friendly and hackable music player
Stars: ✭ 3,030 (+2178.2%)
Mutual labels:  cli, music
Awesome Machine Learning Art
ðŸĪ–ðŸŽĻðŸŽļA curated list of awesome projects, works, people, articles, and resource for creating art (including music) with machine learning. It's machine learning art.
Stars: ✭ 480 (+260.9%)
Mutual labels:  music, creative-coding
Singlespotify
ðŸŽĩ Create Spotify playlists based on one artist through the command line
Stars: ✭ 254 (+90.98%)
Mutual labels:  cli, music
Mythra
Music retrieval CLI and API using rust
Stars: ✭ 37 (-72.18%)
Mutual labels:  cli, music
Score
ossia score, an interactive sequencer for the intermedia arts.
Stars: ✭ 808 (+507.52%)
Mutual labels:  creative-coding, osc
Irs
ðŸŽļ ðŸŽķ A music downloader that understands your metadata needs.
Stars: ✭ 268 (+101.5%)
Mutual labels:  cli, music
Ytmdl
A simple app to get songs from YouTube in mp3 format with artist name, album name etc from sources like iTunes, Spotify, LastFM, Deezer, Gaana etc.
Stars: ✭ 2,070 (+1456.39%)
Mutual labels:  cli, music
framework
A creative coding library.
Stars: ✭ 35 (-73.68%)
Mutual labels:  osc, creative-coding
Mutateful
Add-on for Ableton Live that enables live coding functionality fully integrated into Live's session view.
Stars: ✭ 290 (+118.05%)
Mutual labels:  cli, osc
osc-simulator
A utility to test Open Sound Control sending and receiving from the browser
Stars: ✭ 23 (-82.71%)
Mutual labels:  osc, creative-coding
Beats
A command-line drum machine. Convert a beat notated in YAML into a *.wav file.
Stars: ✭ 389 (+192.48%)
Mutual labels:  cli, music
Live Stream Radio
24/7 live stream video radio station CLI / API ðŸ“đ ðŸ“ŧ
Stars: ✭ 175 (+31.58%)
Mutual labels:  cli, music
Piano Rs
A multiplayer piano using UDP sockets that can be played using computer keyboard, in the terminal
Stars: ✭ 180 (+35.34%)
Mutual labels:  cli, music
Musicrepair
Fixes music metadata and adds album art.
Stars: ✭ 566 (+325.56%)
Mutual labels:  cli, music
Somafm Cli
ðŸŽĩ Listen to SomaFM in your terminal via pure bash
Stars: ✭ 84 (-36.84%)
Mutual labels:  cli, music

Build Status

Sonic Pi Tool

sonic-pi-tool is a handy command line utility for playing with the Sonic Pi server. It can be used instead of the Sonic Pi GUI for all your music making needs :)

It's ideal for use with sonicpi.vim.

Installation

From source

If you have the Rust programming language installed sonic-pi-tool can be installed like so:

cargo install --git https://github.com/lpil/sonic-pi-tool/ --force

Note that while Rust needs to be installed to compile sonic-pi-tool, it is not needed to run it. You may uninstall Rust or copy the sonic-pi-tool binary from ~/.cargo/bin to another computer with the same processor architecture and operating system if you wish.

sonic-pi-tool may not build on older versions of Rust. Please see the CI configuration for which versions are explicitly supported.

Homebrew

Sonic Pi Tool can be installed like so using the Homebrew package manager for OSX:

$ brew tap Cj-bc/sonic-pi-tool
$ brew install sonic-pi-tool
# or
$ brew install Cj-bc/sonic-pi-tool/sonic-pi-tool --HEAD

Homebrew formula is here: Cj-bc/homebrew-sonic-pi-tool

Usage

check

sonic-pi-tool check
# => Sonic Pi server listening on port 4557

Used to check if the Sonic Pi server is running. If the server isn't running many of the tool's commands (such as eval) will not work.

This command returns a non-zero exit code if the server is not running.

eval

sonic-pi-tool eval "play :C4"
# *ding*

Take a string Sonic Pi code and send it to the Sonic Pi server to be played.

eval-file

sonic-pi-tool eval-file path/to/code.rb
# *music*

Read Sonic Pi code from a file and send it to the Sonic Pi server to be played.

eval-stdin

echo "play :C4" | sonic-pi-tool eval-stdin
# *ding*

Read Sonic Pi code from standard in and send it to the Sonic Pi server to be played.

stop

Stop all jobs running on the Sonic Pi server, stopping the music.

sonic-pi-tool stop
# *silence*

logs

Prints out log messages emitted by the Sonic Pi server.

This command won't succeed if the Sonic Pi GUI is running as it will be consuming the logs already.

sonic-pi-tool logs
#
# [Run 2, Time 32.7]
#  └ synth :beep, {note: 65.0, release: 0.1, amp: 0.9741}
#
# [Run 2, Time 32.8]
#  └ synth :beep, {note: 39.0, release: 0.1, amp: 0.9727}

start-server

Attempts start the Sonic Pi server, if the executable can be found.

Not supported on Windows.

sonic-pi-tool start-server
# Sonic Pi server booting...
# Using protocol: udp
# Detecting port numbers...
# ...

record

Record the audio output of a Sonic Pi session to a local file. Stop and save the recording when the Enter key is pressed.

sonic-pi-tool record /tmp/output.wav
# Recording started, saving to /tmp/output.wav.
# Press Enter to stop the recording...

Other tools

In addition to sonic-pi-tool this project contains sonic-pi-pipe and sonic-pi-logs. These two programs came first and are written in Go rather than Rust.

Everything they can do can be done with the newer sonic-pi-tool, and as a result they are no longer actively maintained. :)

Read more about these tools here.

MPL 2.0 Licence

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].