Skip to content
/ sudio Public

digital audio processing library that simplifies mixing, editing, effect application, and manipulating audio. 🎡 Whether slicing tracks, applying filters, or creating complex effects, Sudio supports various codecs like MP3, Vorbis, FLAC, and WAV. 🎧

License

Notifications You must be signed in to change notification settings

mrzahaki/sudio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

sudio

Sudio 🎡

PyPI version PyPI Downloads Documentation Status Build Status Python Version Supported OS License Open in Colab

use case of audio processing and manipulation, providing set of tools for working with digital audio files. supports operations like time-domain slicing, frequency filtering, audio mixing, streaming, and effect application across various audio formats, making complex audio engineering tasks accessible through a pythonic interface.

πŸš€ Quick Start

Installation

install Sudio using pip:

pip install sudio==1.0.10

Basic Usage

an example to get you started with sudio:

import sudio
from sudio.process.fx import (
    PitchShifter, 
    Tempo, 
    ChannelMixer, 
    FadeEnvelope, 
    FadePreset
)
su = sudio.Master()

song = su.add('./Farhad Jahangiri - 5 Sobh (320).mp3')

cool_remix = (
    song[:40]
    .afx(
        PitchShifter, 
        semitones=-3
    ).afx(
        PitchShifter, 
        start=2,
        duration=0.8,
        envelope=[0.8, 2, 1]
    ).afx(
        PitchShifter, 
        start=10,
        duration=0.8,
        envelope=[0.65, 3, 1]
    ).afx(
        PitchShifter, 
        start=20,
        duration=0.8,
        envelope=[2, 0.7, 1]
    ).afx(
        PitchShifter, 
        start=30,
        duration=4,
        envelope=[1, 3, 1, 1]
    ).afx(
        Tempo,
        envelope=[1, 0.95, 1.2, 1]
    ).afx(
        FadeEnvelope, 
        start=0,
        stop=10,
        preset=FadePreset.SMOOTH_FADE_IN
    )
)

side_slide  = (
    song[:10].afx(
        ChannelMixer, 
        correlation=[[0.4, -0.6], [0, 1]]
    ).afx(
        FadeEnvelope, 
        preset=FadePreset.SMOOTH_FADE_OUT
    )
)

cool_remix = side_slide  + cool_remix 

# simple 4 band EQ
cool_remix = cool_remix[
        : '200': 'order=6, scale=0.7', 
        '200':'800':'scale=0.5', 
        '1000':'4000':'scale=0.4', 
        '4000'::'scale=0.6'
    ] 

su.export(
    cool_remix, 
    'remix.mp3', 
    quality=.8, 
    bitrate=256
    )

su.echo(cool_remix)

Remix

Listen to the remix

Original

Listen to the main track

it used effects like PitchShifter, which allows dynamic pitch alterations through static semitone shifts and dynamic pitch envelopes, Tempo for seamless time-stretching without pitch distortion, ChannelMixer to rebalance and spatialize audio channels, and FadeEnvelope for nuanced amplitude shaping. The remix workflow shows the library's flexibility by applying multiple pitch-shifting effects with varying start times and envelopes, dynamically adjusting tempo, adding a smooth fade-in, creating a side-slide effect through channel mixing, and scaling different remix sections. By chaining these effects together you can craft complex audio transformations, enabling audio remixing with just a few lines of code.

Explore Sudio

Get started with Sudio processing in minutes using Google Colab!

🎹 Key Features

Handles both real-time streaming and offline processing, allowing for dynamic applications like live audio effects as well as batch processing of audio files.

Allows integration of custom processing modules.

Flexible audio playback, precise time-domain slicing, and Comprehensive filtering options

Advanced audio manipulation (joining, mixing, shifting)

Real-time audio streaming with dynamic control (pause, resume, jump)

Custom audio processing pipelines for complex effects

Multi-format support with quality-controlled encoding/decoding

πŸ“š Documentation

for detailed documentation and examples, visit the Sudio Documentation.

πŸ’– Support Sudio

I don't need your support. The link below is fake! Don't click on it, and don't pay anything. I mean it, just ignore it!

ko-fi

πŸ“„ License

released under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. See the LICENSE file for details.

About

digital audio processing library that simplifies mixing, editing, effect application, and manipulating audio. 🎡 Whether slicing tracks, applying filters, or creating complex effects, Sudio supports various codecs like MP3, Vorbis, FLAC, and WAV. 🎧

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project