Skip to main content

🎧 Melek Media Controller

Melek AI Asistan Projesi için Gelişmiş Ses ve Medya Yönetim Merkezi

PyPI Version Python Versions License Windows Support


Melek Media, yapay zeka asistanlarının (özellikle Melek AI) bilgisayarın medya sistemine hükmetmesi ve konuşma anlarında arka plan seslerini zekice yönetmesi için tasarlanmış profesyonel bir Python kütüphanesidir.

✨ Öne Çıkan Özellikler

  • 🦆 Akıllı Audio Ducking: Asistanınız konuşmaya başladığında arka plandaki Spotify, YouTube veya herhangi bir medyanın sesini yumuşak bir animasyonla (fade) kısar, konuşma bitince eski seviyesine geri yükler.
  • 🛡️ Beyaz Liste Koruması: Asistanın kendi sesi (python.exe, melek.exe) koruma altındadır. Yanlışlıkla kendi sesini kısmaz.
  • 🎛️ Uygulama Bazlı Ses Kontrolü: Sadece belirli bir uygulamanın (Örn: chrome.exe) Windows Volume Mixer seviyesindeki sesini kontrol edebilir.
  • ⌨️ Global Medya Tuşları: Asistanınıza "Şarkıyı durdur", "Sonraki şarkıya geç" veya "Sistemi sessize al" dediğinizde klavye tuşlarını simüle ederek (Play/Pause, Next, Prev, Mute) tepki verir.

🚀 Kurulum

Kütüphane doğrudan PyPI üzerinden kurulabilir:

pip install melek-media

Not: Bu kütüphane Windows Audio Session API (WASAPI) kullandığı için yalnızca Windows işletim sistemlerinde tam performansla çalışır.

📚 Kullanım Rehberi

Temel Başlangıç

from melek_media import MelekMediaController

# Kontrolcüyü başlatın
media = MelekMediaController(fade_steps=15, fade_interval=0.05)

1. Audio Ducking (Konuşurken Sesi Kısma)

Asistanın konuşma anında arkadaki sesleri kısıp sonra tekrar açmasını sağlayan en kritik fonksiyondur.

import pyttsx3

engine = pyttsx3.init()

# Melek'in söyleyeceği cümleyi tanımlayalım
def asistan_konus():
    engine.say("Merhaba, ben Melek. Müzik sesini kıstım, sizi dinliyorum.")
    engine.runAndWait()

# Konuşmadan önce otomatik kısılır, bittikten sonra tekrar açılır (Hedef %15 ses seviyesi)
media.duck_and_restore(asistan_konus, target_volume=0.15)

2. Uygulamaya Özel Ses Kontrolü

Windows Ses Karıştırıcısında (Volume Mixer) özel bir programın sesini anında değiştirebilirsiniz.

# Spotify sesini %50'ye ayarla
media.set_app_volume("spotify.exe", 0.50)

# Chrome sesini al
chrome_ses_seviyesi = media.get_app_volume("chrome")
print(f"Chrome ses seviyesi: %{chrome_ses_seviyesi * 100}")

3. Aktif Ses Kaynaklarını Görüntüleme

Şu anda bilgisayarda hangi uygulamaların ses çaldığını listeyebilirsiniz.

aktif_uygulamalar = media.list_active_audio_apps()
for app in aktif_uygulamalar:
    print(f"Uygulama: {app['name']}, PID: {app['pid']}, Ses: %{app['volume']*100}")

4. Medya ve Sistem Kontrolleri

media.play_pause()          # Çalan medyayı durdur / başlat
media.next_track()          # Sonraki parçaya geç
media.prev_track()          # Önceki parçaya dön
media.mute_system()         # Sistemi tamamen sessize al / sesi aç (Toggle)
media.volume_up(steps=3)    # Sesi 3 kademe artır
media.volume_down(steps=2)  # Sesi 2 kademe düşür

🛠️ Mimari ve Bağımlılıklar

Bu kütüphane arka planda şu güçlü paketleri kullanır:

  • pycaw: Windows WASAPI ile Volume Mixer'a doğrudan erişim.
  • pyautogui / ctypes: Global işletim sistemi medya kısayol tuşlarının (Virtual Keys) simülasyonu.
  • comtypes: Pycaw'ın Windows COM arayüzü ile iletişim kurmasını sağlayan köprü.

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır. Dilediğiniz gibi kullanabilir ve geliştirebilirsiniz.


Melek AI Projesi - Geleceğin sesli asistan deneyimi için tasarlandı.

Metadata

Release files for melek-media 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for melek-media 1.0.0
File Size Uploaded Provenance Actions
melek_media-1.0.0.tar.gz 14.2 kB Without provenance Details for melek_media-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for melek-media 1.0.0
File Interpreter ABI Platform Actions
melek_media-1.0.0-py3-none-any.whl Python 3 none any Details for melek_media-1.0.0-py3-none-any.whl

Total release size: 25.7 kB

Release files / melek_media-1.0.0.tar.gz

Download URL melek_media-1.0.0.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7968e69c2184f64e08d806393bb00e63e08123ac56915a780884f185699f07d0
BLAKE2b-256 checksum
How to use checksums
48b18a65a71a769a2bf8ba817d798d897ff99eb6f5b0d56c87c6013a6a856da2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Release files / melek_media-1.0.0-py3-none-any.whl

Download URL melek_media-1.0.0-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f361266419116f5dcac4cf72d28242b6daae714ca12055b5f3e5662905422470
BLAKE2b-256 checksum
How to use checksums
426ea359eb390b38f51350e2583c91bd7ab4ca4ee2ad2d15b61d5076b41d75a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.0

Security for melek-media 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page