lowfi is a tiny rust app that serves a single purpose: play lofi. It'll do this as simply as it can: no albums, no ads, just lofi.
All of the audio files played in lowfi are from Lofi Girl's website, under their licensing guidelines.
If god forbid you're planning to use this in a commercial setting, please follow their rules.
I really hate modern music platforms, and I wanted a small, "suckless" app that would literally just play lofi without video so I could use it whenever.
I also wanted it to be fairly resiliant to inconsistent networks, so it buffers 5 whole songs at a time instead of parts of the same song.
Although, lowfi is yet to be properly tested in difficult conditions, so don't rely on it too much until I do that. See Scraping if you're interested in downloading the tracks. Beware, there's a lot of them.
Note
If you're interested in maintaining a package for lowfi
on package managers such as homebrew and the like, open an issue.
You'll need Rust 1.74.0+.
On MacOS & Windows, no extra dependencies are needed.
On Linux, you'll also need alsa and it's headers (alsa-lib
on Arch,
libasound2-dev
on Ubuntu). Make sure to also install pulseaudio-alsa
if you're using pulseaudio.
The recommended installation method is to use cargo:
cargo install lowfi
# If you want MPRIS support.
cargo install lowfi --features mpris
and making sure $HOME/.cargo/bin
is added to $PATH
.
If you're on Arch, you can also use the AUR:
yay -S lowfi
git clone https://github.com/talwat/lowfi
cd lowfi
cargo build --release
./target/release/lowfi
lowfi
Yeah, that's it. Controls are documented in the app.
If you have something you'd like to tweak about lowfi, you can run lowfi help
to view the available options.
lowfi also has a scrape
command which is usually not relevant, but
if you're trying to download some files from Lofi Girls' website,
it can be useful.
An example of scrape is as follows,
lowfi scrape --extension zip --include-full
where more information can be found by running lowfi help scrape
.