{"id":27979463,"url":"https://github.com/mrzahaki/sudio","last_synced_at":"2025-05-08T02:53:34.706Z","repository":{"id":47691692,"uuid":"316511892","full_name":"mrzahaki/sudio","owner":"mrzahaki","description":"Open-Source Digital Audio Processing Platform used for 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. 🎧","archived":false,"fork":false,"pushed_at":"2025-02-16T19:00:05.000Z","size":14048,"stargazers_count":22,"open_issues_count":0,"forks_count":10,"subscribers_count":9,"default_branch":"Master","last_synced_at":"2025-05-08T02:53:24.631Z","etag":null,"topics":["audio-analysis","audio-decoding","audio-effects","audio-encoding","audio-manipulation","audio-processing","audio-streaming","python"],"latest_commit_sha":null,"homepage":"https://mrzahaki.github.io/sudio/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mrzahaki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":["https://donate.webmoney.com/w/OTmd0tU8H4gRUG4eXokeQb"]}},"created_at":"2020-11-27T13:41:38.000Z","updated_at":"2025-03-21T22:57:08.000Z","dependencies_parsed_at":"2025-02-16T19:19:47.651Z","dependency_job_id":"344ee8ba-6fd8-4613-b414-9ef54970d83e","html_url":"https://github.com/mrzahaki/sudio","commit_stats":{"total_commits":27,"total_committers":4,"mean_commits":6.75,"dds":"0.37037037037037035","last_synced_commit":"a42a42abba0e260c2e5b056f9c9e68ca4cdc8206"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrzahaki%2Fsudio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrzahaki%2Fsudio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrzahaki%2Fsudio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrzahaki%2Fsudio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrzahaki","download_url":"https://codeload.github.com/mrzahaki/sudio/tar.gz/refs/heads/Master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252989963,"owners_count":21836667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio-analysis","audio-decoding","audio-effects","audio-encoding","audio-manipulation","audio-processing","audio-streaming","python"],"created_at":"2025-05-08T02:53:34.158Z","updated_at":"2025-05-08T02:53:34.697Z","avatar_url":"https://github.com/mrzahaki.png","language":"Python","funding_links":["https://donate.webmoney.com/w/OTmd0tU8H4gRUG4eXokeQb"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cpicture style=\"pointer-events: none; user-select: none;\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/mrzahaki/sudio/Master/docs/_static/sudio.png\" alt=\"sudio\" width=\"60%\" height=\"60%\"\u003e\n    \u003c/picture\u003e\n\u003c/div\u003e\n\n\n# Sudio 🎵\n\n[![PyPI version](https://badge.fury.io/py/sudio.svg)](https://badge.fury.io/py/sudio)\n[![PyPI Downloads](https://static.pepy.tech/badge/sudio)](https://www.pepy.tech/projects/sudio)\n[![Documentation Status](https://img.shields.io/badge/docs-github%20pages-blue)](https://mrzahaki.github.io/sudio/)\n[![Build Status](https://github.com/mrzahaki/sudio/actions/workflows/python-package.yml/badge.svg)](https://github.com/mrzahaki/sudio/actions/workflows/python-package.yml)\n[![Python Version](https://img.shields.io/pypi/pyversions/sudio.svg)](https://pypi.org/project/sudio/)\n[![Supported OS](https://img.shields.io/badge/OS-Linux%20%7C%20macOS%20%7C%20Windows-blue)](https://shields.io/)\n[![License](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/mrzahaki/sudio/blob/Master/docs/_static/sudio.ipynb)  \n\n\nuse 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.\n\n\n## 🚀 Quick Start\n\n### Installation\n\ninstall Sudio using pip:\n\n```bash\npip install sudio==1.0.10\n```\n\n### Basic Usage\n\nan example to get you started with sudio:\n\n```python\nimport sudio\nfrom sudio.process.fx import (\n    PitchShifter, \n    Tempo, \n    ChannelMixer, \n    FadeEnvelope, \n    FadePreset\n)\nsu = sudio.Master()\n\nsong = su.add('./Farhad Jahangiri - 5 Sobh (320).mp3')\n\ncool_remix = (\n    song[:40]\n    .afx(\n        PitchShifter, \n        semitones=-3\n    ).afx(\n        PitchShifter, \n        start=2,\n        duration=0.8,\n        envelope=[0.8, 2, 1]\n    ).afx(\n        PitchShifter, \n        start=10,\n        duration=0.8,\n        envelope=[0.65, 3, 1]\n    ).afx(\n        PitchShifter, \n        start=20,\n        duration=0.8,\n        envelope=[2, 0.7, 1]\n    ).afx(\n        PitchShifter, \n        start=30,\n        duration=4,\n        envelope=[1, 3, 1, 1]\n    ).afx(\n        Tempo,\n        envelope=[1, 0.95, 1.2, 1]\n    ).afx(\n        FadeEnvelope, \n        start=0,\n        stop=10,\n        preset=FadePreset.SMOOTH_FADE_IN\n    )\n)\n\nside_slide  = (\n    song[:10].afx(\n        ChannelMixer, \n        correlation=[[0.4, -0.6], [0, 1]]\n    ).afx(\n        FadeEnvelope, \n        preset=FadePreset.SMOOTH_FADE_OUT\n    )\n)\n\ncool_remix = side_slide  + cool_remix \n\n# simple 4 band EQ\ncool_remix = cool_remix[\n        : '200': 'order=6, scale=0.7', \n        '200':'800':'scale=0.5', \n        '1000':'4000':'scale=0.4', \n        '4000'::'scale=0.6'\n    ] \n\nsu.export(\n    cool_remix, \n    'remix.mp3', \n    quality=.8, \n    bitrate=256\n    )\n\nsu.echo(cool_remix)\n```\n\n#### Remix\n[Listen to the remix](https://raw.githubusercontent.com/mrzahaki/sudio/Master/docs/_static/remix.mp3)\n\n#### Original\n[Listen to the main track](https://raw.githubusercontent.com/mrzahaki/sudio/Master/docs/_static/main.mp3)\n\n\n\n\n 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.\n\n\n\n\n### Explore Sudio\n\nGet started with `Sudio` processing in minutes using [Google Colab](https://colab.research.google.com/github/mrzahaki/sudio/blob/Master/docs/_static/sudio.ipynb)!\n\n\n## 🎹 Key Features\n \n Handles both real-time streaming and offline processing, allowing for dynamic applications like live audio effects as well as batch processing of audio files.\n \n Allows integration of custom processing modules.\n \n Flexible audio playback, precise time-domain slicing, and Comprehensive filtering options\n \n Advanced audio manipulation (joining, mixing, shifting)\n \n Real-time audio streaming with dynamic control (pause, resume, jump)\n \n Custom audio processing pipelines for complex effects\n\n Multi-format support with quality-controlled encoding/decoding\n\n\n## 📚 Documentation\n\nfor detailed documentation and examples, visit the [Sudio Documentation](https://mrzahaki.github.io/sudio/).\n\n\n## 💖 [Support Sudio](https://donate.webmoney.com/w/OTmd0tU8H4gRUG4eXokeQb)\n\n**Audio software shouldn’t lock you in.** Sudio offers free, open-source tools for developers and creators—built to replace proprietary apps without the fees or restrictions. To stay viable, it relies on community support: code contributions, testing, donations, or simply spreading the word. If open tools matter to you, let’s keep improving them.\n\n## 📄 License\n\nreleased under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3. See the [LICENSE](https://github.com/mrzahaki/sudio/blob/Master/LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrzahaki%2Fsudio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrzahaki%2Fsudio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrzahaki%2Fsudio/lists"}