melek-voice 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ include README.md
2
+ recursive-include melek_voice/assets *.json
3
+ recursive-exclude melek_voice/assets/onnx *
4
+ recursive-exclude tests *
@@ -0,0 +1,136 @@
1
+ Metadata-Version: 2.1
2
+ Name: melek-voice
3
+ Version: 2.0.0
4
+ Summary: melek-voice (Meleğin Ses Telleri) - Yüksek Performanslı Türkçe Nöral Ses Sentezleyici
5
+ Home-page: https://github.com/TearsFearsxf/melek-voice
6
+ Author: Melek AI Development
7
+ Author-email: Melek AI Development <developer@melek.ai>
8
+ License: MIT
9
+ Project-URL: Homepage, https://github.com/TearsFearsxf/melek-voice
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
19
+ Requires-Python: >=3.8
20
+ Description-Content-Type: text/markdown
21
+
22
+ # melek-voice (Meleğin Ses Telleri) 2.0.0
23
+
24
+ Melek Yapay Zeka Asistanı için geliştirilmiş yüksek performanslı, stüdyo kalitesinde Türkçe nöral ses sentezleme (Text-to-Speech / TTS) ve kesilebilir ses oynatma kütüphanesidir.
25
+
26
+ Supertone'un **Flow Matching (Supertonic 3)** mimarisi üzerine inşa edilmiştir. %100 yerel ve çevrimdışı (offline) çalışır, internete bağımlı değildir.
27
+
28
+ ---
29
+
30
+ ## Öne Çıkan Özellikler (v2.0.0)
31
+
32
+ * **44.1 kHz Stüdyo Kalitesi:** `44100 Hz` örnekleme hızı ve `228` Mel-filtre bankası ile insan doğallığında, dolgun ve pürüzsüz Türkçe telaffuz.
33
+ * **4 Kat Hızlı & Optimize Sentez (RTF ~0.26x):** Önceki versiyondaki 32 adım yerine kalibre edilen 8 adım ile CPU üzerinde 4 saniyelik konuşmayı ~1.0 saniyede üretir.
34
+ * **Bellek İçi (In-Memory) Oynatma:** Sesi geçici diske yazmadan doğrudan RAM üzerinden `pygame.mixer` ile çalar. Sıfır disk gecikmesi ve aşınması.
35
+ * **İnteraktif Araya Girme & Susturma (Barge-in):** `stop()`, `pause()`, `resume()`, `clear_queue()` ve `is_speaking` fonksiyonları ile kullanıcı Melek'in sözünü anında kesebilir.
36
+ * **Cümle Bazlı Streaming Pipelining:** Uzun paragrafları cümlelere bölüp ilk cümleyi anında (~300ms) başlatır; birinci cümle çalarken ikinci cümle arka planda sentezlenir.
37
+ * **Akıllı Model Çözücü (Smart Model Resolver):** 398 MB'lık büyük ağırlıkları paketten ayırarak hafif PyPI paketi sunar. Modelleri yerel klasörden veya kullanıcı önbelleğinden (`~/.cache/supertonic3`) anında yükler; yoksa HuggingFace'ten otomatik çeker.
38
+ * **LRU Ses Önbelleği:** Sık söylenen cümleleri RAM ve diskte önbelleğe alır, disk boyutunu otomatik sınırlar (varsayılan max 50 MB).
39
+
40
+ ---
41
+
42
+ ## Kurulum
43
+
44
+ ```bash
45
+ pip install melek-voice
46
+ ```
47
+
48
+ Gerekli bağımlılıklar:
49
+ * `supertonic`
50
+ * `pygame`
51
+ * `soundfile`
52
+ * `numpy`
53
+
54
+ ---
55
+
56
+ ## Hızlı Başlangıç
57
+
58
+ ### 1. Temel Kullanım
59
+
60
+ ```python
61
+ from melek_voice import MelekVoice
62
+
63
+ # Varsayılan 'dengeli' (F5 Melek tonu) ile başlat
64
+ voice = MelekVoice()
65
+
66
+ # Arka planda asenkron konuşur
67
+ voice.speak("Merhaba, ben Melek. Size nasıl yardımcı olabilirim?")
68
+
69
+ # Konuşmanın bitmesini bekle
70
+ voice.wait_until_done()
71
+ ```
72
+
73
+ ### 2. Senkron Konuşma (`block=True`)
74
+
75
+ ```python
76
+ # Ses tamamen bitene kadar program akışını bekletir
77
+ voice.speak("Sistem başarıyla güncellendi efendim.", block=True)
78
+ print("Bu satır ancak ses bittikten sonra çalışır.")
79
+ ```
80
+
81
+ ### 3. Cümle Streaming Pipelining (`pipeline=True`)
82
+
83
+ Uzun bir yanıt verirken tüm paragrafın sentezlenmesini beklemeden ilk cümleyi hemen başlatmak için:
84
+
85
+ ```python
86
+ metin = (
87
+ "Bugün hava İstanbul'da 22 derece ve güneşli. "
88
+ "Öğleden sonra hafif rüzgar bekleniyor. "
89
+ "Planlanan 3 adet hatırlatıcınız bulunuyor efendim."
90
+ )
91
+
92
+ # İlk cümle ~300 milisaniyede çalmaya başlar!
93
+ voice.speak(metin, pipeline=True, block=True)
94
+ ```
95
+
96
+ ### 4. Konuşmayı Kesme (Barge-in / Stop)
97
+
98
+ ```python
99
+ # Melek konuşurken anında sustur ve bekleyen kuyruğu temizle:
100
+ voice.stop()
101
+
102
+ # Veya duraklat / devam ettir:
103
+ voice.pause()
104
+ voice.resume()
105
+ ```
106
+
107
+ ### 5. Ses Stilleri ve Presetler
108
+
109
+ ```python
110
+ # Hazır kadınsı ve erkeksi presetler:
111
+ voice.set_style("hizli") # 5 Adım - Ultra hızlı tepki
112
+ voice.set_style("dengeli") # 8 Adım - Doğal ve pürüzsüz Melek tonu (Varsayılan)
113
+ voice.set_style("sicak") # 8 Adım - Samimi ve dostane tonlama
114
+ voice.set_style("zarif") # 10 Adım - Sakin ve feminen akış
115
+ voice.set_style("derin") # 12 Adım - Stüdyo kalitesinde maksimum netlik
116
+
117
+ # Erkek sesleri:
118
+ voice.set_style("erkek_dengeli")
119
+ voice.set_style("erkek_derin")
120
+ ```
121
+
122
+ ### 6. Dosyaya veya Baytlara Dönüştürme
123
+
124
+ ```python
125
+ # Doğrudan WAV dosyasına kaydet
126
+ voice.save_to_file("Bu ses diske kaydedildi.", "cikti.wav")
127
+
128
+ # WAV baytlarını bellekten al (Web API / GUI için)
129
+ wav_bytes, duration = voice.synthesize_bytes("API üzerinden dönecek ses.")
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Lisans
135
+
136
+ MIT License. Melek AI Projesi.
@@ -0,0 +1,115 @@
1
+ # melek-voice (Meleğin Ses Telleri) 2.0.0
2
+
3
+ Melek Yapay Zeka Asistanı için geliştirilmiş yüksek performanslı, stüdyo kalitesinde Türkçe nöral ses sentezleme (Text-to-Speech / TTS) ve kesilebilir ses oynatma kütüphanesidir.
4
+
5
+ Supertone'un **Flow Matching (Supertonic 3)** mimarisi üzerine inşa edilmiştir. %100 yerel ve çevrimdışı (offline) çalışır, internete bağımlı değildir.
6
+
7
+ ---
8
+
9
+ ## Öne Çıkan Özellikler (v2.0.0)
10
+
11
+ * **44.1 kHz Stüdyo Kalitesi:** `44100 Hz` örnekleme hızı ve `228` Mel-filtre bankası ile insan doğallığında, dolgun ve pürüzsüz Türkçe telaffuz.
12
+ * **4 Kat Hızlı & Optimize Sentez (RTF ~0.26x):** Önceki versiyondaki 32 adım yerine kalibre edilen 8 adım ile CPU üzerinde 4 saniyelik konuşmayı ~1.0 saniyede üretir.
13
+ * **Bellek İçi (In-Memory) Oynatma:** Sesi geçici diske yazmadan doğrudan RAM üzerinden `pygame.mixer` ile çalar. Sıfır disk gecikmesi ve aşınması.
14
+ * **İnteraktif Araya Girme & Susturma (Barge-in):** `stop()`, `pause()`, `resume()`, `clear_queue()` ve `is_speaking` fonksiyonları ile kullanıcı Melek'in sözünü anında kesebilir.
15
+ * **Cümle Bazlı Streaming Pipelining:** Uzun paragrafları cümlelere bölüp ilk cümleyi anında (~300ms) başlatır; birinci cümle çalarken ikinci cümle arka planda sentezlenir.
16
+ * **Akıllı Model Çözücü (Smart Model Resolver):** 398 MB'lık büyük ağırlıkları paketten ayırarak hafif PyPI paketi sunar. Modelleri yerel klasörden veya kullanıcı önbelleğinden (`~/.cache/supertonic3`) anında yükler; yoksa HuggingFace'ten otomatik çeker.
17
+ * **LRU Ses Önbelleği:** Sık söylenen cümleleri RAM ve diskte önbelleğe alır, disk boyutunu otomatik sınırlar (varsayılan max 50 MB).
18
+
19
+ ---
20
+
21
+ ## Kurulum
22
+
23
+ ```bash
24
+ pip install melek-voice
25
+ ```
26
+
27
+ Gerekli bağımlılıklar:
28
+ * `supertonic`
29
+ * `pygame`
30
+ * `soundfile`
31
+ * `numpy`
32
+
33
+ ---
34
+
35
+ ## Hızlı Başlangıç
36
+
37
+ ### 1. Temel Kullanım
38
+
39
+ ```python
40
+ from melek_voice import MelekVoice
41
+
42
+ # Varsayılan 'dengeli' (F5 Melek tonu) ile başlat
43
+ voice = MelekVoice()
44
+
45
+ # Arka planda asenkron konuşur
46
+ voice.speak("Merhaba, ben Melek. Size nasıl yardımcı olabilirim?")
47
+
48
+ # Konuşmanın bitmesini bekle
49
+ voice.wait_until_done()
50
+ ```
51
+
52
+ ### 2. Senkron Konuşma (`block=True`)
53
+
54
+ ```python
55
+ # Ses tamamen bitene kadar program akışını bekletir
56
+ voice.speak("Sistem başarıyla güncellendi efendim.", block=True)
57
+ print("Bu satır ancak ses bittikten sonra çalışır.")
58
+ ```
59
+
60
+ ### 3. Cümle Streaming Pipelining (`pipeline=True`)
61
+
62
+ Uzun bir yanıt verirken tüm paragrafın sentezlenmesini beklemeden ilk cümleyi hemen başlatmak için:
63
+
64
+ ```python
65
+ metin = (
66
+ "Bugün hava İstanbul'da 22 derece ve güneşli. "
67
+ "Öğleden sonra hafif rüzgar bekleniyor. "
68
+ "Planlanan 3 adet hatırlatıcınız bulunuyor efendim."
69
+ )
70
+
71
+ # İlk cümle ~300 milisaniyede çalmaya başlar!
72
+ voice.speak(metin, pipeline=True, block=True)
73
+ ```
74
+
75
+ ### 4. Konuşmayı Kesme (Barge-in / Stop)
76
+
77
+ ```python
78
+ # Melek konuşurken anında sustur ve bekleyen kuyruğu temizle:
79
+ voice.stop()
80
+
81
+ # Veya duraklat / devam ettir:
82
+ voice.pause()
83
+ voice.resume()
84
+ ```
85
+
86
+ ### 5. Ses Stilleri ve Presetler
87
+
88
+ ```python
89
+ # Hazır kadınsı ve erkeksi presetler:
90
+ voice.set_style("hizli") # 5 Adım - Ultra hızlı tepki
91
+ voice.set_style("dengeli") # 8 Adım - Doğal ve pürüzsüz Melek tonu (Varsayılan)
92
+ voice.set_style("sicak") # 8 Adım - Samimi ve dostane tonlama
93
+ voice.set_style("zarif") # 10 Adım - Sakin ve feminen akış
94
+ voice.set_style("derin") # 12 Adım - Stüdyo kalitesinde maksimum netlik
95
+
96
+ # Erkek sesleri:
97
+ voice.set_style("erkek_dengeli")
98
+ voice.set_style("erkek_derin")
99
+ ```
100
+
101
+ ### 6. Dosyaya veya Baytlara Dönüştürme
102
+
103
+ ```python
104
+ # Doğrudan WAV dosyasına kaydet
105
+ voice.save_to_file("Bu ses diske kaydedildi.", "cikti.wav")
106
+
107
+ # WAV baytlarını bellekten al (Web API / GUI için)
108
+ wav_bytes, duration = voice.synthesize_bytes("API üzerinden dönecek ses.")
109
+ ```
110
+
111
+ ---
112
+
113
+ ## Lisans
114
+
115
+ MIT License. Melek AI Projesi.
@@ -0,0 +1,19 @@
1
+ """
2
+ melek-voice (Meleğin Ses Telleri) - Melek AI Ses Sentezleyici & Oynatıcı.
3
+ """
4
+
5
+ from .engine import MelekVoice
6
+ from .presets import PRESETS, DEFAULT_PRESET, SAMPLE_RATE, split_sentences
7
+ from .cache import AudioCache
8
+ from .resolver import resolve_model_path
9
+
10
+ __version__ = "2.0.0"
11
+ __all__ = [
12
+ "MelekVoice",
13
+ "PRESETS",
14
+ "DEFAULT_PRESET",
15
+ "SAMPLE_RATE",
16
+ "split_sentences",
17
+ "AudioCache",
18
+ "resolve_model_path",
19
+ ]
@@ -0,0 +1,5 @@
1
+ {
2
+ "model_name": "Supertonic 3",
3
+ "model_type": "onnx",
4
+ "description": "This is a stub config for Hugging Face download counting. The actual model is located at onnx/"
5
+ }