All Projects β†’ Bleuzen β†’ Spotrec

Bleuzen / Spotrec

Licence: mit
Spotify desktop client recorder for PulseAudio

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Spotrec

funcd
Daemon for functional keys (works without X11)
Stars: ✭ 14 (-57.58%)
Mutual labels:  pulseaudio
Dotfiles
🌸 Configuration for i3, kitty, picom, ZSH, gtk, qutebrowser, qbittorrent and more... (All tools for an arch linux new installation)
Stars: ✭ 15 (-54.55%)
Mutual labels:  pulseaudio
Docker Wine
Docker image that includes Wine and Winetricks for running Windows applications on Linux and macOS
Stars: ✭ 313 (+848.48%)
Mutual labels:  pulseaudio
music visualizer
Shader viewer / music visualizer for Windows and Linux
Stars: ✭ 137 (+315.15%)
Mutual labels:  pulseaudio
easyeffects
Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
Stars: ✭ 3,408 (+10227.27%)
Mutual labels:  pulseaudio
Linux-SonivoxEas
Sonivox EAS for Linux and Qt
Stars: ✭ 14 (-57.58%)
Mutual labels:  pulseaudio
pulse-flow
configure pulseaudio graphically
Stars: ✭ 24 (-27.27%)
Mutual labels:  pulseaudio
Fix Bt A2dp
Workaround fixing no A2DP when BT headphone reconnects automatically (after being paired)
Stars: ✭ 25 (-24.24%)
Mutual labels:  pulseaudio
yags
Go powered statusline generator
Stars: ✭ 18 (-45.45%)
Mutual labels:  pulseaudio
Mon2cam
Workaround for multi-monitor Discord screensharing
Stars: ✭ 268 (+712.12%)
Mutual labels:  pulseaudio
pulseaudio-module-xrdp
xrdp sink / source pulseaudio modules
Stars: ✭ 105 (+218.18%)
Mutual labels:  pulseaudio
pulsertp-multiroom
Synchronized multiroom audio with PulseAudio RTP
Stars: ✭ 25 (-24.24%)
Mutual labels:  pulseaudio
catnip
terminal audio visualizer for linux/unix/macOS/windblows*
Stars: ✭ 79 (+139.39%)
Mutual labels:  pulseaudio
reco
A simple audio recording app for modern Linux desktop environment like Pantheon
Stars: ✭ 47 (+42.42%)
Mutual labels:  pulseaudio
Pulsemixer
CLI and curses mixer for PulseAudio
Stars: ✭ 441 (+1236.36%)
Mutual labels:  pulseaudio
Myxer
A modern Volume Mixer for PulseAudio.
Stars: ✭ 190 (+475.76%)
Mutual labels:  pulseaudio
ubuntu-on-android
Run Ubuntu 21.04 with pre-installed Desktop Environments in android/termux with ease! Everything is preinstalled so just download install and doneπŸš€πŸš€
Stars: ✭ 348 (+954.55%)
Mutual labels:  pulseaudio
Awesome Pulseaudio widget
PulseAudio widgtet for the Awesome Window Manager that uses DBus
Stars: ✭ 29 (-12.12%)
Mutual labels:  pulseaudio
Apulse
PulseAudio emulation for ALSA
Stars: ✭ 574 (+1639.39%)
Mutual labels:  pulseaudio
Noisetorch
Real-time microphone noise suppression on Linux.
Stars: ✭ 5,199 (+15654.55%)
Mutual labels:  pulseaudio

SpotRec

Python script to record the audio of the Spotify desktop client using FFmpeg and PulseAudio

AUR: https://aur.archlinux.org/packages/spotrec/

Usage

If you use the AUR package, you can simply run:

spotrec

If you have a GNU/Linux distribution with a different package manager system, run:

python3 spotrec.py

Example

First of all run spotify.

Then you can run the python script which will record the music:

./spotrec.py -o ./my_song_dir --skip-intro

Check the pulseaudio configuration:

pavucontrol

Pay attention to the red circles, everything else is muted and with volume set to 0%

playback tab

Note: actually "Lavf..." will appear after you start playing a song

recording tab

output devices tab

input devices tab

configuration tab

Finally start playing whatever you want

Hints

  • Disable volume normalization in the Spotify Client

  • Do not change the volume during recording

  • Use Audacity for post processing

    • because SpotRec records a little longer at the end to ensure that nothing is missing of the song. But sometimes this also includes the beginning of the next song. So you should use Audacity to cut the audio to what you want. From Audacity you can also export it to the format you like (ogg/mp3/...).

Troubleshooting

Start the script with the debug flag:

./spotrec.py --debug

If one of the following scenarios happens:

  • you do not see something like the ffmpeg output, which should appear right few seconds after the song start
# what you should see when ffmpeg is recording ...
size=56400kB time=00:00:04.15 bitrate= 130.7kbits/s speed=1x
  • you do not see any "Lavf..." in the pavucontrol recording tab
  • you get a stacktrace ending with:
ValueError: invalid literal for int() with base 10: 'nput'

I would suggest you to:

  • quickly press the "next song button" and then the "previous song button" in the spotify client
  • stop everything and start over, after some tries it usually works :)

Note: sometimes spotify detects when the user does not interact with the application for a long time (more or less an hour) and starts looping over a song, to avoid this scenario I would suggest to keep interacting with the spotify client.

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