[Release] iOS Voice Memo formatting Action

Hey all. After a friend needed to extract their voice recordings from an iPhone, taken with the default app 'Voice Memos', I found that custom titles added via the app are stored to a separate 'AssetManifest.plist' text file.

Recalling some of the useful solutions from this thread I started work on an Mp3Tag Action which matched and extracted the custom titles, along with some other data, and formatted the filename and title in the same fashion as the app itself.

Below is a screenshot of before/after formatting:


And a step-by-step explanation of the Action, including which items are optional and can be removed if you prefer. For some reason the spoiler tags aren't working on the forum, so it's expanded here.


  1. [Optional] Stores original Date Modified timestamp to a custom tag.
  2. [Optional] Stores original Date Created timestamp to a custom tag.
  3. Stores original filename to a custom 'OriginalFilename' tag. Useful as a reference.
  4. Imports the AssetManifest.plist into a temporary custom tag. File must be in same folder as audio files.
  5. Finds the matching filename within a in the .plist text and removes all leading text up to it. The M4A filenames are positioned before their associated data in the .plist structure.
  6. Finds the first occurance of and removes all text after it. The values we want to extract are nested within elements so the first one to be found is the one we want to target, since we've cut some text already. We're narrowing the scope of the file with these two steps.
  7. Finds the contents of the element and adds it to a Title tag.
  8. [Optional] Finds the contents of the element and adss it to a custom 'PID' tag. Unsure of its use but I keep it.
  9. Formats the date/time based on the filename and adds it to a Year tag, according to the ISO 8601 standard.
  10. Formats the filename as 'YYYY-MM-DD at'. The first step of the filename formatting.
  11. Adds a custom 'TimeAdd' tag to store a temporary value, the MM:SS of the time.
  12. Adds a custom 'Hour' tag to store a temporary value, the HH of the time.
  13. Continues the filename formatting, converting the 24-hour time format to 12-hour time, with leading zeroes. The filename now looks like 'YYYY-MM-DD at HH.MM.SS AM/PM'.
  14. Checks Title tag to see if it matches the entire 'AssetManifest' custom tag and if it does replaces it with the time, formatted as 'H:MM:SS' based on the new filename, without a leading zero. This step accounts for files in the .plist file without any custom titles added in the Voice Memo app, so instead adds the time like it does in the app when no custom titles are present. The reason I match against the remaining 'AssetManifest' tag is the regular expression in Step 7 will output the whole tag if no matching custom titles are found so it's a way of checking if no custom title is available.
  15. Removes the temporary tags.
  16. [Optional] Adds Artist tag.
  17. [Optional] Adds Album Artist tag.
  18. [Optional] Adds Album tag, formatted as 'iOS Voice Memo Recordings (YYYY)'.
  19. [Optional] Adds custom 'ReleaseType' tag with the value 'Voice Recording'.

Alternatively if you wanted the filename to be kept as-is you could remove steps 10-13, however step 14 of the Action would have to be altered to format the time in the Title tag independently of the filename. I added the filename format in the Action as it's the same used for OS X screenshots by default (with an added leading zero to the hour).

Attached is the Action and a zip of dummy M4A files with an example AssetManifest.plist file to test with. Hopefully they're of use to others who have wanted to extract and apply their custom titles and format their recordings!

Wasn't sure where to post the topic, seeing as the Export subforum is for Web sources/Export only but I figured here will do.

iOS___Voice_Memos_formatting.mta (1.65 KB)

Test_files.zip (9.16 KB)


iOS___Voice_Memos_formatting.mta (1.65 KB)

Test_files.zip (9.16 KB)