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.

  • toothbrush
    link
    fedilink
    arrow-up
    8
    ·
    8 months ago

    mpv can do all of these things, check the manual on how to do this: https://mpv.io/manual/stable/

    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.

    • pr06lefs@lemmy.mlOP
      link
      fedilink
      arrow-up
      2
      ·
      8 months ago

      Wow huge wall of text. How do you select a section of a song and loop just that section?

      • toothbrush
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        8 months ago

        press l when you are at the part you want to loop and l again where you want it to end.

        • pr06lefs@lemmy.mlOP
          link
          fedilink
          arrow-up
          3
          ·
          8 months ago

          thx. and looks like you can set up an af-command for bumping the playback speed up and down with a keyboard shortcut. presumably that’s possible with pitch as well.

          seems like libmpv would be a great back end for a specialized music practice tool.

          • Andy@programming.dev
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            8 months ago

            By default you can use left and right bracket keys [] to adjust speed, and it should do adjustments to make the pitch sound the same.

            To adjust the pitch alone, you can have something like this in your input.conf, customized as you like:

            ALT+p af toggle @rb
            ALT+UP af-command rb multiply-pitch 1.25
            ALT+DOWN af-command rb multiply-pitch 0.8
            ALT+LEFT af-command rb set-pitch 1.0
            

            I haven’t looked at this in a long time. If you always need this there’s likely a conf option to always enable the “rubber band” (@rb) filter. And maybe other commands than multiply that would be better.


            EDIT: Sorry, I don’t have this quite right. Maybe someone can correct me.