Hey, Merry Christmas everybody! I finally cracked the code - I hacked the waze celebrity voices back onto my Waze app!
As most of you have figured out, Waze recently disabled the ability to use whatever voices that you copy into the "sound" folder. With older versions you could do so, but now they just won't play when you choose the folder you dumped the voices into. Instead, you'll be greeted with the frustrating sound of silence anytime you choose that voice in settings. Add to this the annoying fact that new celebrity voices are updated onto your voices menu as a promotional thing, only to be automatically deleted after a certain amount of time, and you'll see why I was this close to downgrading my Waze version just to be able to get whatever voice when I could get it! However, after ages of poking at this I finally figured it out: it's just a simple file flag change.
*I'm assuming you're rooted.
*Download whatever celebrity voices you want (the folders and their mp3s) into a desired location on your phone for copying and/or backup
*Using the Waze app, download a useless foreign voice and make a note of the name
*Copy all the mp3s of your desired celebrity voice
*/data/data/com.waze/waze/sound/[The useless foreign voice folder]/Paste (overwrite) the desired celebrity voice mp3s over the mp3s already there
*Long press any mp3 you just pasted in/Select all/3-dot menu icon/"Change SE context"/"Enter context manually"
*Manually type in:
*Change all mp3 permissions to "rw-------" (0600)
*I recommend being rooted, since you have to be able to access, copy, and edit Waze system files with a root explorer app. How to root your phone is beyond the scope of this short tutorial. Good luck.
*Using Root Explorer, make a separate folder to hold your downloaded voices wherever you want in your file system (I just made a folder called "Celebrity Voices" within /data/data/com.waze/waze/sound, and Waze doesn't screw with it, but it will delete any other celebrity/promotional folders it wants from the "sound" folder on your next update).
*Download whatever celebrity voice you want onto your phone, and copy/paste it into the folder you just made.
*Now do the following: [your new folder]/long press any mp3 file/3-dot menu icon/"Change SE context". You should see a popup window that has something like this under the file name:
"Current value: u:object_r:app_data_file:s0" (This is why the files DON'T work)
*Now do the same in your Waze "sound" folder /data/data/com.waze/waze/sound/(Any currently working Waze voice folder like "eng_nathan" or whatever)/long press any mp3 file/3-dot menu icon/"Change SE context". Now you should see something like this:
"Current value: u:object_r:app_data_file:s0:c512,c768" (This is what the files have to be to work)
*Waze won't allow you to just make your own folders you can choose within the app voice menu, because it's not programmed to (this is why it won't screw with the folder you created- it doesn't know it's there!). So, you'll have to copy your desired voice files into an already existing voice folder that you know you won't use and paste them over its files- something like Serbian or another foreign language you don't speak and know you'll never need. Basically you're hijacking the folder Waze uses and replacing it with voices you want.
*First you have to go get those voices on your phone: Waze app/left swipe screen/gear symbol(preferences or settings)/Voice directions. Choose a voice you know you won't need (Example: I use "Deutsch - Mica" for my Arnold Schwarzenegger voice), and tap it to start downloading. This should take you back to the main screen where you'll see the red text showing you the download progress. Wait until it's finished.
*Now go back to your downloaded voice folder: Long press any mp3/Select all (a little square icon)/COPY
*Go into /data/data/com.waze/waze/sound/[the folder of your new Waze voice you just downloaded]/PASTE (choose "yes" if asked to overwrite existing files).
*Long press any mp3 you just copied over/Select all/3-dot menu icon/"Change SE context"/"Enter context manually"
*Manually type in:
*Press ok. Watch the magic happen. Congrats, you just "hacked" your Waze voices. And also, you just earned a geek point. Score!
*Double check under the mp3 file names that the permissions are set to "rw-------". If not, do the following: Long press any mp3/Select all/3-dot menu icon/Permissions/Only check "Read" and "Write" next to Owner, and set all others to unchecked/Press OK.
*Now go to Waze and see if your celebrity of choice gives you directions.
*Highly recommended- make a text note somewhere on your phone to keep track of what voices are the same as the celebrity voice you hacked in. Download enough voices and you'll find yourself saying "Dammit, was C3P0 the "Gabriela" voice or the "Shahdan" voice?"
*Create a text file somewhere on your phone with the correct SE Context code pre-written into it so you can copy/paste it into any new voice's SE Context Manual entry line(cause that crap's just a pain in the butt to type out on a phone).
*Don't bother screwing with the SE Context of the files BEFORE you copy them into your Waze "sound" folder, because the copy/paste process breaks the changes and you'll just have to do it over again. This one took me a while to figure out.
*I personally never had to reset my phone- I found I could use my new voices immediately.
*Individual mileage may vary, and the folders may not be labeled exactly as written here. Use your imagination, and good luck.
*Don't worry if you change your mind about someday needing some foreign language as originally provided by Waze that you replaced with Morgan Freeman or something. Who knows, you might want to learn Spanish someday! You can always just delete that folder, go back into Waze, and download it as before, and it will start fresh. Just don't forget to back up Morgan...
*You can manipulate these voices in a sound editor and do whatever you want with them as long as the mp3 filenames stay exactly the same as before. If you're a sound geek this can be way fun.
*Anytime a new voice shows up on your phone, copy and paste it over into your personal celebrity voices folder and label its folder so you can identify it easily later on, because they'll just hijack it away from you when its promotional period is over. Just copy them into another foreign language folder as above and it's yours whenever you want.
*I have tried to find all the voices you can download from other websites, but I know there are others out there. I just received and nabbed Santa Claus ("Coca-Cola shill" version) and Liam Neeson (promotion for "The Commuter") on my phone as well. My all-time favorite: T-Pain...
*I am using:
Samsung Galaxy Note 4 running Lineage OS 14.1
Root Explorer 4.1.6
Merry Christmas, or whatever holiday you celebrate at this time of year!