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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.