Toplantılar ve transkripsiyon
Control Center bir görüşmeyi kaydedip size temiz bir yazılı çıktı — bir özet, eylem öğeleri ve kararlar — sunabilir; konuşma tanıma ve konuşmacı ayırma kendi donanımınızda çalışır. Granola’yı düşünün, ama kendi sunucunuzda barındırılan ve ajanlarınızın yaşadığı aynı çalışma alanına bağlı.
Toplantı nedir
Bölüm başlığı “Toplantı nedir”Bir toplantı, kaydedilmiş ve transkripte edilmiş bir oturumdur. Bir takvim etkinliğiyle aynı şey değildir: etkinlik, Google’dan eşitlenen planlı bir taahhüttür; toplantıysa gerçekten kaydettiğiniz bir şeydir. İkisi bağlanabilir, çünkü bir etkinlikten kayıt başlatabilirsiniz; ama ayrı kayıtlar olarak kalırlar.
Her toplantı, Control Center’daki her şey gibi çalışma alanına özgüdür. Bir çalışma alanında kaydedilen toplantılar başka birinde asla görünmez.
İş nerede gerçekleşir
Bölüm başlığı “İş nerede gerçekleşir”“Cihaz üzerinde” doğru bir içgüdü ama yanlış bir adlandırma. İstemci sesi
yakalar ve 16 kHz PCM16 çerçevelerini cc_server çalıştıran makineye
akıtır. Geri kalan her şeyi o ana makine yapar: kanal başına WAV’ları
<dataDir>/meetings/<meetingId>/ altına yazar, bir worker isolate içinde
transkript çıkarır, yankıyı filtreler ve sonradan diarizasyon uygular. Tek başına
çalışan bir masaüstünde o ana makine aynı makinedir. Uzak bir sunucuya
yönlendirildiğinde değildir — yani “dizüstü bilgisayarımdan hiçbir şey çıkmıyor”
yalnızca sunucu dizüstü bilgisayarınız olduğunda doğrudur.
Bir istisna daha var ve önemli olan da o.
Özetten önceki her şey — yakalama, transkripsiyon, yankı iptali, diarizasyon, ses izi eşleştirme — ağ çağrısı yapılmadan sunucuda çalışır.
Hangi modeller birlikte geliyor
Bölüm başlığı “Hangi modeller birlikte geliyor”Gömme, diarizasyon ve konuşma (ASR) modelleri ilk açılışta zorla kurulur (bir demoda atlanır); böylece konuşmacı ayırma ve kayıt, ayarlara uğramadan hazır olur. ASR yine de seçilebilir — birkaç yüz megabayttır ve seçicide dört derleme bulunur. Konuşma modeli, o ilk indirmeden sonra bir kez daha yeniden başlatma gerektirir; çünkü transkript çıkarıcı, modelini indirme tamamlanmadan önce çözer.
Boyut, dil kapsamı ve doğruluk açısından farklılaşan dört seçici girdisi:
- Parakeet TDT 0.6B v3 — çok dilli, önerilen varsayılan (~600 MB)
- Parakeet TDT 0.6B v2 — İngilizce (~480 MB)
- Whisper large-v3-turbo — çok dilli (~626 MB)
- Whisper base.en — yalnızca İngilizce, küçük tarihsel varsayılan (~198 MB)
Modeller, sunucunun çalışma zamanında indirdiği tek yapıtlardır; tüm yerel kütüphaneler paketle birlikte gelir.
Yakalama nasıl çalışır
Bölüm başlığı “Yakalama nasıl çalışır”Bir toplantı aynı anda iki ses kanalı kaydeder:
- Siz (“me”): mikrofonunuz.
- Onlar (“them”): toplantının ses çıkışı; sürücüsüz bir loopback ile yakalanır — macOS’te Core Audio süreç/aygıt tap’leri, Windows’ta WASAPI loopback, Linux’ta bir PipeWire / PulseAudio monitörü.
İki kanal ayrı ayrı yakalandığı için transkript baştan konuşmacıya atanır: sizin
sözleriniz me, görüşmedeki herkes them olarak etiketlenir.
Kendi sesiniz sistem çıkışından mikrofona sızar ve aksi halde iki kez transkripte edilirdi. İki filtre bunu engeller. Sinyal düzeyinde AEC3 her uzak mod kaydında çalışır ve zorunludur — yerel AEC kütüphanesi yüklenemezse, kayıt yankıyla kirlenmiş bir mikrofonu sessizce akıtmak yerine başlamayı reddeder. (Yüz yüze modda iptal edilecek bir karşı uç referansı yoktur, bu yüzden AEC orada etkisiz bir geçiştir.) Üstüne, ana makine tarafında metin düzeyinde bir yankı filtresi her platformda çalışır.
Tüm işletim sistemi düzeyindeki mikrofon işleme kasten devre dışıdır. macOS’te platformun kendi yankı iptalini veya otomatik kazancını etkinleştirmek, mikrofonu Voice Processing I/O’ya geçirir; bu derlemede bu, hem mikrofonu hem de sistem sesi tap’ini öldürdü.
Transkripsiyon ve diarizasyon
Bölüm başlığı “Transkripsiyon ve diarizasyon”Siz kaydederken ses, kayan pencereler halinde — kısa bir sondaki sessizlikte ya da azami pencere uzunluğunda kesilerek — UI iş parçacığının dışında çözülür. Her pencere, milisaniye cinsinden konumlarla konuşmacı etiketli bir transkript bölümüne dönüşür.
Bir RMS eşiğinin üzerine hiç çıkmayan pencereler hiç çözülmeden atlanır; çünkü bir konuşma modeli sessizliği halüsinasyon görmüş konuşma dışı token’lar olarak üretir ve çözme boşa CPU harcar. Bunun pratik sonucu: sürekli çok sessiz konuşan bir kişi transkript üretmez. Birinin çıktısı boş gelirse, modeli suçlamadan önce giriş düzeyini kontrol edin.
Durdurduktan sonra diarizasyon kayıt üzerinde çevrimdışı çalışır ve uzak
kanalı yeniden adlandırabileceğiniz ayrı konuşmacılara (Person 1, Person 2,
…) böler. Konuşmacı sayısı, sizin girdiğiniz bir sayıdan değil, bir kümeleme
eşiğinden çıkarılır — yani bu bir eşik yan ürünüdür ve sessiz ya da üst üste
konuşan bir konuşmacı bir komşusuna birleştirilebilir. Transkript,
[mm:ss] SPEAKER: text satırları olarak gösterilir.
Ses profilleri
Bölüm başlığı “Ses profilleri”Bir konuşmacıyı yeniden adlandırmak, tek bir transkripti etiketlemekten fazlasını yapar. Control Center, konuşmacının ses izini bir ses profili olarak kaydedebilir; böylece onu gelecekteki toplantılarda otomatik tanır. Diarizasyonla ayrılmış bir konuşmacıya ad verdiğinizde, ses izinin kaydedilip kaydedilmeyeceği sorulur; kaydederseniz, o ad için sürekli güncellenen bir merkeze karıştırılır ve yeni konuşmacılarla kosinüs benzerliğine göre eşleştirilir; böylece aynı kişi bir dahaki sefere yeniden etiketlemenize gerek kalmadan adıyla görünür.
Ses profilleri çalışma alanına özgüdür ve sınırı asla aşmaz. Bunları Ayarlar → Çalışma alanı → Toplantılar altından yönetin. Daha önce kaydedilmiş bir konuşmacıyı yeniden adlandırmak, eski adın kaydını kaldırır ve yeni adı kaydetmeyi önerir; bir profili silmek saklanan ses izini kaldırır ama geçmiş toplantılara uygulanmış adları olduğu gibi bırakır.
Özet pipeline’ı
Bölüm başlığı “Özet pipeline’ı”Bir kayıt durduğunda sunucu bir MeetingRecordingStopped
alan olayı yayımlar. Yerleşik
meeting_summary pipeline şablonu bu olayla tetiklenir. Kaydedici bunu
beklemez; toplantı yalnızca durum yaşam döngüsünden geçer:
recording → processing → doneÖzet ajanı başlığı, kaba canlı notlarınızı ve transkripti alır ve yapılandırılmış JSON döndürür. Hangi bölümleri yazacağı, çalışma alanının etkin toplantı notu şablonu ile belirlenir (Ayarlar → Çalışma alanı → Toplantılar); etkin şablon yeni ve yeniden çalıştırılan özetlere uygulanır. Ardından pipeline’ın kalıcılaştırma adımları bu JSON’u ayrı satırlara yazar:
enhancedNotesvesummary→ toplantının notları- her eylem öğesi → bir
MeetingActionItemsatırı (içerik, sahip, isteğe bağlı bilet bağlantısı) - her karar → bir
MeetingDecisionsatırı
Eylem öğeleri ve kararlar serbest biçimli markdown’dan asla ayrıştırılmaz;
yalnızca ajanın yapılandırılmış dizilerinden alınır. Bir çalıştırma
yapılandırılmış çıktı üretmezse, kalıcılaştırma adımları atlanır ve ham transkript
yedek olarak saklanır; böylece kaydı asla kaybetmezsiniz. Pipeline’da hiçbir şey
toplantıyı done olarak işaretlemez — bunu, çalıştırmanın terminal olayından tek
bir uzlaştırıcı yapar; böylece kardeş bir adımın başarısız olması, zaten bitmiş
görünen yarı yazılmış bir toplantıyı ortada bırakamaz.
Toplantılar nerede görünür
Bölüm başlığı “Toplantılar nerede görünür”| Yüzey | Ne gösterir |
|---|---|
/meetings |
Toplantı listesi; eylem öğesi ve karar sayılarıyla |
/meetings/record |
Canlı kayıt HUD’ı: bir yanda notlarınız, diğer yanda akan transkript |
/meetings/:meetingId |
Bir toplantının ayrıntısı: Notlar, Transkript, Eylem öğeleri ve Kararlar sekmeleri |
| Ayarlar → Çalışma alanı → Toplantılar | Bu çalışma alanının not şablonları ve kayıtlı ses profilleri |
Platform desteği
Bölüm başlığı “Platform desteği”Yakalama, üç masaüstü platformunda da sürücüsüzdür (macOS’te Core Audio tap’leri, Windows’ta WASAPI, Linux’ta PipeWire).
Web istemcisi de kaydeder — bu sayfanın geri kalanındaki masaüstü anlatımı
bunu gizleyebilir: tarayıcı mikrofonunuzu getUserMedia ile, toplantı sesini
getDisplayMedia (ekran paylaşımı) ile alır, 16 kHz PCM16’ya düşürür ve aynı ana
makineye akıtır. Burada üç uyarı geçerlidir:
- Paylaşılan yüzey bir ses parçası taşımalıdır. Safari, Firefox ve macOS tam ekran paylaşımı ses parçası vermez ve kayıt başlamayı reddeder.
- Yerel AEC3 yoktur. Mikrofonda tarayıcının kendi yankı iptali istenir; ana makine tarafındaki metin yankı filtresi yine çalışır. HUD, mikrofon PCM’inden beslenen bir giriş düzeyi ölçeri gösterir.
- Özeti yeniden çalıştırma ve işlemeyi iptal etme yalnızca masaüstünde çalışır.
Takvimin Kaydı başlat ve bağla eylemi yalnızca masaüstünde çalışır ve web’de bunu açıkça bildirir; oysa toplantılar ekranının kendi kayıt akışı orada çalışır.
Ayrıca bakınız
Bölüm başlığı “Ayrıca bakınız”- Takvim ve zamanlama: bir toplantıyı doğrudan bir takvim etkinliğinden kaydedin
- Pipeline’lar ve otomasyon:
meeting_summaryarkasındaki motor - Biletler ve devretme: bir toplantının eylem öğelerini biletlere bağlayın
- Alan olayları:
MeetingRecordingStoppedveMeetingStartingSoon - Bir toplantıyı kaydetme ve özetleme