04 November 2020

Movie Profanity Remover 2.0 (Deprecated)

Movie Profanity Remover removes swear words from any media file.

This project is now unmaintained. Please use Cinema Guard instead

*Note: 64-Bit Windows operating system required.

Screenshot(s):


Downloads:
 

116 comments:

  1. thank you so much for continuing your work on this project. it is much appreciated.

    ReplyDelete
  2. also do you mind if I make a YouTube video showing people about your software, and how to use it?

    ReplyDelete
    Replies
    1. Youtube video link is down. But great program! Will it not work with .mkv? After selecting video and sub file, I click "GO" and it says "No videos queued"?? Any help appreciated!

      Delete
    2. Hi, it works with mp4 and mkv files. Don't forget to press the 'Add' button first to add the video to the queue.

      Delete
    3. Ian does your program work with dvds, or just w/movie streaming?

      Delete
    4. Hi, it only works with a single mkv/mp4/avi video file. If you'd like to use a DVD, you will have to rip the DVD first.

      Delete
    5. why doesnt it work on my desktop computer? I still have profanity even after i have done everything correctly. does anyone have tutorial i can have for it

      Delete
    6. Hi.
      Is your subtitles file complete? It should be around 50-80KB in size.
      Do you have the correct filters selected?
      If you still can't see the issue, send me an email

      Delete
    7. Ian, Just wanted to thank you for your great work. We use your program all the time. Now even TV-14 and PG shows have "F" words and we hate to hear them. Writers can't help but put them in; guess they use them in their everyday conversations. Also very nice you added the ability so we can put in variations to the filter list. We pretty much automatically process all the movies and shows. I time sync the subtitles first and have opened your before and after timing to 600ms both sides. A little wide in ms but I don't have to play with it, it silences enough and we still get the dialog. Excellent job and thank you again.

      Delete
  3. also, have you ever thought of making a program that runs like the one that you made, but automatically detects and transcribes words and makes the profanity filtering from there? so that you don't have to load subtitles into it.

    ReplyDelete
    Replies
    1. Firstly, no problem. I'm happy you like it.
      I won't mind if you make a Youtube video about it.
      Lastly, I have. This will be quite a bit more difficult but it is something I am planning to look into in the future.

      Delete
    2. that is cool, and I love that you responded so quickly, keep up the good work

      Delete
  4. here is the video that I made: https://youtu.be/OVATH9QXL6s
    good luck

    ReplyDelete
    Replies
    1. Thank you for the video. I have added it to the description of this post.

      Delete
  5. Ian, Thank you for making this program. Being able to mute via subtitles is fantastic. I was looking for a plugin or extension for VLC that could mute or skip portions of movies at specific timestamps via a custom script or log file. This solution that you have created makes it very easy to quickly clean up the audio. I appreciate your work in this area. Keep up the great work.

    ReplyDelete
    Replies
    1. Hi. I'm happy you enjoy the software!
      I have tried to start on a project that does this in VLC, but I have to code in LUA (which I have never done before). I will take a look at this again sometime.

      Thanks!

      Delete
  6. Amazing tool! I'm not clear on how this handles subtitles that are embedded within the MKV file. It looks like I have to use a downloaded sub file which might not be 100% matching the video.

    ReplyDelete
    Replies
    1. Hi, I'm still planning on releasing a feature that will use the embedded subtitles (MP4/MKV) once I get some time. Happy to hear you like the software!

      Delete
    2. Oh very cool. A nifty expansion of features might be to use the subtitles to locate the section of the audio where the word is found. But then there's a mini player where you can access a 10 second snipping of the audio. Within this you can adjust the exact start and end of the word to be muted. This would allow for some fine tuning for those who want to put in extra effort.

      Maybe this could also spread across the available audio channels. For instance, if it's 6 channel audio and the speech is only on 2 of the channels, the other 4 channels would not be muted and it wouldn't sound like as bit of a gap.

      Just ideas but the cure functionality is still really great! Definitely appreciate the work and it's opening up some cool options for me.

      Delete
  7. Is there a version of this for Mac??

    ReplyDelete
    Replies
    1. Hi, Unfortunately not.
      You might want to use a virtual machine/windows device.

      Delete
    2. Hi, I tried the program but the speech sounds became softer. I checked with a headphones and realised the resulting speech audio now gets panned to the right.

      Delete
    3. I will take a look at this. Thank you for bringing it to my attention.

      Delete
    4. Did you manage to see this issue?

      Delete
    5. Unfortunately it seems like the issue lies with FFMPEG.
      When looking at the final arguments that is sent to FFMPEG, no panning occurs. The only "reduction" that occur is when the audio gets muted at certain intervals.

      I'll have a look again sometime but this might be out of my hands.

      Delete
  8. I'm sure you've had to hear a lot of unfriendly words about your application, but I just want to tell you how much I TRULY appreciate the work you've done. I'm a Christian and I LOVE movies. But I'm always limited to the forms of entertainment I will allow myself to take in. This makes my options a lot better. I don't know if you have faith in Jesus or not, but God bless you.

    ReplyDelete
    Replies
    1. Hi. I'm happy you like it!
      I am a Christian as well and the reason I created this tool was due to be able to broaden the amount of movies I want to watch.
      God bless you.

      Delete
    2. Sent a post earlier, please disregard. I tried another movie and it worked!

      Delete
  9. Thank you so much to making this... However, I'm using this in a Virtual environment (Parallels on Mac). As soon as I start it, it seems to just hang and CPU usage is 0%. I'd think it should be more than that? Any tips?

    ReplyDelete
    Replies
    1. Hi, sorry for the delay. Google marked a few comments as spam which is not spam.
      I don't really have experience with Apple devices, but it could be due to the different architecture of your CPU. Do you have any other (Windows) devices lying around that you can use?

      Delete
  10. Hi Ian,

    Thanks very much for creating this tool! Are you planning on making this open source? I might be able to fork it to work with NodeJS, so it also works on Mac and Linux.

    ReplyDelete
  11. Is there a Github for this? I would love to see if skipping certain scenes is also possible with some additional coding, especially in light of the fact that VidAngel is supposedly open sourcing their repository of skip markers soon. See here:

    https://www.reddit.com/r/vidangel/comments/jgqg5y/what_is_the_status_on_the_skip_foundation_it_has/

    ReplyDelete
  12. Thank you. This is just mind-blowingly excellent! One small improvement would be if it could extract the subtitles from mkv files.
    Thanks!

    ReplyDelete
    Replies
    1. Thank you. It's an update I'm planning on adding in the future.

      Delete
  13. I have dragged the film into the videos section. I do not want subtitles so when I click add it says no subtitle file specified or no video quequed what am I doing wrong.? please advise

    ReplyDelete
    Replies
    1. You have to specify the subtitle file (in order for the tool to determine when to mute).
      You can choose to create subtitles (bottom left corner).

      Delete
    2. I clicked on create subtitles but it wouldn't let me type anything in

      Delete
    3. You have to use the button on the right hand side that looks like this: [...] to select the subtitle file.

      Delete
  14. sorry I have tried everything but to no avail, I shall have to find one that is idiot proof.
    thank you for your patience

    ReplyDelete
    Replies
    1. Send me an email: inieuwoudt1pc@gmail.com
      I'll help you there.

      Delete
  15. This app does NOT remove profanities try Archenemy

    ReplyDelete
    Replies
    1. Yes, everyone in the comment section seems to agree with you.

      Delete
  16. have you tried your app on Archenemy?

    ReplyDelete
  17. Hi thanks for this great piece of software, the upgraded version is cool :)
    just noticed that when i add an MKV file, and choose MKV output, the actual output is MP4, am i missing some setting? thanks alot

    ReplyDelete
    Replies
    1. Hi Denver, that issue should be fixed now. Just download the latest version again.
      Thank you.

      Delete
    2. Hi Ian,

      just downloaded the new file, but unfortunately the output is always MMp4 :(

      Delete
    3. Hi Denver, my apologies.
      Please check again and let me know if it's fixed now.

      Delete
  18. what do you do if there aren't any subtitles?

    ReplyDelete
    Replies
    1. Subtitles are required. You can download them from quite a few websites online.
      In the case that there are no subtitles available for a new movie - you will need to wait for them to come available

      Delete
  19. Can you show an example of what it means to add "Additional (split with break):" I cant seem to figure it out. Thanks

    ReplyDelete
    Replies
    1. If you want to add your own words, you can simply add it like this:

      BadWord1
      BadWord2
      BadWord3

      There has to be a line break (new line) to indicate the next word you want muted.

      Delete
  20. Is there way to not do subtitles and just the movie Filter

    ReplyDelete
    Replies
    1. Thus far I couldn't obtain code/library that allows me to remove the swear words based on audio only.

      Delete
  21. I just want to give you a resounding THANK YOU for this application! I have "adjusted" scores of movies in my collection. It makes them much more pleasurable to watch (and listen to ;). I even edit kid movies / shows to help protect my children's ears from unwanted and unwelcomed words. This has really been a great application for me to use, and I know that it took alot of time on your end. Thank you so much, and God bless you.

    ReplyDelete
    Replies
    1. Thank you, I'm glad you like it.
      God bless you too.

      Delete
  22. Hi Ian,

    Thanks so much for creating this! I have a feature request though. I'd like the ability to have the option to choose between the original audio track and the swearless audiotrack. What I do now is, create the swearless version with your software and after that open MKVGUIToolnix, combine the original and swearless video files to 1 MKV with 2 audio tracks (original and swearless) and also add both subtitle tracks. It is quite time consuming.

    Is it possible for you to create an option to create a new MKV file with original and swearless audiotracks/subtitles embedded in there? That would save me a lot of time :)

    ReplyDelete
    Replies
    1. I've looked at this and it's not possible to copy the original audio and make changes to it at the same time.
      If you want to, you can contact me and we can look at writing a small script to automate this for you.

      Delete
  23. Hi,
    I was just wondering as this is now unmaintained if you would be willing to release the source code for the movie profanity remover.
    Cheers,

    ReplyDelete
  24. Hello this is a great program it is working on my windows 10 laptop but I can't install it on my linux mint computer even if I use wine to install it any ideas on what might be the problem?

    ReplyDelete
    Replies
    1. Hi. I've never tried running a Windows application on any linux distro using wine before. Does it immediately crash? What happens when you try to run it?

      Delete
  25. Hi Ian. Let me start by thanking you so much for a God send program, from a proud to be a fellow South African. I recently again went postal within my social media circles regarding especially the Blaspheming of God's name in basically every movie. Pleaaaase do not stop improving this program, it is so, so needed !!! ... It though seem to miss some words when the movie is very long & this might just be me, but I can't seem to add words to the list of words to exclude? What do you mean with Additional (split with break): ... Do you mean with the colon ? , because that does not seem to work. All in all I'm so appreciative towards you for this & I thank you in Prayer for God to guide, bless & keep you!

    ReplyDelete
  26. Hi again Ian. My apology, disregard my question about how to add new words, I scrolled up [which I beforehand should have done] and found the relevant post dealing already with this. Take care brother!

    ReplyDelete
    Replies
    1. I'm happy you like it!
      I will always work on the program if updates are needed.
      Let me know if you have any other questions or concerns and I'll help where I can.
      Thank you for all the kind words!

      Delete
  27. How about nudity editor program is there anything out there

    ReplyDelete
    Replies
    1. Yes, but it's not free.
      https://www.vidangel.com/

      Delete
  28. Guess I should have read further down this comment section because THIS was what I needed to get a few words that used a BadWord and added something else to the end of it. I also wanted to say we really appreciate this program, there are several PG-13 and even some PG movies with only a few bad words in them that I haven't been able to share with my 8 year old son until now. Thank you for all your hard work and time in this.

    ReplyDelete
  29. Ian, thank you so much for Movie Profanity Remover 2.0. This has been a Godsend for my family. Today, many movies have a good storyline, but are ruined by obsessive profanity. The profanity is unnecessary and it's insulting. Ultimately, I was hoping to find a media player with a built-in profanity filter, but your software is the next best thing. I would appreciate knowing when updates are issued. Thank you again!

    ReplyDelete
    Replies
    1. Really happy to hear!

      A media player with a built in profanity remover based on audio is definitely something I'd like to write, however I'm not skilled enough (yet hopefully) to develop such an application.

      I did write one with a similar concept (using subtitles). You can get it here

      You'll know as soon as an update is released.

      Delete
    2. Since you are the only person in the entire world (that I can find) that has developed something that can remove profanity from video files and re-render them is proof that you ARE skilled enough. Thank you again for what you have done so far and I look forward to further development.

      Delete
    3. Thank you and it's only a pleasure!

      Delete
  30. Why does Movie Profanity Remover 2.0 sometimes generate a bunch of.wav files before it renders the new video? This does not happen all the time. The times it does it, I find some problems in the end video where the profanity is missed and not removed. The video tutorial may cover this, but the YouTube account was deleted, so the video tutorial is no longer available. I appreciate your help.

    ReplyDelete
    Replies
    1. The wav files are all of the different audio channels. Only some of them will get muted in order to keep the backround sound of the movie while only the vocals are muted. This works especially well when the background sound is loud at that time. When it's not loud, you might still hear the filtered word.

      I've been meaning to update the application to completely mute the sound if the dB are too low at that point, however I'm pretty busy with work.

      Delete
  31. I know it's in Beta, but how do I get the "Mute Vocals Only" to work? I have it checked and have tried various options. But it does not seem to work.

    Also, I often find that the subtitle file is off as much as 6 seconds from the actual vocals. I know I can adjust the Before and After milliseconds, but that doesn't help if the subtitle file is late and if it's early then it makes for a very long silence. Any recommendation on how to address this without manually editing the subtitle file 50 times to address each profane word?

    Thanks again for developing this software. I am unaware of anything else like this.

    ReplyDelete
    Replies
    1. The mute vocals only option only works when you have more than 3 audio channels (if I remember correctly).
      So I'll always use a movie that has 5.1 surround sound in order to get good results.

      For your second issue, I did write a program called subtitle shift. You can download it here.

      I'll add this sometime in the future to Movie Profanity Remover.

      Thank you - I just wanted to give a free alternative to people who didn't want to listen to swear words while watching a movie.

      Delete
    2. I posted without providing the link.
      You can find it here.

      Delete
  32. Hi Ian. Amazing work! We need more programmers like you. I would have a suggestion that I would LOVE to see. It would be convenient to have a little finer control over which words are removed. For example, I would like to remove the word "God" if used in the context "Oh my God", but would like to exclude it if used in the context of "Dear God" or "our God". I know I could use the full sentence filter and exclude "My God" but this would still allow the single word use. Instead, would it be possible to create a "sentence exclusion" list?

    Or even better, could you add the ability to see a list of filtered lines that could be removed if desired. For example, the list below:

    0:38:22.18 --> 0:38:24 what the h*ll is going on?
    1:09:27.74 --> 1:09:30.78 Oh, my God.
    1:10:15.20 --> 1:10:16.78 Jesus!
    1:18:44.82 --> 1:18:46.21 blow it all to sh*t.
    1:22:05.93 --> 1:22:08.19 to those who play God.
    2:05:23.01 --> 2:05:24.44 their invisible god...

    So in the above example, I would choose to preserve the last two edits because it would not be profanity. Keep up the great work and let me know what you think!

    ReplyDelete
    Replies
    1. Hi, thank you!

      I'll look at adding these in a feature update. Work is just keeping me busy.
      Adding an exclusion field is a good idea.

      And regarding the filtered lines - I wanted to do just that, but never went through with it.

      Once I get time and update the application, you'll get a notification inside the application indicating that an update was released.

      Thanks for your input!

      Delete
    2. You are the man! Since you are busy and short on time, implementing the second option (being able to select/exclude from a list of filtered lines) would offer the most functionality. If you do that, I would say my first suggestion could be skipped. In other words, no need to do both if having the selectable option to choose which words to keep/remove. Thanks Ian!

      Delete
    3. Maybe I'll add both, but at the very least, the second option is a good idea.

      Delete
  33. Ian, am I correct that if I select "Filter Full Sentence" your software silences the audio from the start time of that subtitle to the end time of that subtitle? And then if I select "Filter Single Word", does the software try to estimate the time of the profane word in the sentence based on the start and stop time of that subtitle? If that's true, to accomplish this, does the software count the number of words in the sentence and add some milliseconds for each word to the start time of that subtitle in order to estimate the time of the profane word? I am trying to understand how this works to help me fine-tune settings for the movie I am working on. I appreciate your help. Jim

    ReplyDelete
    Replies
    1. You are spot on. It basically takes the start time and end time of that subtitle, then calculates what millisecond should be the center of that word and lastly, based on your settings, would mute 500ms to the left and 500ms to the right of that time. This works fairly well if your subtitles are synced and doesn't stay on screen prior to or after the person finished talking.

      Does that answer your question?

      Delete
  34. Ian, I have been playing around with the Mute Vocals Only feature. I know that's not possible on all videos, but for those that it is, I find that I can still hear the profanity. The volume is reduced, but I can still hear the word(s). So for now I am not using that feature. Also, if you make improvements to the software and would like someone to help beta test, I would be glad to help.

    ReplyDelete
  35. Ian, ignore the message I sent you about the Additional Words section not working. Not sure what I was doing, but it appears to work now. I do have a question though. Would it be difficult to add the ability to use a wild card (e.g. *) in the Additional Words section? That would make it easy to filter a profane word's variations. For example, when writers add "it" at the end of a word, or instead of the word ending in "y" they use "ie". Food for thought. Thanks, Jim

    ReplyDelete
  36. This is an amazing project - many, many, many thanks.

    ReplyDelete
  37. Hey there! Would you be at all open to making an enhancement that allows for populating the queue from a JSON file that contains an array of Video & SubTitle pairs? Maybe adding command line functionality. This tool is among the best, so many thanks! As of right now, it is very difficult to process 60 files by handpicking each one.

    ReplyDelete
    Replies
    1. Hi. You can drag and drop an entire folder on the application and it should populate the queue. The movie/subtitle needs to have the same name.

      Delete
  38. This is an AMAZING program. Please please please keep an eye on the comments here and continue updating it if you have time and when something is broken. I'm using the 'mute vocals only' option and I'm blown away at how great this works! Thank you so much for creating this!

    ReplyDelete
  39. Would you be able to make this open source?

    ReplyDelete
    Replies
    1. Hi. It is open source (although it might be spaghetti code as I was still on university when I wrote this).
      https://github.com/nieuwoudtza/Movie-Profanity-Remover-2.0

      Delete
  40. the embed subtitle feature works great. But its disabled by default when you play the Video. How to enable it by default. The Sony TV I have does not have subtitle feature. Maybe if the subtitle is enabled by default it might show up on my TV?

    ReplyDelete
    Replies
    1. Hi Levi, you might want to look at keyed subtitles (burned onto the video). Take a look at this link

      Delete
  41. This is a wonderful program, I am finally able to watch movies and tv shows with out all the bad language. I would like to request an option to select the language in the output file. At this time it defaults to the 1st language it sees if there are multiple languages. Again thankyou for this program.

    ReplyDelete
    Replies
    1. Thanks! I'll add this when I get time to make an update.

      Delete
  42. This is a great tool! I am running into issues with certain modifier words F@#$ED, F@#$ING, S@#$TY for example and i've put them in the additional section but it doesnt seem to be working. Is there an additional thing i need to select for it to take this into consideration? Ive separated them with a space (word word word) i've also tried just doing a single word and it doesn't take.

    ReplyDelete
    Replies
    1. Hi. You should plit the words with a line break e.g.:

      word1
      word2
      word3

      Only select a single side [Full sentence/Single word].

      If you selected single word, make sure that the before/after values are high enough (500ms each should be enough).

      And double check that the subtitles are accurate.

      Delete
  43. Hello Ian.I want to thankyou very much for this wonderful program.Its really a time saver when it comes to editing movies.I was wondering if you would consider a new feature for when a word is not known by the subtitles.Could you have something that mutes from the chosen start time to the chosen end time.Maybe have something like a comma separating the beginning and end.For example:: 00:01:15.000 , 00:01:17.000 ::Then the next line would represent the next cut times. I really don't know how it works but if you could do something that can at least mutes the chosen duration I would very much appreciate it.Again, thankyou!

    ReplyDelete
    Replies
    1. Hi, glad to hear you like it! I'm not quite sure I understand what you mean regards to the feature. Could you elaborate more on the feature?

      Delete
    2. I'm sorry if what I said was incoherent.Let me see if I can explain this in a way that is easy to visualize.So what I was saying is that you should have a button at the bottom of the window that opens up another window.This window would allow inputing text.The text that would be typed in would be the starting position time of when the swear word is about to start.Then similar to how you choose what words to filter you would have some kind of comma or something to distinguish that another time is going to be typed.After that mark is placed the videos time after the swear word could be typed.To put it simply allowing the user to choose a small section of video that you want muted.I hope I was clear.

      Delete
    3. I think I know what you mean as well. Right now even if you have "perfect" subtitles there can be cases where a 5 second span of the subtitle being on screen has a single word being muted. But the timing is shifted so it's being missed or partially redacted. This can happen even if the start of the subtitle and end of the subtitle is as close as possible.

      The solution is then to get into the subtitle editor and start manually adjusting the start of the section or the length, saving the subtitle file, and then redoing the process of adding the video and starting it in your program. This can take a while to finish especially if it's a 3 hour movie and you have to keep fiddling around with the subtitle file to get it done.

      An amazing enhancement would be to have a step after you add the video but before you hit "Go". This would parse the subtitle file and pop up a window with the detected word and the time range which will be muted. In this new window you could manually adjust the exact millisecond of the start and end of the range. For instance I can play the original file in VLC and get some very specific timestamps on a word and then fix it in the this new editing window before we hit "Go".

      Ideally if we have to go back in and make minor changes after the first pass, the slight adjustments to the values would still be there. Or we could even pick arbitrary segments of audio to be redacted even if there's no word in the subtitle file that corresponds. It would also be nice to have an option per detected word on if it's muting all audio channels or just the vocals. In most cases the vocal muting works great because the surrounding music and ambiance is still there so it's not as obvious. But sometimes the vocals go into full surround and it really needs to be removed on all channels.

      Of course, an even more complex improvement would be the ability to play back the focused audio segments in the GUI itself. Then you could tell right away if you are really removing the right portion. If there was a visible waveform that was interactive somehow, this could tie in to the editing process.

      I think a simple text editing of the in a window of the audio ranges before hitting "Go" would save a LOT of time for me at least. I'm confident others would as well.

      Thanks for all the hard work so far!

      Delete
    4. I believe when the program does not mute a line/part when it should, it's because of overlapping.
      This shouldn't take too long to fix, however I'm considering rewriting the project to improve everything. This will also only be possible once I have time to do that.

      I'll also implement a way to modify the mute start, end and length for each occurrence found in a movie.

      Playing the focused audio segments in the GUI itself is something I could look at, but I can't make any promises that it would be in the release.

      Delete
  44. Hi Ian, thanks for such an amazing tool! For a while I was missing some features and since this project is unmaintained, I decided to make my own version.
    I've written it in NodeJS with an Electron wrapper. It's still a work in progress and I've not released it yet. Here is a video of the current version running:
    https://i.imgur.com/KtyJ29G.mp4

    ReplyDelete
    Replies
    1. Hi Guido. Can you please contact me here.

      Delete
    2. Guido....have you made this version available anywhere? Thank you!

      Delete
    3. I'll have a version up in hopefully a week :)

      Delete
    4. Guido, do you have a release available yet?

      Delete
  45. Ian, thank you for creating this app. As a fellow Christian, there are some movies that are great movies but would be better without profanity. I can tolerate some profanity, but a lot of times, it's just unnecessarily inserted. Especially "kids" movies that have a PG rating due to mild profanity.

    One question: Are there any built-in switches that can be used to bypass the GUI and script the app? I'd like to set up an automated process with it.

    ReplyDelete
    Replies
    1. Hi, I'm happy you find the tool useful.
      For now, there's no command line utility, however, there's a new tool in the works (not created by me) that should be able to do this. I'll leave a comment when it's released.

      Delete
  46. This app works great! Thank you so much for creating it. I've looked for something like this for quite awhile and finally came across it on one of the forums I visit occasionally I think. Being new to this type of activity, I had a little trouble understanding that I had to download and save the subtitle separately to use it in the app and then my next problem was realizing once I had chosen both the video and the subtitle, I had to click on "ADD". After that I had to choose the Filter Options. But it only took a short time to figure that out. Thanks again for a great app that allows my family to watch some great movies that have a little too much vulgar language.

    ReplyDelete
  47. Just want to say that I got it working now, but only with mkv files, for some reason it doesnt remove profanity
    from my mp4 files.

    ReplyDelete