Home  >  Article  >  Backend Development  >  Python cut mp3 segments into one every 30 seconds and reduce file bitrate

Python cut mp3 segments into one every 30 seconds and reduce file bitrate

PHPz
PHPzforward
2023-04-12 09:28:021396browse

MoviePy is a Python-based video editing library that provides functions for creating, editing, merging, clipping and converting videos. The following are the main functions of MoviePy:

Video editing: MoviePy can edit videos, separate video and audio streams, add and delete video and audio segments, etc.

Video Merger: MoviePy can merge multiple video and audio files into one.

Video transcoding: MoviePy can convert video formats and encoding methods, such as converting mp4 to avi or converting H.264 encoding to H.265 encoding, etc.

Video editing: MoviePy can add video special effects, animations, subtitles, etc. to make the video more vivid and creative.

Video generation: Use MoviePy to create customized videos, such as generating slideshows, animations, etc.

Video processing: MoviePy can perform some processing on videos, such as cropping, scaling, rotation and color adjustment.

In short, MoviePy provides Python developers with a simple and easy-to-use framework to process videos without having to learn complex video editing software. It's powerful enough to handle video processing, editing, and generation with ease.

This article mainly introduces how to use moviepy to split the audio stream and reduce the bit rate.

1. Preparation

Before you start, you must ensure that Python and pip have been successfully installed on your computer. If not, you can visit this article: Super Detailed Python Installation Guide to install it.

(Optional 1) If you use Python for data analysis, you can install Anaconda directly: Anaconda, a good helper for Python data analysis and mining, has built-in Python and pip.

( Optional 2) In addition, it is recommended that you use the VSCode editor, which has many advantages: The best partner for Python programming—VSCode Detailed Guide.

Please choose any of the following methods to enter the command to install dependencies:

  • Windows environment Open Cmd (Start-Run-CMD).
  • MacOS environment Open Terminal (command space and enter Terminal).
  • If you are using the VSCode editor or Pycharm, you can directly use the Terminal at the bottom of the interface.
pip install moviepy

2. Moviepy split audio

To use the MoviePy library To cut the uploaded mp3/wav every 30 seconds and reduce the file bitrate, we can follow the steps below.

  • Import the MoviePy library and other required libraries:
import os
from moviepy.editor import *
  • Define a function to cut the audio file and reduce the bitrate:
The
def split_audio_file(filename, split_duration=30, bitrate=16000):
# 读取音频文件
audio = AudioFileClip(filename)

# 计算文件总时长和切割点
total_duration = audio.duration
split_points = list(range(0, int(total_duration), split_duration))
split_points.append(int(total_duration))
filelist = []
# 切割音频文件并降低码率
for i in range(len(split_points) - 1):
start_time = split_points[i]
end_time = split_points[i+1]
split_audio = audio.subclip(start_time, end_time)
split_audio.write_audiofile(f"{os.path.splitext(filename)[0]}_{i}.wav", fps=bitrate)
filelist.append(f"{os.path.splitext(filename)[0]}_{i}.wav")
audio.close()
return filelist

function accepts three parameters: filename represents the name of the audio file to be processed, split_duration represents the length of time to split the file (in seconds), and bitrate represents the output code rate to be set (in bitrate).

In the function, we first read the audio file and then calculate the cutting point. Then, we use a loop to traverse each cutting point, cut the audio file into small files and reduce the bit rate, and finally output it as a new audio file.

  • Call the function to process audio files:
filename = "your_audio_file.mp3"# 要处理的音频文件名
split_duration = 30# 按每30秒一个切割文件
bitrate = "64k"# 设置输出码率为64kbps
split_audio_file(filename, split_duration, bitrate)

When calling the function, pass the name of the audio file to be processed, the length of the cut file and the output bit rate as parameters to the function That’s it. This function will output the processed audio file to the current directory.

3.Mp3 output bit rate

Please note that the output bit rate cannot be adjusted too low. The output bitrate of MP3 files will affect the audio quality and file size. The higher the output bitrate, the better the audio quality, but the file size will also be larger. On the contrary, the lower the output bitrate, the audio quality will be reduced, but the file size will be smaller.

The code rate of an MP3 file refers to the number of bits required per second (i.e. bit rate). When encoding, the MP3 algorithm will determine the amount of compressed audio data based on the set bit rate, thus affecting the size and quality of the output file. Generally, higher bitrates produce higher audio quality, but also take up more storage space and bandwidth.

If the output bit rate is set too low, it will cause significant loss of audio quality, and problems such as audio noise, distortion, and low-frequency truncation may occur. If the output bitrate is set too high, the file size will become very large, which may make transfer and storage difficult.

Therefore, when selecting the output bit rate, you need to weigh the audio quality and file size requirements, as well as transmission and storage limitations according to the specific situation. Generally speaking, 128 kbps is a commonly used MP3 output bitrate, which produces better sound quality and appropriate file sizes.

The above is the detailed content of Python cut mp3 segments into one every 30 seconds and reduce file bitrate. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete