Merge pull request #158 from jrafaaael/master

feat: convert audio from an extension to another (e.g. mp3 to wav)
This commit is contained in:
Bartick Maiti 2022-10-06 02:11:59 +05:30 committed by GitHub
commit 945d44ffeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# Audio Converter
CLI tool to convert an audio file from one extension to another (e.g. mp3 to wav)
## Requirements
- [FFmpeg](https://ffmpeg.org/)
## Usage
### Convert all audio files in a specific directory
```bash
python3 audio-converter.py -p <YOUR-PATH-WAS-HERE> -e <THE-DESIRED-EXTENSION>
```
e.g.
```bash
python3 audio-converter.py -p /home/username/Music -e .wav
```
### Convert specific audio file
```bash
python3 audio-converter.py -p <YOUR-PATH-WAS-HERE> -e <THE-DESIRED-EXTENSION>
```
e.g.
```bash
python3 audio-converter.py -p /home/username/Music/test.mp3 -e .wav
```

View File

@ -0,0 +1,51 @@
import subprocess
import os
import argparse
parser = argparse.ArgumentParser(
description='A program to convert audio to another audio format'
)
parser.add_argument(
'-p',
'--path',
type=str,
help='''
The full path of file to convert OR
the full path of folder that contains all files to convert'
''',
required=True
)
parser.add_argument(
'-e',
'--extension',
type=str,
help='The type of extension to convert the audio',
default='.mp3',
required=False
)
def convert(file, extension):
file_name, _ = file.split('.')
output_name = file_name + extension
subprocess.run(['ffmpeg', '-i', file, output_name])
def convert_all(path, extension):
for _, _, files in os.walk(path):
for file in files:
convert(file, extension)
if __name__ == "__main__":
args = parser.parse_args()
path = args.path
extension = args.extension
os.chdir(os.path.dirname(path))
if (os.path.isdir(path)):
convert_all(path=path, extension=extension)
else:
convert(file=path, extension=extension)