CEYKU MAKAM VOKAL 0.14.0
=======================

Mikrofonla okuduğunuz vokalden Türk Sanat Müziği korosu üretir.
TSM korosu armoni yapmaz: herkes aynı ezgiyi okur (ünison). Erkekler okunan
perdede, kadınlar bir oktav yukarıda okur. Koroyu koro yapan heterofonidir:
her korist süslemeyi biraz farklı yapar, biraz geç girer, perdeye kendi
küçük hatasıyla oturur. Program her koristi ayrı bir kişi gibi üretir.

LİSANS VE DENEME SÜRÜMÜ
  Deneme sürümünde program tam çalışır; süre sınırı yoktur. Yalnız üretilen koroda
  3 saniyede bir kısa bir "ding-dong" filigranı duyulur (çalarken, korist kanallarında ve
  dışa aktarılan tüm koro dosyalarında). Ana vokal ve MIDI filigransızdır.
  Lisans: üst çubukta "🔑 Deneme sürümü — Lisans gir" → kodu yapıştırın → Etkinleştir.
  Lisanslı sürümde üretilen koro filigransızdır. Deneme sürümünde üretilmiş bir koro
  filigranlı kalır; lisanstan sonra koroyu yeniden oluşturun.
  Satıcı için: kod Ceyku Keygen ile üretilir → Paket: "Diğer…" → VOKAL
  (Anahtar A, B ve C ile imzalanmış kodlar kabul edilir; başka paketlerin kodları açmaz.)

EKRAN DÜZENİ (yatay, 23" / 1920×1080 için)
  Üst çubuk     mikrofon, kulaklık, gecikme, görünüm zoom'u, gece/gündüz
  Transport     müzik yükle, çal/kaydet/durdur, süre, zaman zoom'u, Sil
  İzler         8 kanal dalga formu + zaman cetveli
  Alt sıra      Mikser  |  Makam ve karar  |  Koro
  Paneller arasındaki çizgiler sürüklenerek genişletilebilir.

CANLI MIDI — org / klavye → makam perdeleri → DAW / Kontakt (Makam panelinin altında)
  Klavyenizi (USB-MIDI) bağlayın, Giriş'te seçin, Çıkış'ı "CEYKU Makam MIDI (sanal)" bırakın,
  "Bağla". DAW'da MIDI girişi olarak "CEYKU Makam MIDI" portunu seçin (Kontakt bunu çalar).
  Fender Studio Pro / Studio One: Ayarlar → Harici Aygıtlar → Ekle → Yeni Klavye →
  "Şuradan al: CEYKU Makam MIDI"; Kontakt kanalının girişini bu aygıt yapın (iCON değil).
  ♪ Test: klavyesiz tek nota gönderir; Kontakt çalmıyorsa DAW bu portu dinlemiyordur.
  Çıkış olarak klavyenin kendisini seçmeyin (sesi olmayan klavyeye gider, hiçbir şey duyulmaz).
  Gerçek zamanlı:
    Koma          her nota seçili makamın/kararın 53 komalık perdesine pitch bend ile oturur
                  (ünison: aynı anda tek nota — nota başına bend güvenlidir)
    Makam dışı    makamda olmayan tuş, en yakın makam perdesini çalar (kapatılabilir)
    Eşik          bu hızın altındaki kaza dokunuşları elenir
    CC / Program Change / Bank Select / aftertouch / SysEx DEĞİŞTİRİLMEDEN anında geçer;
    pitch bend tekeriniz makam bend'iyle toplanır.
  Bend aralığı, Kontakt/enstrümandaki aralıkla AYNI olmalı (çoğunlukla ±2 yarım ton).
  Kayıt: ▶ Çal ya da ● Kaydet AÇIKKEN çaldıklarınız playback'e hizalı kaydedilir (gecikme
  telafili). Taşıma dururken çalınan notalar Kontakt'ı çalar ama KAYDEDİLMEZ.
  Durum satırı: "● MIDI kayıtta" / "▶ MIDI çalıyor" / "■ Durdu" ve kayıtlı nota sayısı.
  Punch-in: yeni geçişte bir nota çaldığınız an, geçişin başladığı yerden sonrası yenilenir.
  Sadece dinlemek için Çal'a basmak kaydı SİLMEZ.
  Kayıtlı MIDI'yi çal (Kontakt): ▶ Çal'a basınca kayıt, DAW'daki bir MIDI kanalı gibi
  playback'le eş zamanlı olarak çıkışa (Kontakt) gönderilir. Başlangıç noktasından önceki
  son Program / Bank / CC değerleri önce gönderilir; durunca çalan notalar kapatılır.
  "MIDI kaydını sil" kaydı tamamen siler. "MIDI dışa aktar…" .mid yazar:
  tempo (Bul: playback'ten tahmin) + isteğe bağlı tempoya oturtma (ızgara, %güç; nota süresi
  korunur, Program Change notanın gerisinde kalmaz). Projeyi dışa aktar da MIDI'yi ekler.

MIDI MELODİSİNDEN KORO — 0.12.0
  Yapay zekâ korosu panelinde Kaynak: "MIDI melodisi (sözsüz vokaliz)".
  Koro, gerçek vokal yerine Canlı MIDI kaydını esas alır: çaldığınız melodi (koma
  perdeleri, legato kayışları ve uzun notalarda hafif vibratoyla) sözsüz bir vokalize
  çevrilir, sonra izinli ses modelleriyle her koristin sesine dönüştürülür.
  Hece: aaa / ooo / uuu / eee. Erkek ve kadın modelleri kendi formantlarıyla beslenir.
  Perde varsayılanı çaldığınız bölgeye göre: pes bölgede (Re4 altı) kadın sesleri +12,
  tiz bölgede erkek sesleri −12. Tablodan elle değiştirebilirsiniz.
  Vokal kaydı gerekmez; MIDI kaydı yeterlidir. Koristler yine ayrı kanallar olarak gelir.

DAW İÇİN DIŞA AKTARMA VE SENKRON
  "Projeyi dışa aktar" seçtiğiniz klasörde <eser>_DAW klasörü açar:
    00 müzik · 01 vokal (kuru) · 02… her korist (kuru stereo, pan dahil) · 90 koro toplam
    · 91 koro salonu (açıksa) · 99 miks · DAW_OKU.txt
  Hepsi müziğin ilk örneğinden başlar ve AYNI uzunluktadır (48 kHz / 24 bit). DAW'da proje
  hızını aynı yapıp hepsini 0'a bırakın. Dosyalarda BWF zaman damgası 0 vardır (Logic,
  Pro Tools, Cubase "orijinal konuma taşı / spot" ile de tam yerine oturur).
  ⏱ Ölç (üst çubuk): kayıt hizasını kesinleştirir. Kulaklığı mikrofona yaklaştırın (ya da
  ses kartında çıkışı girişe kabloyla bağlayın), tıklar çalınır, gerçek gecikme ölçülür ve
  "İnce ayar"a yazılır. Değer bu aygıt/tampon için saklanır; aygıt ya da tampon değişince
  yeniden ölçün. Ses kartının bildirdiği gecikme gerçeğinden farklı olabilir.

KORİST KANALLARI
  Koro üretilince her korist (E1-1, E1-2, K1-1 …) ayrı izde ve ayrı mikser şeridinde
  görünür. Her koristin seviyesi, susturma (S) düğmesi ve sahne yeri (pan) ayrıdır;
  "Koro" sürgüsü hepsini birlikte açar/kısar.
  Korist izinde fareyle bölge seçip Kes / Sil / Kopyala / Yapıştır / Kaydır yapılabilir
  (ör. koronun yalnız nakaratta okuması için diğer yerleri silin). Ctrl/⌘ Z geri alır.
  Kayıt her zaman Vokal 1'e yapılır; korist izi seçiliyken de.
  Dışa aktarmada her korist ayrı, KURU stereo WAV olarak yazılır (seviye, pan ve
  düzenlemeleriniz dahil). Koro salonu açıksa reverb ayrı bir dosyadır.

SADE ARAYÜZ — 0.11.0
  Ekran: Müzik + tek Vokal kanalı + Koro izi; Mikser, Makam ve karar, "Yapay zekâ korosu" panelleri.
  Koro yalnız yapay zekâ sesleriyle üretilir (TSM / Klon modları kaldırıldı).
  Her ses modelinden 1–4 "korist" üretilir; her korist kendi akort farkı, yavaş perde
  gezinmesi, süsleme üslubu (heterofoni), gecikmesi ve sahne yeriyle okur. Koristler stereo
  alana dengeli yayılır; "Koro salonu" hepsini aynı salona koyar (yalnız koroya eklenir).
  Kadın kaydından erkek sesler otomatik oktav altı okur. Elle yaptığınız ses seçimi korunur.
  Vokalinizi kaydedin → kaydın cinsiyetine uyan ses modelleri otomatik seçilir → 
  "Yapay zekâ seslerini oluştur". Her yapay ses ana vokalle aynı güçte üretilir;
  koro seviyesini Mikser'deki "Koro" sürgüsüyle ayarlayın.

YAPAY ZEKÂ SESLERİ (izinli şarkıcı modelleri) — 0.11.0
  Koro panelinde "Mod" → "Yapay zekâ sesleri". Canlı kaydınız, izinli şarkıcıların
  eğitilmiş ses modelleriyle o kişilerin sesine dönüştürülür (RVC). Ezgi, makam
  perdeleri, süslemeler, nefes ve zamanlama kayıttan gelir; yalnız ses kimliği
  (tını) değişir. Kadın sesleri istenirse oktav üstü okunur; oktavı yapay zekâ
  ürettiği için robotik olmaz.
  Gerekli: Mac'te Pinokio → Discover → Applio → Install (bir kez). Program Applio'yu
    ~/pinokio/api/applio.git içinde kendisi bulur; dönüştürme M2 grafik çipiyle yapılır.
  Yeni ses modeli eğit…  izinli kişinin temiz (müziksiz, yankısız) vokal kayıtları;
    en az 1–2 dk, ideal 5–10 dk. M2'de dakikalık veri başına ~10–20 dk sürer.
  Tablo  her ses için: perde (aynı / oktav üstü / oktav altı), gecikme, seviye, pan.
  Zaman farkı  her ses ± birkaç ms yavaşça kayar (heterofoni).
  ÖNEMLİ: Yalnız sesinin kullanımına açıkça izin veren kişilerin kayıtlarını kullanın.

KLON KORO (12 KANAL) — 0.11.0
  Koro panelinde "Mod" kutusundan "Klon koro" seçilir. Ana vokal 12 kanala
  kopyalanır; perde, oktav ve ses rengi DEĞİŞMEZ. Her kopya yalnız küçük,
  doğal farklarla ayrışır:
    İnce ayar        her kanal sabit −8…+8 cent (akort farkı)
    Gecikme          8–42 ms taban gecikme (girişler üst üste binmez)
    Zaman kayması    ±3–9 ms, çok yavaş değişen hafif time-stretch
    Vib. gecikmesi   ek vibrato her kanalda farklı gecikmeyle (0–170 ms)
    Heterofoni       her kanal çarpma/kayış gibi süslemeleri kendi oranında
                     sade okur; uzun notalar aynen kalır
    Renk farkı       ±1 dB'lik çok hafif tını eğimi
    Seviye, Pan      kanallar stereo alana yayılır
  "Farkları yeniden dağıt" 12 kanala yeni değerler verir; tablodan her kanal
  tek tek açılıp kapatılabilir ve değerleri elle değiştirilebilir.
  Dışa aktarmada her klon ayrı WAV olarak da yazılır (…_koro_Klon_01_… vb.).
  Not: Tek kayıttan yapılan kopyalar "aynı kişinin katlanmış sesi" (ensemble /
  double-track) karakteri verir. Gerçek farklı kişiler duyulsun isterseniz
  V1–V6'ya ayrı kişilerin (izinli) kayıtlarını alıp TSM korosu modunu kullanın.

GÖRÜNÜM
  Görünüm zoom'u   − / + düğmeleri ya da Ctrl/⌘ +, Ctrl/⌘ −
                   %…  düğmesi ya da Ctrl/⌘ 0: ekrana sığdır
  Gece / gündüz    sağ üstteki düğme ya da Ctrl/⌘ T
  Zaman zoom'u     − / + / Tümü düğmeleri, ya da izler üzerinde
                   Ctrl/⌘ + fare tekerleği (imlecin olduğu yere yakınlaşır).
                   Tekerlek tek başına sağa-sola kaydırır. Çalarken imleç
                   takip edilir ("İmleci takip et").
  İlk açılışta ekrana sığan ölçek otomatik seçilir; zoom, tema ve pencere
  konumu bir sonraki açılış için hatırlanır.

VOKAL KAYDI — EN ÖNEMLİ KURAL
Koro motoru tek sesli, KURU bir vokal bekler. Vokali bu programın kendi kayıt
kanalıyla, kulaklıkla ve efektsiz kaydedin. Bir şarkıdan ayrıştırılmış
(stem) vokal, reverbli ya da stereo efektli kayıt kullanmayın: içindeki
müzik artıkları ve yankı da perdeyle birlikte kaydırılır ve koroda bozulma,
robotik tını yapar. "Vokal WAV aç" ile yüklenen dosya otomatik kontrol
edilir; sorun varsa program uyarır.

KLAVYE
  Boşluk            çal / durdur (kayıttaysa kaydı durdurur)
  ↑ / ↓             başa / sona
  ← / →             1 sn geri / ileri  (Shift ile 5 sn)
  Ctrl/⌘ C, X, V    kopyala, kes, yapıştır
  Ctrl/⌘ Shift V    ✦ sahte solist olarak yapıştır
  Delete            seçili bölgeyi sustur
  Ctrl/⌘ Z          geri al (yapıştırma, silme ve kayıtlar; son 8 işlem)
  Alt/⌥ ← / →       seçili bölgeyi (seçim yoksa kanalın tamamını) 10 ms
                    erkene / geçe kaydır (Shift ile 100 ms)
  Ctrl/⌘ A          kayda hazır kanalın tamamını seç
  Esc               seçimi kaldır
  Bir sayı kutusuna yazarken oklar ve boşluk o kutuya gider.

VOKAL DÜZENLEME VE SENKRON
  Seçim         Vokal kanalı üzerinde fareyle sürükleyin.
  Kes           Seçili bölgeyi panoya alır, yerini susturur. Arkadaki vokal
                yerinde kalır; müzikle senkron bozulmaz. (Ctrl/⌘ X)
  Kes ve boşluğu kapat (sağ tık menüsü)
                Bölgeyi çıkarır, sonrasını öne kaydırır. Dikkat: kesimden
                sonraki vokal müziğe göre kesilen süre kadar erkene kayar.
  Taşı          Seçili bölgenin İÇİNDEN tutup sağa/sola sürükleyin; kayma
                miktarı ms olarak görünür. Bıraktığınız yere taşınır.
  Senkron       "◀ 10 ms" / "10 ms ▶" düğmeleri, Alt/⌥ + oklar ya da ms yazıp
                "Kaydır": seçili bölgeyi, seçim yoksa kanalın tamamını kaydırır.
                Eksi = erkene, artı = geçe. Sağ tık menüsünde hazır değerler var.
  Tüm kesim ve taşıma kenarlarına 3 ms yumuşatma uygulanır (çıt sesi olmaz).
  Hepsi Ctrl/⌘ Z ile geri alınır.

KOPYALA / YAPIŞTIR VE SAHTE SOLİST
  İzlerde bir vokal kanalı üzerinde fareyle sürükleyerek bölge seçin.
  Kopyala ile alın; kayda hazır kanala, imlecin olduğu yere yapıştırın
  (üzerine yazar). Seçim yoksa kayda hazır kanalın tamamı kopyalanır.
  Sağ tık menüsünde ayrıca "kanalın tamamını çoğalt → V2…V6" vardır.
  ✦ Sahte solist: kopyalanan sesi birebir değil, aynı ezgiyi okuyan FARKLI
  bir okuyucuya dönüştürerek yapıştırır (ses rengi ±%4–7, kendi akort hatası
  ve vibratosu, biraz sadeleşmiş süslemeler, 12–30 ms farklı giriş). Böylece
  tek okuyuştan birden fazla "okuyucu" elde edilir ve koro bunları ayrı
  okuyuş sayar. Birebir kopya koroya heterofoni katmaz; sahte solist katar.
  Gerçek ikinci/üçüncü okuyuş yine de en doğal sonucu verir.

SES TİPİ (♂ / ♀) — DOĞAL KORONUN ANAHTARI
  Her vokal kanalının ses tipi otomatik algılanır ve iz adının yanında görünür
  (♂ / ♀; '?' = otomatik). Yanlışsa kanala sağ tık → Ses tipi ile düzeltin
  (ör. erkek okuyucu tiz/falsetto okuduysa). Okuyucunun ses tipini biliyorsanız
  (Bariton, Tenor, Alto, Mezzo, Soprano) onu seçin: kaynak sesin rengi doğru
  alınır; ör. alto okuyucudan üretilen Alto grubu kendi renginde kalır,
  Mezzo ve Soprano ondan biraz daha parlak olur.
  Koro grupları ÖNCE kendi cinsiyetindeki kayıtlardan üretilir:
    Bariton, Tenor           ← ♂ kayıtlar, okunan perdede
    Alto, Mezzo, Soprano     ← ♀ kayıtlar, okunan perdede
  Böylece oktav kaydırma ve büyük ses rengi değişimi gerekmez; en doğal sonuç
  budur. Koro panelinin "Perde" sütunu her grubun hangi kanaldan üretileceğini
  gösterir. Bir cinsiyette hiç kayıt yoksa o gruplar karşı cinsiyetten bir
  oktav kaydırılarak üretilir: sütunda kırmızı "±1 okt ⚠" görünür ve koro
  oluşturulunca uyarı çıkar. Bu dönüşüm (özellikle kadın sesinden erkek
  korosu) robotik duyulur. İyi sonuç için: en az bir erkek ve bir kadın
  okuyuşu kaydedin, ya da eksik cinsiyetin gruplarını kapatın.

SES ÖRNEKLERİ (izinli kişilerden ses rengi + vibrato)
  Koro panelinde "Örnek ekle…" ile izni alınmış kişilerin şarkı kayıtlarını
  ekleyin (30 sn–2 dk, tek kişi; hafif reverb sorun değil). Her örnekten o
  kişinin ses rengi (gırtlak ölçeği + 300–4000 Hz tını eğrisi) ve vibratosu
  (hız, derinlik) çıkarılır. "Ses örneklerini kullan" açıkken her korist kendi
  cinsiyetindeki bir örnek kişiye atanır ve onun rengine/vibratosuna
  yaklaştırılır; koristler birbirinden belirgin şekilde ayrışır.
  - Örneğin kendisi koroda kullanılmaz; koristler yine okuyucu kaydından,
    okunan perdede üretilir (oktav kaydırma yok).
  - Örneklerin kayıt/miks zinciri (bas kesme, tiz parlaklık, genel eğim)
    bilinçli olarak AKTARILMAZ; yalnız sesi tanımlayan bant alınır.
  - Cinsiyet dosya adından (erkek/kadın) ya da perdeden tahmin edilir;
    "Örnekler ▾" menüsünden düzeltilebilir ya da örnek silinebilir.
  - Profiller saklanır; bir sonraki açılışta yeniden eklemeniz gerekmez.
  - Bu bir yapay zekâ ses klonlaması değildir, ses rengi eşlemesidir.
  - Yalnızca sesini kullanma izni olan kişilerin örneklerini ekleyin.

KAYIT SONRASI SIZINTI KONTROLÜ
  Her kayıt bitince, kulaklıktan mikrofona müzik sızıp sızmadığı ölçülür;
  sızıntı varsa uyarı çıkar (kapalı kulaklık kullanın / sesi kısın).

KANALLAR
  Müzik       pilot / playback (WAV, FLAC, AIFF, MP3)
  Vokal 1–6   mikrofon kayıtları — her zaman KURU
  Koro        üretilen koro (stereo)

KULLANIM
1. Mikrofonu ve kulaklığı seçin, "Müzik yükle" ile playback'i açın.
2. Kayda hazır kanalı seçin (mikserdeki kırmızı ● ya da izlerde kanal adına
   tıklayın), "Kaydet"e basın. Müzik ve diğer vokal kanalları çalarken
   sesiniz o kanala yazılır. Kayıt imleçten başlar (punch-in).
   Ses kartı gecikmesi otomatik telafi edilir; gerekirse "İnce ayar (ms)".
3. Heterofoni için aynı bölümü 3–6 kez farklı kanallara okuyun. Koristler
   bu okuyuşlara dağıtılır; gerçek okuyuş farkları koroyu çok doğallaştırır.
   Tek kayıtla da çalışır.
4. Makam ve karar (karar ilk kaydın son notasından otomatik bulunur).
5. Koro: hazır düzen seçin (karma, erkek, kadın, fasıl topluluğu, büyük
   koro) ya da her grubun kişi sayısını, seviyesini, sahne yerini ve ses
   rengini ayarlayın. Okuyucu erkek/kadın otomatik algılanır:
     erkek okuyucu -> Bariton, Tenor okunan perdede; Alto, Mezzo, Soprano +1 oktav
     kadın okuyucu -> Alto, Mezzo, Soprano okunan perdede; Bariton, Tenor −1 oktav
   Koro ayarları:
     Makam akordu          koro makam perdelerine ne kadar otursun (varsayılan %25).
                           Müzikle akortlu, süslemeli okuyuşta %0–30 tutun; yüksek
                           değer kayış ve süslemeleri basamaklara çevirir.
     Zaman farkı           koristlerin giriş farkı (ms)
     Akort farkı           kişisel akort sapması (cent; 1 koma ≈ 22.6 cent)
     Süsleme sadeleştirme  koristlerin ne kadarı süslemeyi sade okusun
     Vibrato               koristlerin kendi vibratosu
     Koristleri değiştir   aynı ayarlarla farklı kişilerden yeni koro
6. "Koroyu oluştur" -> sonuç müzikle birlikte baştan çalar.
7. Kanal dengesi: Müzik, V1–V6, Koro faderları; S = sustur, × = kanalı
   temizle. Fadere çift tık = 0 dB.
8. Reverb sadece kulaklıkta duyulur, kayda girmez. İstenirse yalnızca miks
   dosyasına eklenir.
9. "Projeyi dışa aktar": her vokal kanalı (kuru), her koro grubu ayrı
   (Bariton, Tenor, Alto, Mezzo, Soprano), tüm koro ve miks — 24 bit, hepsi
   müzikle aynı başlangıçta hizalı. DAW'da 0 noktasına koyun.
10. "Sil / Yeni eser": tüm vokal kayıtlarını ve koroyu siler (isterseniz
    müzik dahil). Onay sorar; geri alınamaz.

Kulaklık kullanın: hoparlörden çalan müzik mikrofona sızar ve kuru kaydı bozar.

MAKAMLAR (53 Holder koması, AEU)
Rast, Uşşak, Hüseyni, Hicaz, Hümayun, Uzzal, Nihavend, Kürdi, Saba, Segah,
Hüzzam. Diziler makamlar.py içindedir.

MACOS İLK AÇILIŞ
İmzasız uygulama: Sistem Ayarları -> Gizlilik ve Güvenlik -> "Yine de Aç".
İlk kayıtta mikrofon izni sorulur; "İzin Ver" deyin.

DERLEME
macOS:   derle-mac.command dosyasına çift tıklayın -> dist/*.dmg
Windows: derle-win.bat (Python 3.11+ ve Inno Setup 6) -> dist/*.exe
Kaynaktan: pip install -r requirements.txt && python3 uygulama.py

SORUN GİDERME
Müzikte kesik / çıtırtı: üst çubuktaki "Tampon" değerini büyütün
  (varsayılan 1024; sorun sürerse 2048). Kesinti olursa yanında kırmızı
  "⚠ N kesinti" yazar. Küçük tampon (256–512) kayıtta kendi sesini daha az
  gecikmeyle duymanı sağlar ama bilgisayarı daha çok zorlar. Kaydın müzikle
  hizası tampon ne olursa olsun otomatik telafi edilir.
Program beklenmedik şekilde kapanırsa nedeni ev klasörünüzdeki
"CEYKU_Makam_Vokal_hata.log" dosyasına yazılır. Bu dosyayı gönderin.
