I'm looking for an audio app for learning tunes by ear. Ideally would have:
1- slow playback, without adjusting pitch.
2- loop selection - to play a segment of the audio over and over
3- pitch adjustment (some old recordings are out of tune)
Anyone have one they like? For android the closest I've found is Fossify music player, which offers feature 1.
For PC, audacity has all these features, but its pretty clunky to use.
mpv also exists for android, however the controls are a bit different (because touch controls) and im not sure if you can do all of these things without a keyboard.
Mixxx can do all of those things, it's a free alternative to Serato DJ and similar. It's super straightforward to playback audio slowed to the exact BPM you need, loop it, and/or play it in a different key. Give it a try!
It reset my monitors and I thought my system was rebooting! Then things came back up, with windows on different monitors than before, lol. Its stuck on a splash screen that says "MIXXX". I'm running nixos, xmonad, pipewire. Output at the terminal:
[nix-shell:~]$ mixxx
ConfigObject: Could not read "/home/pr06lefs/.mixxx/mixxx.cfg"
Loading resources from "/nix/store/q9y3q43nq50wwx7zvq9wz3bj1hlji7w6-mixxx-2.4.0/share/mixxx/"
ConfigObject: Could not read "/home/pr06lefs/.mixxx/mixxx.cfg"
ConfigObject: Could not read "/home/pr06lefs/.mixxx/mixxx.cfg"
No version number in configuration file. Setting to "2.4.0"
BroadcastSettings - Profiles folder doesn't exist. Creating it.
BroadcastSettings - No profiles found. Creating default profile.
warning [Main] faad2::LibLoader - Failed to load ("libfaad.so.2", "libfaad.so") , "Cannot load library libfaad.so: (libfaad.so: cannot open shared object file: No such file or directory)"
warning [Main] SoundSourceProviderRegistry - SoundSource provider "Nero FAAD2" does not support any file extensions
warning [Main] SoundSourceProxy - Failed to register SoundSource provider "Nero FAAD2"
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2792:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2792:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2792:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:878:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_dmix.c:1000:(snd_pcm_dmix_open) unable to open slave
Hmm, it looks like the first few messages there are doing initial setup. After that, it looks like it's having trouble loading some of its libraries. Then it isn't able to read your sound devices. I haven't run Mixxx with nixos or pipewire, but maybe try the flatpak? Sorry it isn't running out of the box for you.
You can use Play it slowly, which is rather bare-bones, or Sonic Visualizer, which is something of the opposite, but quite powerful.
My daily workhorse is Transcribe!, which I've been using for nearly 30 years, actually. Very powerful, and very intuitive, and with a lot of useful effects, such as filtering out the vocals (if possible), etc. I paid a one-time fee for a subscription back in the day. Money well spent.
Autohotkeys is cool but its a windows prog, so won't work for me on linux.
When you speed up/slow down the recording, it has to process the whole file. That takes a while. You can't just slide a slider to different pitches to see what's right. Then you have to save the file someplace, think of a file name, put it somewhere reasonable etc. Or remember the pitch and do everything over again next time.
Audacity's implementation is not just clunky, it isn't good either. Compare that to Music Speed Changer on Android and you'll hear a huge difference in quality.
Looks like you can adjust playback speed. But I don't see where you can adjust pitch, nor do I see where you can select a section of a song for looping.
Ohh. This is exactly the side project idea I've had on the back of my mind for a few years now. Something minimal and straightforward, just to sharpen my programming skills and learn a couple of things along the way. Maybe I'll get around to building it some day.