Looking to develop a single screen iPhone App to aid in vocal exercises. The purpose is to allow the user to listen to a MP3 file on a loop and repeat what they hear. The app should monitor the user's voice and when it exceeds a configurable volume level, record the audio until the volume drops below a configurable level, then play the user's recording back to them.
* App would be used on an iPhone 12 (mini) used with AirPods.
* The app should allow the user to select a MP3 file to play on a loop.
* The app should display the microphone input level in the UI.
* The app should allow the user to configure the "started speaking" and "stopped speaking" triggers in the UI. These consist of "started speaking" microphone input level, "stopped speaking" microphone input level, and duration of time window to average over to check against levels.
* The app should record audio from the AirPods continuously into a circular buffer.
* When the input level exceeds the "started speaking" threshold, it should mark the beginning of playback.
* When the input level falls below the "stopped speaking" threshold, it should pause the MP3 audio and play back the recorded audio from the "started speaking" marker.
* When the user audio recording is finished playing, MP3 should resume play.
* Code must be developed in a git repo and the entire repo packaged as part of the deliverable.