patrickduncan / cleansio Goto Github PK
View Code? Open in Web Editor NEWReal-time music censoring - Capstone
License: MIT License
Real-time music censoring - Capstone
License: MIT License
pip install --upgrade google-cloud-speech
throws error:
FileNotFoundError: [Errno 2] No such file or directory: '/home/travis/virtualenv/python3.4.6/lib/python3.4/site-packages/six-1.10.0.dist-info/METADATA'
I would like a detailed diagram of the main actions as of c5d310f. It would help greatly when new teammates are added to our project.
Please use https://draw.io and make it open for extension.
PERT Charts or other project management technique, Continuous, with rotating deadlines per group: 10%
To improve the accuracy of #70, use an overlapping audio chunk.
Right now we're sequentially breaking up the audio file into 5 second chunks. The problem with this is the lyrics at the border between 2 audio chunks is cut off. By using another audio chunk that is 2.5 seconds ahead we can avoid this issue.
Provide documentation on how to set up it on Windows. Assume they're using Windows 7+ and Bash
We shouldn't output lyrics at all, so please remove the code which does so.
Script should exit with the same code as the pylint call.
Traceback (most recent call last):
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/grpc_helpers.py", line 59, in error_remapped_callable
return callable_(*args, **kwargs)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/grpc/_channel.py", line 532, in __call__
return _end_unary_response_blocking(state, call, False, None)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/grpc/_channel.py", line 466, in _end_unary_response_blocking
raise _Rendezvous(state, None, None, deadline)
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Must use 16 bit samples for LINEAR_PCM, but WAV header indicates 32 bit per sample."
debug_error_string = "{"created":"@1545427960.216637000","description":"Error received from peer","file":"src/core/lib/surface/call.cc","file_line":1099,"grpc_message":"Must use 16 bit samples for LINEAR_PCM, but WAV header indicates 32 bit per sample.","grpc_status":3}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "cleansio/cleansio.py", line 46, in <module>
transcribe(AudioFile(sys.argv[1]))
File "/Users/patrick/dev/cleansio/cleansio/speech/transcribe.py", line 14, in transcribe
audio_file.sample_rate)
File "/Users/patrick/dev/cleansio/cleansio/speech/transcribe.py", line 32, in transcribe_each_slice
response = client.recognize(config, audio)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/cloud/speech_v1/gapic/speech_client.py", line 227, in recognize
request, retry=retry, timeout=timeout, metadata=metadata)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/gapic_v1/method.py", line 139, in __call__
return wrapped_func(*args, **kwargs)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/retry.py", line 260, in retry_wrapped_func
on_error=on_error,
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/retry.py", line 177, in retry_target
return target()
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/timeout.py", line 206, in func_with_timeout
return func(*args, **kwargs)
File "/Users/patrick/anaconda3/lib/python3.6/site-packages/google/api_core/grpc_helpers.py", line 61, in error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)
File "<string>", line 3, in raise_from
google.api_core.exceptions.InvalidArgument: 400 Must use 16 bit samples for LINEAR_PCM, but WAV header indicates 32 bit per sample.
Based off #56, we need to increase the volume of the audio file to the threshold before clipping.
According to pydub's doc there's a relative loudness endpoint and it also supports modifying the loudness of a file
Now that we've located where the explicits are, we need to ensure the user doesn't hear those words. Based on the timestamps mute sections of the audio chunk created by Cleansio and stored in ~/.cleansio-temp
.
Convert to FLAC on runtime
Create a temporary WAVE file if they input something other than FLAC/WAVE.
Delete the file after execution. Use system's temp.
Defaulting to WAVE because it yields higher GCS results.
If you exit the program early the temporary files will stay in the folder. Implement some type of finally block.
Please create a file that details how a developer should go about contributing to our project. A step-by-step procedure.
Follow https://gist.github.com/PurpleBooth/b24679402957c63ec426, ours should be a fraction of the length!
Be sure to add stuff like if you add a library to the project document how others can install it in the README.
Now that we have a list of explicits, we need to locate where each word is sung in the 5 second audio chunk.
Transcribe an entire song by transcribing small 10~ second chunks
Use argparse
Currently, we're just printing the JSON response. Display it like this:
09/34: I left my girl at home
10/34: I don't love her no more
In real-time mode Google Cloud Speech will be constantly called over and over again in a very short period of time.
Please add at least 3 more songs to https://github.com/PatrickDuncan/cleansio/wiki/Beats-Per-Minute-(BPM)-Research and https://github.com/PatrickDuncan/cleansio/wiki/Vocal-Pitch-Research
Break up the single script
We need to combine the lists if the user provides one. We should also provide a way for the user to choose how the lists should be combined, or whether the user-provided list should override our internal one.
It's possible for multiple chunks to be individually inoffensive, but be offensive when combined with each other. (For example, the letters in F-*-*-* said individually).
These should also be censored.
We need a logo for our project.
We need to have an internal list of explicit words in case the user doesn't choose to provide their own list. This should be an encrypted YAML file.
Find the sample rate of the file and change the GCS request instead of making it static.
If the sampling rate cannot be found convert the sample rate to a default value.
Everything is currently in the root. Break it up following https://realpython.com/python-application-layouts/
GCS requires at least 16000
String interpolation is was added to Python on v3.6. We support v3.4-v3.6, remove all f""
.
We definitely need unit tests.
We need a wiki page that lists every library we're using and why we're using it. Also add a link to the library.
With TravisCI check if the branch is master and push a new latest version to Docker Hub
We shouldn't use a hard-coded list. Please add code which loads in an encrypted YAML list of swear words before the rest of the program runs.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.