All Projects → lagmoellertim → Unsilence

lagmoellertim / Unsilence

Licence: mit
Console Interface and Library to remove silent parts of a media file 🔈

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Unsilence

video-audio-tools
To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
Stars: ✭ 164 (-16.75%)
Mutual labels:  video-processing, audio-processing
Auto Editor
Auto-Editor: Effort free video editing!
Stars: ✭ 382 (+93.91%)
Mutual labels:  video-processing, audio-processing
DuME
A fast, versatile, easy-to-use and cross-platform Media Encoder based on FFmpeg
Stars: ✭ 66 (-66.5%)
Mutual labels:  video-processing, audio-processing
looking-to-listen-at-cocktail-party
Looking to listen at cocktail party
Stars: ✭ 33 (-83.25%)
Mutual labels:  video-processing, audio-processing
Awesome Video
A curated list of awesome video frameworks, libraries, specifications and software.
Stars: ✭ 124 (-37.06%)
Mutual labels:  media, video-processing
lecture-demos
Demonstrations for the interactive exploration of selected core concepts of audio, image and video processing as well as related topics
Stars: ✭ 12 (-93.91%)
Mutual labels:  video-processing, audio-processing
Vectorhub
Vector Hub - Library for easy discovery, and consumption of State-of-the-art models to turn data into vectors. (text2vec, image2vec, video2vec, graph2vec, bert, inception, etc)
Stars: ✭ 317 (+60.91%)
Mutual labels:  video-processing, audio-processing
ion-avp
Audio/Video Processing Service
Stars: ✭ 55 (-72.08%)
Mutual labels:  video-processing, audio-processing
Video2description
Video to Text: Generates description in natural language for given video (Video Captioning)
Stars: ✭ 107 (-45.69%)
Mutual labels:  video-processing, audio-processing
Arcan
Arcan - [Display Server, Multimedia Framework, Game Engine] -> "Desktop Engine"
Stars: ✭ 885 (+349.24%)
Mutual labels:  video-processing, audio-processing
ffcvt
ffmpeg convert wrapper tool
Stars: ✭ 32 (-83.76%)
Mutual labels:  video-processing, audio-processing
Prism Media
Easily transcode media using Node.js 🎶
Stars: ✭ 136 (-30.96%)
Mutual labels:  media, audio-processing
eloquent-ffmpeg
High-level API for FFmpeg's Command Line Tools
Stars: ✭ 71 (-63.96%)
Mutual labels:  video-processing, audio-processing
Mlt
MLT Multimedia Framework
Stars: ✭ 836 (+324.37%)
Mutual labels:  video-processing, audio-processing
Avdemo
Demo projects for iOS Audio & Video development.
Stars: ✭ 136 (-30.96%)
Mutual labels:  video-processing, audio-processing
Mediapipe
Cross-platform, customizable ML solutions for live and streaming media.
Stars: ✭ 15,338 (+7685.79%)
Mutual labels:  video-processing, audio-processing
Sickchill
Less rage, more chill.
Stars: ✭ 2,166 (+999.49%)
Mutual labels:  media
Anime4k
A High-Quality Real Time Upscaler for Anime Video
Stars: ✭ 14,083 (+7048.73%)
Mutual labels:  video-processing
Online Video Editor
API based Online Video Editing using FFMPEG & NodeJs for Backend Editing
Stars: ✭ 176 (-10.66%)
Mutual labels:  video-processing
Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+1014.21%)
Mutual labels:  audio-processing

Unsilence

Console Interface and Library to remove silent parts of a media file

MIT License Badge Github Action Badge Docker Cloud Build Status Documentation Build Status Codacy Badge Lines of code


Demo

Unedited (Before) Processed by Unsilence (After)
Unedited Demo Video Edited Demo Video
Time before edit: 0:09:45 (100%) Time after edit: 0:07:56 (81.2%), Difference: -0:01:50 (-18.8%)

The MIT Intro at the beginning is not included into the time, since I left it in to show the license of the videos.

These videos are from this online lecture:

Ana Bell, Eric Grimson, and John Guttag. 6.0001 Introduction to Computer Science and Programming in Python. Fall 2016. Massachusetts Institute of Technology: MIT OpenCourseWare, https://ocw.mit.edu. License: Creative Commons BY-NC-SA.

More Information about Licensing can be found in the Licensing Segment of this README.

Introduction

Unsilence is an open-source tool that removes silence from a media clip of your choice (audio, video).

You can use it to speed up videos without changing the audible speed, so you can understand everything, but get through a video faster.

Exemplary use cases

  • You are a college student and watch your lectures online (but have access to the video files). Instead of just increasing the playback speed to ~1.5x, you can remove the parts that do not contain any value, like your lecturer thinking or waiting for something. But instead of cutting out these silent parts, speeding them up by a different, much faster factor (think 6-8x) makes you still able to follow what is happening, so drawing or writing with no speech is sped up, which makes it far more pleasant to watch

  • You want a video editor that automatically cuts any time you talk (or make any sound). That could be useful for manual time lapses (you make a sound every time a short segment should be recorded), or for very fast jump cut videos with no manual editing required

  • You want to have some fun and remove all the audible parts from a video, leaving only the parts where nearly silent noises are in the video (breathing, writing, ...)

Communication

If you have any (technical) questions about unsilence or want to get community feedback, you can use the new GitHub Discussions Feature. To report a bug or suggest a new feature, create a new issue instead.

Usage Information

Unsilence can be used as a console line interface or as a python library, with which you can develop your own projects

Prerequisites

  • Python >= 3.7.0
  • pip (should be installed automatically with python, could be different on some linux distros)
  • ffmpeg >= 4.2.4

In order to see the fancy progress bar and other terminal styling on windows, you should use Windows Terminal.

Installation as command line interface (using pip and pipx)

# Installing pipx
pip install pipx

# Installing Unsilence as Command Line Software
pipx install unsilence

# If pipx asks you to, you also need to execute the following line
# as well as close and reopen your terminal window
pipx ensurepath

Installation as library (using pip)

# Installing Unsilence as Command Line Software
pip install unsilence

Installation as command line interface (from source)

# Clone the repository (stable branch)
git clone -b master https://github.com/lagmoellertim/unsilence.git unsilence

#Change Directory
cd unsilence

# Install pip packages
pip install -r requirements.txt
pip install pipx

# Install unsilence package
pipx install .

Installation as library (from source)

# Clone the repository (stable branch)
git clone -b master https://github.com/lagmoellertim/unsilence.git unsilence

#Change Directory
cd unsilence

# Install pip packages
pip install -r requirements.txt

# Install unsilence package
python3 setup.py install

Basic Command Line Usage

This generates a new file, where the silent parts are 6x as fast as before, the audible parts are the same speed as before

unsilence [input_file] [output_file]

You can change the speed of audible parts with -as [speed], the speed of silent parts with -ss [speed]

unsilence [input_file] [output_file] -as [speed] -ss [speed]

You can change the volume of audible parts with -av [volume], the volume of silent parts with -sv [volume]

unsilence [input_file] [output_file] -av [volume] -sv [volume]

To generate an audio only output file, you can add the -ao flag

unsilence [input_file] [output_file] -ao

To speed up the rendering process, you can increase the thread count using -t [threads]

unsilence [input_file] [output_file] -t [threads]

For many more settings, type -h or --help

unsilence --help

Basic Library Usage

Take a look at this example

Idea/Inspiration

For this project, I took inspiration from the CaryKH's video Jumpcutter. This project does not share any source code with his implementation, and is more optimized for my use case (fast and efficient lecture silence removal).

Contributing

If you are missing a feature or have new idea, go for it! That is what open-source is for! 😃

Author

Tim-Luca Lagmöller (@lagmoellertim)

Donations / Sponsors

I'm part of the official GitHub Sponsors program where you can support me on a monthly basis.

GitHub Sponsors

You can also contribute by buying me a coffee (this is a one-time donation).

Ko-Fi Sponsors

Thank you for your support!

License

The Code is licensed under the

MIT License

Copyright © 2019-present, Tim-Luca Lagmöller

All used videos are licensed under the

Creative Commons BY-NC-SA License

Have fun 🎉

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].