A Kotlin application to censor profanity within an audio file using ffmpeg
Check out the examples folder for a sample input and a generated output of this application.
This project relies on ffmpeg to modify audio and censor profanities.
This project also uses Google's Cloud Speech-to-Text API and as such, will require authentication to carry out any audio analysis.
After cloning and downloading the project, please follow this guide in order to have an enviroment that can run this application
Follow this excellent guide on how to install ffmpeg on your machine
Firstly, you will need to create an application within Google's Cloud Console and enable the Cloud Speech-to-Text API.
Once completed, follow these steps in order to correctly generate the auth file required:
-
Go to the Create service account key page in the GCP Console.
-
From the Service account drop-down list, select New service account.
-
Enter a name into the Service account name field.
-
From the Role drop-down list, select Project > Owner.
-
Click Create. A JSON file that contains your key downloads to your computer.
-
Within a terminal, create an environment variable
GOOGLE_APPLICATION_CREDENTIALS
that points to the path of the downloaded file.
This project is still a work in progress, full usage details will be provided as soon as possible
I welcome contributions and discussion for new features or bug fixes. It is recommended to file an issue first to prevent unnecessary efforts, but feel free to put in pull requests in the case of trivial changes. In any other case, please feel free to open discussion and I will get back to you when possible.
Thanks to Savvas Constantinides for the project idea!