pulled audio analysis out into a separate component, though the UI for it isn't quite working yet