Question: I'm wondering if it's better practice to use Bundle or make another class entirely to save data? 

During a fragment change I can set it up so that onSaveInstanceState() saves information. Alternatively, I could store that information as a static variable in another class, then create a getter function in that class and use it to "restore" the variables state under onCreateView().

I would much prefer to use another class as I feel like I have more control over the management of my data, but I'm not sure if this would cause any issues or if this is bad practice as I haven't seen any mention of people doing it this way.

Answer: 
For the various steps, I can give you the following hints.

### File names

For obtaining mp3 file names the [glob](https://docs.python.org/3/library/glob.html) module is your friend: `glob.iglob('*.mp3', recursive=True)`.

### Dealing with mp3

For dealing with mp3 files you can use practically any command line utility that serves your needs. A few examples:

* [avprobe](https://askubuntu.com/a/249843/445311)
* [exiftool, ffmpeg, mplayer](https://askubuntu.com/a/303461/445311)
* [mediainfo](https://superuser.com/a/595205/742396)

You can run these tools from within python via the [subprocess](https://docs.python.org/3/library/subprocess.html) module. For example:

```
subprocess.check_output(['avprobe', 'path/to/file'])

```

Then you can parse the output as appropriate; how to detect if the file is broken needs to be explored though.

### Dive into mp3

If you're feeling adventurous then you can also scan the mp3 files directly. [Wikipedia](https://en.wikipedia.org/wiki/MP3#File_structure) gives a hint about the file structure. So in order to get the bit rate the following should do:

```
with open('path/to/file', 'rb') as fp:
    fp.read(2)  # Skip the first two bytes.
    bit_rate = fp.read(1) & 0xf0

```
For my purposes ideally fits [mutagen](https://mutagen.readthedocs.io/en/latest/index.html) here is [**solution**](https://m5-web.com/blog/165) with comments.
Everything is pretty simple.