Spotify for the terminal written in Rust πŸš€


Spotify TUI

Continuous Integration

All Contributors

Follow Alexander Keliris (Rigellute)

A Spotify client for the terminal written in Rust.


The terminal in the demo above is using the Rigel theme.


The binary executable is spt.


For both macOS and Linux

brew install spotify-tui

To update, run

brew upgrade spotify-tui


For a system with Snap installed, run

snap install spt

The stable version will be installed for you automatically.

If you want to install the nightly build, run

snap install spt --edge


For those on Arch Linux you can find the package on AUR here. If however you're using an AUR helper you can install directly from that, for example (in the case of yay), run

yay -S spotify-tui


Available as the package spotify-tui. To install run:

nix-env -iA nixpkgs.spotify-tui

Where nixpkgs is the channel name in your configuration. For a more up-to-date installation, use the unstable channel. It is also possible to add the package to environment.systemPackages (for NixOS), or home.packages when using home-manager.

Void Linux

Available on the official repositories. To install, run

sudo xbps-install -Su spotify-tui


Available on the Copr repositories. To install, run

sudo dnf copr enable atim/spotify-tui -y && sudo dnf install spotify-tui


Use this option if your architecture is not supported by the pre-built binaries found on the releases page.

First, install Rust (using the recommended rustup installation method) and then

cargo install spotify-tui

This method will build the binary from source.

To update, run the same command again.

Note on Linux

For compilation on Linux the development packages for libssl are required. For basic installation instructions, see install OpenSSL. In order to locate dependencies, the compilation also requires pkg-config to be installed.

If you are using the Windows Subsystem for Linux, you'll need to install additional dependencies.

Windows 10

Scoop installer

First, make sure scoop installer is on your windows box, for instruction please visit

Then open powershell and run following two commands:

scoop bucket add scoop-bucket
scoop install spotify-tui

After that program is available as: spt or spt.exe


  1. Download the latest binary for your OS.
  2. cd to the file you just downloaded and unzip
  3. cd to spotify-tui and run with ./spt

Connecting to Spotify’s API

spotify-tui needs to connect to Spotify’s API in order to find music by name, play tracks etc.

Instructions on how to set this up will be shown when you first run the app.

But here they are again:

  1. Go to the Spotify dashboard
  2. Click Create an app
    • You now can see your Client ID and Client Secret
  3. Now click Edit Settings
  4. Add http://localhost:8888/callback to the Redirect URIs
  5. Scroll down and click Save
  6. You are now ready to authenticate with Spotify!
  7. Go back to the terminal
  8. Run spt
  9. Enter your Client ID
  10. Enter your Client Secret
  11. Press enter to confirm the default port (8888) or enter a custom port
  12. You will be redirected to an official Spotify webpage to ask you for permissions.
  13. After accepting the permissions, you'll be redirected to localhost. If all goes well, the redirect URL will be parsed automatically and now you're done. If the local webserver fails for some reason you'll be redirected to a blank webpage that might say something like "Connection Refused" since no server is running. Regardless, copy the URL and paste into the prompt in the terminal.

And now you are ready to use the spotify-tui πŸŽ‰

You can edit the config at anytime at ${HOME}/.config/spotify-tui/client.yml.


The binary is named spt.

Running spt with no arguments will bring up the UI. Press ? to bring up a help menu that shows currently implemented key events and their actions. There is also a CLI that is able to do most of the stuff the UI does. Use spt --help to learn more.

Here are some example to get you excited.

spt --completions zsh # Prints shell completions for zsh to stdout (bash, power-shell and more are supported)

spt play --name "Your Playlist" --playlist --random # Plays a random song from "Your Playlist"
spt play --name "A cool song" --track # Plays 'A cool song'

spt playback --like --shuffle # Likes the current song and toggles shuffle mode
spt playback --toggle # Plays/pauses the current playback

spt list --liked --limit 50 # See your liked songs (50 is the max limit)

# Looks for 'An even cooler song' and gives you the '{name} from {album}' of up to 30 matches
spt search "An even cooler song" --tracks --format "%t from %b" --limit 30


A configuration file is located at ${HOME}/.config/spotify-tui/config.yml, for snap ${HOME}/snap/spt/current/.config/spotify-tui/config.yml (not to be confused with client.yml which handles spotify authentication)

The following is a sample config.yml file:

# Sample config file

# The theme colours can be an rgb string of the form "255, 255, 255" or a string that references the colours from your terminal theme: Reset, Black, Red, Green, Yellow, Blue, Magenta, Cyan, Gray, DarkGray, LightRed, LightGreen, LightYellow, LightBlue, LightMagenta, LightCyan, White.
  active: Cyan # current playing song in list
  banner: LightCyan # the "spotify-tui" banner on launch
  error_border: Red # error dialog border
  error_text: LightRed # error message text (e.g. "Spotify API reported error 404")
  hint: Yellow # hint text in errors
  hovered: Magenta # hovered pane border
  inactive: Gray # borders of inactive panes
  playbar_background: Black # background of progress bar
  playbar_progress: LightCyan # filled-in part of the progress bar
  playbar_progress_text: Cyan # song length and time played/left indicator in the progress bar
  playbar_text: White # artist name in player pane
  selected: LightCyan # a) selected pane border, b) hovered item in list, & c) track title in player
  text: "255, 255, 255" # text in panes
  header: White # header text in panes (e.g. 'Title', 'Artist', etc.)

  seek_milliseconds: 5000
  volume_increment: 10
  # The lower the number the higher the "frames per second". You can decrease this number so that the audio visualisation is smoother but this can be expensive!
  tick_rate_milliseconds: 250
  # Enable text emphasis (typically italic/bold text styling). Disabling this might be important if the terminal config is otherwise restricted and rendering text escapes interferes with the UI.
  enable_text_emphasis: true
  # Controls whether to show a loading indicator in the top right of the UI whenever communicating with Spotify API
  show_loading_indicator: true
  # Determines the text icon to display next to "liked" Spotify items, such as
  # liked songs and albums, or followed artists. Can be any length string.
  # These icons require a patched nerd font.
  liked_icon: β™₯
  shuffle_icon: πŸ”€
  repeat_track_icon: πŸ”‚
  repeat_context_icon: πŸ”
  playing_icon: β–Ά
  paused_icon: ⏸

  # Key stroke can be used if it only uses two keys:
  # ctrl-q works,
  # ctrl-alt-q doesn't.
  back: "ctrl-q"

  jump_to_album: "a"

  # Shift modifiers use a capital letter (also applies with other modifier keys
  # like ctrl-A)
  jump_to_artist_album: "A"

  manage_devices: "d"
  decrease_volume: "-"
  increase_volume: "+"
  toggle_playback: " "
  seek_backwards: "<"
  seek_forwards: ">"
  next_track: "n"
  previous_track: "p"
  copy_song_url: "c"
  copy_album_url: "C"
  help: "?"
  shuffle: "s"
  repeat: "r"
  search: "/"
  audio_analysis: "v"
  jump_to_context: "o"
  basic_view: "B"
  add_item_to_queue: "z"


This app uses the Web API from Spotify, which doesn't handle streaming itself. So you'll need either an official Spotify client open or a lighter weight alternative such as spotifyd.

If you want to play tracks, Spotify requires that you have a Premium account.

Using with spotifyd

Follow the spotifyd documentation to get set up.

After that there is not much to it.

  1. Start running the spotifyd daemon.
  2. Start up spt
  3. Press d to go to the device selection menu and the spotifyd "device" should be there - if not check these docs

Libraries used


  1. Install OpenSSL
  2. Install Rust
  3. Install xorg-dev (required for clipboard support)
  4. Clone or fork this repo and cd to it
  5. And then cargo run

Windows Subsystem for Linux

You might get a linking error. If so, you'll probably need to install additional dependencies required by the clipboard package

sudo apt-get install -y -qq pkg-config libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev


Thanks goes to these wonderful people (emoji key):

Alexander Keliris

πŸ’» πŸ“– 🎨 πŸ“ πŸ€” πŸš‡ 🚧 πŸ“¦ πŸ‘€

Mickael Marques


Grzegorz Koperwas


Austin Gassert


Calen Robinette




Andrew Chin


Sam Naser











πŸ“– πŸš‡

Grzegorz Pawlik


Lennart Bernhardt


Arnaud Lefebvre




Peter K. Moss


Geoff Shannon


Zachary Mayhew




Marcel Schramm


Fangyi Zhou




Sven van der Vlist




Nils Rauch


Nick Stockton

πŸ’» πŸ› 🚧 πŸ’¬ πŸ“–

Stuart Hinson


Sam Calvert

πŸ’» πŸ“–

Jeroen Wijenbergh


Kimberley Cook


Audrey Baxter




Peter Maatman




Finn Vos


Carlos Hernandez


Pedro Alves




Benjamin Kitor


AleΕ‘ Najmann

πŸ“– πŸ“¦

Jeremy Stucki




Artem Polishchuk


Chris Sosnin


Ben Buhse


Sean Li



πŸ’» πŸ“–

Ferdinand Ratajczak


Sheel Choksi


Michael Hellwig


Oliver Daniel


Drew Fisher




Macguire Rintoul


Ricardo Holguin


Keisuke Toyota


Craig Astill






Sergey A.


Hideyuki Okada



πŸ’» πŸ“–

Γ‰rico Nogueira Rolim


Alexander Meinhardt Scheurer


OndΕ™ej KinΕ‘t







πŸ’» πŸ“–



Bruno A. MuciΓ±o


Finn Hediger




Marco Micera


Marco Ieni


ArtΓΊr KovΓ‘cs


Antony Kellermann


Rasmus Pedersen




David Bailey


This project follows the all-contributors specification. Contributions of any kind welcome!


The goal is to eventually implement almost every Spotify feature.

High-level requirements yet to be implemented

  • Add songs to a playlist
  • Be able to scroll through result pages in every view

This table shows all that is possible with the Spotify API, what is implemented already, and whether that is essential.

API method Implemented yet? Explanation Essential?
track No returns a single track given the track's ID, URI or URL No
tracks No returns a list of tracks given a list of track IDs, URIs, or URLs No
artist No returns a single artist given the artist's ID, URI or URL Yes
artists No returns a list of artists given the artist IDs, URIs, or URLs No
artist_albums Yes Get Spotify catalog information about an artist's albums Yes
artist_top_tracks Yes Get Spotify catalog information about an artist's top 10 tracks by country. Yes
artist_related_artists Yes Get Spotify catalog information about artists similar to an identified artist. Similarity is based on analysis of the Spotify community's listening history. Yes
album Yes returns a single album given the album's ID, URIs or URL Yes
albums No returns a list of albums given the album IDs, URIs, or URLs No
search_album Yes Search album based on query Yes
search_artist Yes Search artist based on query Yes
search_track Yes Search track based on query Yes
search_playlist Yes Search playlist based on query Yes
album_track Yes Get Spotify catalog information about an album's tracks Yes
user No Gets basic profile information about a Spotify User No
playlist Yes Get full details about Spotify playlist Yes
current_user_playlists Yes Get current user playlists without required getting his profile Yes
user_playlists No Gets playlists of a user No
user_playlist No Gets playlist of a user No
user_playlist_tracks Yes Get full details of the tracks of a playlist owned by a user Yes
user_playlist_create No Creates a playlist for a user Yes
user_playlist_change_detail No Changes a playlist's name and/or public/private state Yes
user_playlist_unfollow Yes Unfollows (deletes) a playlist for a user Yes
user_playlist_add_track No Adds tracks to a playlist Yes
user_playlist_replace_track No Replace all tracks in a playlist No
user_playlist_recorder_tracks No Reorder tracks in a playlist No
user_playlist_remove_all_occurrences_of_track No Removes all occurrences of the given tracks from the given playlist No
user_playlist_remove_specific_occurrenes_of_track No Removes all occurrences of the given tracks from the given playlist No
user_playlist_follow_playlist Yes Add the current authenticated user as a follower of a playlist. Yes
user_playlist_check_follow No Check to see if the given users are following the given playlist Yes
me No Get detailed profile information about the current user. Yes
current_user No Alias for me Yes
current_user_playing_track Yes Get information about the current users currently playing track. Yes
current_user_saved_albums Yes Gets a list of the albums saved in the current authorized user's "Your Music" library Yes
current_user_saved_tracks Yes Gets the user's saved tracks or "Liked Songs" Yes
current_user_followed_artists Yes Gets a list of the artists followed by the current authorized user Yes
current_user_saved_tracks_delete Yes Remove one or more tracks from the current user's "Your Music" library. Yes
current_user_saved_tracks_contain No Check if one or more tracks is already saved in the current Spotify user’s β€œYour Music” library. Yes
current_user_saved_tracks_add Yes Save one or more tracks to the current user's "Your Music" library. Yes
current_user_top_artists No Get the current user's top artists Yes
current_user_top_tracks No Get the current user's top tracks Yes
current_user_recently_played Yes Get the current user's recently played tracks Yes
current_user_saved_albums_add Yes Add one or more albums to the current user's "Your Music" library. Yes
current_user_saved_albums_delete Yes Remove one or more albums from the current user's "Your Music" library. Yes
user_follow_artists Yes Follow one or more artists Yes
user_unfollow_artists Yes Unfollow one or more artists Yes
user_follow_users No Follow one or more users No
user_unfollow_users No Unfollow one or more users No
featured_playlists No Get a list of Spotify featured playlists Yes
new_releases No Get a list of new album releases featured in Spotify Yes
categories No Get a list of categories used to tag items in Spotify Yes
recommendations Yes Get Recommendations Based on Seeds Yes
audio_features No Get audio features for a track No
audios_features No Get Audio Features for Several Tracks No
audio_analysis Yes Get Audio Analysis for a Track Yes
device Yes Get a User’s Available Devices Yes
current_playback Yes Get Information About The User’s Current Playback Yes
current_playing No Get the User’s Currently Playing Track No
transfer_playback Yes Transfer a User’s Playback Yes
start_playback Yes Start/Resume a User’s Playback Yes
pause_playback Yes Pause a User’s Playback Yes
next_track Yes Skip User’s Playback To Next Track Yes
previous_track Yes Skip User’s Playback To Previous Track Yes
seek_track Yes Seek To Position In Currently Playing Track Yes
repeat Yes Set Repeat Mode On User’s Playback Yes
volume Yes Set Volume For User’s Playback Yes
shuffle Yes Toggle Shuffle For User’s Playback Yes
  • Exceeded API request limit

    Exceeded API request limit

    I keep getting

    Error: Exceeded API request limit - please wait x seconds 

    when interacting with the tui or through spt pb. Am I doing something wrong?

    opened by AckslD 27
  • no device is found

    no device is found

    installed spotifyd and spt. run spotifyd

     ps -ef | grep spotify
    jose     11868     1  0 12:40 ?        00:00:00 spotifyd
    jose     11885 11656  0 12:40 pts/4    00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn spotify

    run spt (installed via snap)


    opened by verajosemanuel 22
  • Extremely slow

    Extremely slow

    The app barely responds for me. I'll type ? and it will take a minute or more before anything happens. It seems to work, e.g. connect to Spotify and has all my music, but it is delayed heavily with every action. I'm not sure if this is known, it might be the same bug as #92 but for me it was never "unfrozen".

    I got spotifyd and spotify-tui from the AUR.

    Versions: Operating System: Arch Linux Kernel: Linux 5.4.8-arch1-1 spotifyd 0.2.20 spotify-tui 0.11.0

    help wanted 
    opened by gcantieni 15
  • Provide a cli arg based interface

    Provide a cli arg based interface

    I want to trigger commands that goes through spotify-tui but doesn't open the UI. For starters support for search/play/pause through command line would be really good to have.

    spt -s --search "a man of wire" // returns top n results spt -p --play "song name" // based on closest match, start playing this song spt -t --toggle // toggle play pause

    opened by clearnote01 14
  • Using cossterm for windows support.

    Using cossterm for windows support.


    This app can support windows very easily. TUI has the crossterm backend which is made to support cross-platform.

    I tried to move this library over to crossterm just to experiment to how easy it was to swap termion. It was very easy. Please have a look at this fork.


    Their implementation uses crossterm 0.9 and 0.12 is already out and they didn't even release my latest patch - done a few months ago - with 0.10 yet. This old version of crossterm has some problems and ideally it should use 0.12 it's way better performance-wise as well.

    However, I encountered problems:

    -. KeyEvent (replacement for Key) does not implement Copy however, this is going to be fixed in 0.12.2.

    • TUI uses crossterm ^0.9, therefore, use crossterm ^12 because TUI requires types from ^0.9
    • You probably don't want to have a dependency to git branch of TUI

    The real blocker here was that crossterm::KeyEvent did not implement Copy and therefore it has to be wrapped in order for it to be used.


    1. Key enum, this enum is used in the library and should be used instead of the termion::Key or crossterm::KeyEvent or others toughtout the crates. You probably don't want to depend on a certain library restricted to linux but have a small abstraction so that crossterm, for example, can be implemented with more ease.
    2. CrosstermBackend this uses crossterm for its implementation and is crossplatform.


    This is just an experiment because I wanted to listen to Spotify on windows, however, there are some concerns with git dependencies and old versions of crossterm. Do you think crossterm should be behind a feature flag, the only supported implementation, or not used at all?

    opened by TimonPost 13
  • thread '<unnamed>' panicked at 'called `Result::unwrap()`

    thread '' panicked at 'called `Result::unwrap()`

    thread '' panicked at 'called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/libcore/ note: run with RUST_BACKTRACE=1 environment variable to display a backtrace.

    opened by tamert 13
  • Simple change of layout

    Simple change of layout

    draw_input_and_help_box moved to draw_user_block so the search and help bar is reduced and the main panel is adjusted to fill that space. The constraints of size of both functions were tweaked as well to better fit the new layout.

    I feel this new layout does a better job at taking advantage of space as the strings we search are usually not that long and after some use of the client the help bar becomes more or less irrelevant.

    Here some screenshots

    Fullscreen in a 1080p monitor Screenshot_full

    Halfscreen in a 1080p monitor Screenshot_half

    Current layout for comparison old

    opened by mucinoab 11
  • Add to Queue command

    Add to Queue command

    Would it be possible to add a command for "Add to Queue"? I use this feature all the time on my Android phone. I love spotify-tui, thanks for allowing me to live in my terminal even more!

    opened by mikeboiko 11
  • Playlist window doesn't show all songs

    Playlist window doesn't show all songs

    The playlist window only shows about 40 songs no matter how resize the terminal and /or restart. I did have a problem when I first tried spotify-tui where is wouldn't show all my playlists but that resolved itself after a few restarts.

    I don't know if the playlists get paged but Ctrl-u/d doesn't do anything.

    Tried in UXTerm, URXVT and ST with the same behaviour.

    Making the terminal smaller actually shows less songs, by that i mean I scroll to the bottom of the playlist listing (showing 15 songs instead of 40) and it will jump back to the first song instead of still scrolling down. Making the terminal larger that the UI just shows the 40 ish songs with a gap at the bottom but still goes to the top once I scroll to the bottom song.

    Spotify says there's 147 songs. It happens with all long playlists. Am i missing a command to show the next set of songs?


    opened by GarthTheChicken 11
  • Implement methods to control playback

    Implement methods to control playback

    Would be awsome if you could add next and previous track.

    I know that there is some issues with: "The auth token does not currently automatically refresh - when you leave spotify-tui running for a while, you won't be able to control playback. And you'll need to quit and restart to get it working again."

    I had the same issue, i checked if the current token is valid. You could probably do this in a nicer way but when a user signs in the first time you get:

     "access_token" : "NgAagA...Um_SHo",
     "expires_in" : "3600",
     "refresh_token" : "NgCXRK...MzYjw"

    The expires_in tells you when the access_token expires. You can use it to decide when to get a new access_token. Then use the refresh_token to get a new access_token.

    You can renew the access_token by using a refresh_token. This token is provided to you when you first make the request to authenticate the user. You should save that refresh_token if you don't already do so. The refresh_token is valid forever but you can't control playback with the refresh_token.

    To get a new access_token with the refresh_token: (JavaScript)

        const res = await fetch(
            method: 'GET'

    You will then get a new access_token that you can use to control playback.

    Documentation from Spotify on how to use the refresh_token to access a new access_token.

    btw, love what you have made! Great work!

    opened by Ciavarella 11
  • AUR build error

    AUR build error

    I installed spotify-tui from the aur with yay. During the compile, this error occured:

    error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
       --> /home/salmon/.cargo/registry/src/
    176 |         mem::transmute::<SocketAddrV4, sockaddr_in>(v4);
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        = note: source type: `SocketAddrV4` (48 bits)
        = note: target type: `sockaddr_in` (128 bits)
    For more information about this error, try `rustc --explain E0512`.
    error: could not compile `socket2` due to previous error

    Searched for "transmutate" type keywords, didn't see any issues, my bad if this is a dupe.

    Edit: 3 months later I realized I put sporify-tui

    opened by TH3-S4LM0N 10
  • (BUG) Error when playing podcasts

    (BUG) Error when playing podcasts

    Related: #1055

    If I play a podcast, spotify-tui is okay for a minute or two - and then bugs out. (Tested on an NPR Daily News podcast from my Made-for-You Daily Drive). I get a 404 error with the description "non existing id".

    It appears as if this is a "market" issue. Googling, I found this: Turns out the "market" field is documented as optional but is required, and if set incorrectly can cause podcasts that are able to play (I use spotifyd and everything kept working just fine with web controls - I even deleted my spotify-tui devapp and remade it just to test) to cause errors.

    The issue is so bad that I can no longer use SPT at all when it happens. I had to go and select a proper song off of the web control in order to release the softlock.

    opened by amyipdev 0
  • Cannot Exit Analysis Mode

    Cannot Exit Analysis Mode

    Running on zsh on Arch Linux, using a spotifyd backend, analysis mode results in the application being unresponsiveβ€”neither ESC nor v causes analysis mode to cease and be replaced by the normal menu view again.

    If others are able to replicate this, I believe it to be a bug.

    opened by leer-key 0
  • Play-followed-by-recommendations from the CLI

    Play-followed-by-recommendations from the CLI

    With the first-party clients, I will often play a search result and let Spotify's recommendations play after. spotify-tui seems to have the pieces for that, just not the flow. It'd be nice for CLI usage because you enter one command with a 'seed' song and you're done.

    I might get adventurous and see if I can hack it in under cli/, though both Rust and of course this app are pretty new to me. If there's a way to do it with existing commands/settings that I'm missing, I'll happily take that as an answer!

    opened by twotwotwo 0
  • [feature request] Show

    [feature request] Show "Your episodes" for podcasts

    In the normal app there is a section for podcast episodes that you have liked, similar to liked songs. This is a request to show that section in TUI. Thanks for your great work

    opened by jagjordi 0
Alexander Keliris
Author of spotify-tui. Lover of Rust πŸš€, vim, Javascript, Typescript, React, React Native, GraphQL, ReasonML, AWS, Serverless, Postgres and more!
Alexander Keliris
ncspot is a ncurses Spotify client written in Rust using librespot.

ncspot is a ncurses Spotify client written in Rust using librespot. It is heavily inspired by ncurses MPD clients, such as ncmpc. My motivation was to provide a simple and resource friendly alternative to the official client as well as to support platforms that currently don't have a Spotify client, such as the *BSDs.

Henrik Friedrichsen 3.4k Jan 8, 2023
Gtk/Rust native Spotify client for the GNOME desktop.

Gtk/Rust native Spotify client for the GNOME desktop.

Alexandre Trendel 1.7k Jan 1, 2023
A spotify daemon

Spotifyd An open source Spotify client running as a UNIX daemon. Spotifyd streams music just like the official client, but is more lightweight and sup

null 8.4k Dec 31, 2022
🎧 a self-hosted Spotify β†’ Discord music bot

Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself. Note: a Spotify Premium account is c

Max Isom 159 Dec 29, 2022
Psst - Fast and multi-platform Spotify client with native GUI

Psst Fast Spotify client with native GUI, without Electron, built in Rust. Very early in development, lacking in features, stability, and general user

Jan Pochyla 7.2k Jan 2, 2023
code to connect + communicate with a Spotify Car Thing

spotify_carthing_bt A grab-bag of spotify car thing related hacks I'm working on. deskthing-rs A Rust port of, w

Daniel Prilik 6 Dec 19, 2022
Terminal Music Player written in Rust

Terminal Music Player written in Rust Listen to music freely as both in freedom and free of charge! Freedom: As time goes by, online service providers

null 376 Jan 3, 2023
A terminal music player written in the Rust language.

A terminal music player written in the Rust language. (Windows) Requirements Configuration file path: C:\Users\xxx\.config\music_player\config.yml # P

xiao hui 162 Nov 12, 2022
Midnote is a terminal application that reads a MIDI file and displays you its notes bar-by-bar, while playing it.

MIDNOTE Midnote is a terminal application that reads a MIDI file and displays you its notes bar-by-bar, while playing it. Goals As a blind musician my

null 4 Oct 30, 2022
A video player for your terminal that generates a standalone executable that plays your video.

Szmelc Player Szmelc Player is a program that converts any video you give it to a standalone executable that plays the video in the terminal. It uses

null 1 Jan 9, 2022
A music theory guide written in Rust.

Rust Music Theory A library and executable that provides programmatic implementation of the basis of the music theory. Table of Contents Overview Usag

Ozan Kaşıkçı 551 Dec 21, 2022
musify is a simple discord bot to play music within a voice channel, written in the rust programming language.

musify-rs musify is a simple discord bot to play music within a voice channel, written in the rust programming language. Features A simple song queue

NV6 5 Aug 14, 2022
Loopers is graphical live looper, written in Rust, designed for ease of use and rock-solid stability

Loopers Loopers is a graphical live looper, written in Rust, designed for ease of use and rock-solid stability. It can be used as a practice tool, com

Micah Wylde 81 Dec 29, 2022
Synthesizer IO - a synthesizer written in Rust.

Synthesizer IO Hopefully, this will become a synthesizer written in Rust. At the moment, it's experimental bits of technology toward that end. Running

Raph Levien 278 Dec 13, 2022
A drum machine written in Rust

rudiments rudiments is a step-sequencing drum machine that plays rhythm patterns using audio samples. Features 16-step programmable measures. Configur

Jonas Michel 141 Nov 23, 2022
VST2 frequency modulation synthesizer written in Rust

OctaSine VST2 frequency modulation synthesizer written in Rust. Official website with downloads Audio examples SoundCloud Screenshots Lig

Joakim FrostegΓ₯rd 412 Dec 30, 2022
🎡 A super simple VST written in Rust

DigiDist This is a simple little VST plugin, developed in Rust using the vst2 crate. It doesn't sound particularly great, but it demonstrates just how

Joe Clay 34 May 29, 2022
A simple GUI audio player written in Rust with egui. Inspired by foobar2000.

Music Player A simple GUI music player inspired by foobar2000 written in Rust using egui. The goal of this project is to learn about making gui/ nativ

Ryan Blecher 5 Sep 16, 2022
Small music theory library with MIDI capabilities written in Rust

mumuse Small music theory library with MIDI capabilities written in Rust (wip). Examples Creating notes and transpositions // Declare Note from &str l

Alexis LOUIS 4 Jul 27, 2022