# Gemini Live: Gerçek Zamanlı Sesli AI Asistani
Telefonunu eline alip "Hey, bu kodu inceler misin?" diyorsun ve AI sana sesli olarak kodu açıklıyor, sorunları belirtiyor, çözüm öneriyor. Ekrana bakmana bile gerek yok — yuruken, araba sürerken, spor yaparken AI ile doğal bir konuşma yürüt. Gemini Live, Google'in gerçek zamanlı sesli AI asistani olarak tam bu deneyimi sunuyor. Gemini 2.5 Pro'nun 1M token bağlam penceresini zaten kesfettiysen, Gemini Live'in bu güçu sesli deneyime nasıl taşıyabileceğini görmek isteyeceksin. Teknik altyapısından multimodal yeteneklerine, mobil geliştirme senaryolarından gelecek vizyonuna kadar tum detayları burada keşfedeceksin.
Not: Bu rehber Gemini Live'in Subat 2026 itibariyle en güncel özellik kapsar. Özellikler bölgeye ve plana göre farklılik gösterebilir.
İçindekiler
- Gemini Live Nedir?
- Teknik Altyapı: Gerçek Zamanlı Ses İşleme
- Multimodal Deneyim: Ses + Kamera
- Ses Özellikleri ve Kişiselleş
- Mobil Geliştirici Senaryoları
- API ve Entegrasyon İmkanları
- Rakiplerle Karşılaştırma
- Gelecek Vizyonu ve Beklentiler
- Sonuç ve Öneriler
1. Gemini Live Nedir?
Gemini Live, Google'in Gemini AI modelini temel alan gerçek zamanlı sesli konuşma arayüzüdür. Geleneksel ses asistanlarından (Siri, Google Assistant) farklı olarak, uzun, bağlam koruyan, doğal bir konuşma deneyimi sunar.
Temel Özellikler
Özellik | Açıklama |
|---|---|
Gerçek zamanlı konuşma | Düşük gecikmeli, doğal diyalog |
Bağlam koruma | Konuşma boyunca önceki konulari hatirlar |
Kesme desteği | Konuşma sırasında araya girebilirsin |
Multimodal | Kamerayi aç, gösterdiklerini anlar |
Ekran paylaşımi | Telefonundaki ekranı görur ve yorumlar |
Çoklu ses seçeneği | 10+ farklı ses karakteri |
Cevrimdisi başlama | Bağlantı kesilse bile konuşma devam |
Extensions | Google Maps, YouTube, Gmail entegrasyonu |
Geleneksel Ses Asistanlarından Farkı
swift
1Geleneksel Ses Asistani (Siri/Google Assistant):2Kullanıcı: "Hava durumu nasıl?"3Asistan: "Istanbul'da 15 derece" (tek soru-cevap, bağlam yok)4Kullanıcı: "Yarin ne olacak?"5Asistan: "Hangi konuda?" (baglami kaybetti)6 7Gemini Live:8Kullanıcı: "Hava durumu nasıl?"9Gemini: "Istanbul'da şimdi 15 derece, açık gokyuzu. Aksama doğru 10 dereceye düşecek."10Kullanıcı: "Yarin ne olacak?"11Gemini: "Yarin Istanbul'da yagmur bekleniyor, 8-12 derece arasi. Semsiye almanizi öneririm."12(baglami koruyor — "yarin" = "Istanbul hava durumu yarin")💡 Pro Tip: Gemini Live'i sadece basit sorular için kullanma. En güçlü olduğu alan, uzun ve derinlemesine konuşma: beyin firtinasi, mimari tartışma, fikir geliştirme, öğrenme. 30 dakikalik bir seans, 100 mesajlik bir chat'ten çok daha verimli olabilir.
2. Teknik Altyapı: Gerçek Zamanlı Ses İşleme
Gemini Live'in teknik altyapı, geleneksel STT (Speech-to-Text) → LLM → TTS (Text-to-Speech) pipeline'indan farklıdır. Daha entegre bir yaklaşım kullanır.
Mimari
swift
1Geleneksel Pipeline:2Ses → STT → Metin → LLM → Metin → TTS → Ses3(Her adım gecikme: toplam 3-5 saniye)4 5Gemini Live Pipeline:6Ses → Native Audio Model → Ses7(End-to-end: toplam 500ms-1s)Gecikme Analizi
Bileşen | Geleneksel | Gemini Live |
|---|---|---|
Ses tanıma | 500-800ms | Entegre |
LLM işleme | 1-3s | 300-800ms |
Ses sentezi | 300-500ms | Entegre |
Toplam gecikme | 2-5s | 500ms-1.5s |
Kesme tepkisi | Yok | <200ms |
Streaming Mimarisi
typescript
1// Gemini Live streaming yaklaşımi (kavramsal)2interface LiveSession {3 // Canlı ses girişi4 audioInput: ReadableStream<AudioChunk>;5 6 // Canlı ses çıkışı7 audioOutput: WritableStream<AudioChunk>;8 9 // Bağlam yönetimi10 context: {11 conversationHistory: Message[];12 activeTools: Tool[];13 userProfile: UserProfile;14 };15 16 // Olay dinleyicileri17 on(event: 'speech_start', handler: () => void): void;18 on(event: 'speech_end', handler: () => void): void;19 on(event: 'interruption', handler: () => void): void;20 on(event: 'tool_call', handler: (tool: ToolCall) => void): void;21}22 23// Session başlatma24const session: LiveSession = await gemini.startLiveSession({25 model: 'gemini-2.5-pro',26 voice: 'kore', // Ses karakter seçim27 language: 'tr',28 tools: [googleSearch, codeExecution],29 systemInstruction: 'Sen bir senior iOS developer...'30});💡 Pro Tip: Gemini Live'in gecikme performansı internet bağlantı kalitenize doğrudan bağlıdır. Wi-Fi veya 5G ortamında en iyi deneyimi yaşarsın. 4G'de bile kabul edilebilir seviyede çalışır ama arada mikro kesilmeler olabilir.
3. Multimodal Deneyim: Ses + Kamera
Gemini Live'in en etkileyici özelliği, sesli konuşma sırasında kamerayi veya ekranı paylaşarak görsel bağlam ekleyebilmendir.
Kamera Modu
swift
1Senaryo: Whiteboard'daki mimari diyagrami inceleme2 31. Gemini Live'i aç42. Kamerayi whiteboard'a doğru çevir53. "Bu mimari diyagrami inceler misin?" de64. Gemini görseli analiz eder:7 - "Burada bir MVC pattern görüyorum. 3 katman var:8 View Controller'dan doğrudan Model'e erişim görüyorum,9 bu MVVM'e geçis için sorunlu olabilir. Ayrıca10 Network katmanı Controller içinde — bunu ayrı bir11 Service katmanina çıkarmanızı öneririm."125. "Bunu nasıl düzeltebilirim?" diye devam et136. Gemini sesli olarak adım adım migration planı sunarEkran Paylaşımi
swift
1Senaryo: Xcode hata mesajını gösterme2 31. Ekran paylaşımini aktif et42. Xcode'daki hata mesajını göster53. "Bu hatanin sebebi ne?" de64. Gemini ekrandaki hataya bakarak:7 - "Bu bir 'sendable' uyumsuzlugu hatasi. MainActor8 üzerinde çalışan bir fonksiyondan non-isolated9 context'e veri gondermeye çalışıyorsun. Çözüm:10 @Sendable closure kullan veya Task ile sar."Video Analizi
swift
1Senaryo: Uygula demo'su gösterme2 31. Ekran kaydini başlat42. Uygulamada gezin53. "Bu akista bir UI sorunu var mi?" de64. Gemini geçişleri, animasyonları ve layout'u analiz eder💡 Pro Tip: Kamera moduyla pair programming yap — ekranini göster, sesli tart, anında geri bildirim al. Bu yaklaşım, özellikle uzaktan çalışanlar için sanal pair programming ortami yaratır. iOS Accessibility yazımızda da görsel analiz araçları deginmistik.
4. Ses Özellikleri ve Kişiselleştirme
Ses Seçenekleri
Gemini Live, 10'dan fazla farklı ses karakteri sunar. Her biri farklı ton, hız ve kişilik özelliklerine sahiptir:
swift
1Ses Karakterleri:2├-- Kore — Canlı, enerjik, gençlere uygun3├-- Aoede — Sakin, olgun, profesyonel4├-- Puck — Neseli, espirili, samimi5├-- Fenrir — Derin, otoriter, ciddi6├-- Leda — Sicak, anlayışli, öğretici7├-- Orus — Net, hızlı, is odaklı8├-- River — Doğal, akici, rahatlatici9├-- Vale — Yumusak, sabırli, destekleyici10└-- ... (yeni sesler ekleniyor)Dil Desteği
swift
1Türkçe Desteği:2├-- Ses tanıma: Türkçe tam destek3├-- Cevap: Türkçe sesli yanit4├-- Aksanz: Türkiye Türkçesi5├-- Teknik terimler: Türkçe-Ingilizce karisik destekler6└-- Dikkat: Bazı teknik terimleri Ingilizce telaffuz edebilirKişiselleştirme
python
1# Gemini Live kişiselleştirme örneği2live_config = {3 "voice": "aoede", # Ses karakter4 "language": "tr-TR", # Türkçe5 "speaking_rate": 1.1, # Hafif hızlı6 "system_instruction": """7 Sen bir senior iOS developer'sin.8 Türkçe konuserken teknik terimleri Ingilizce bırak.9 Kısa ve net cevaplar ver.10 Kod örneği gerektiğinde "Ekrana yaz" diyeceğini belirt.11 """,12 "tools": ["google_search", "code_execution"],13 "response_modalities": ["AUDIO", "TEXT"] # Hem ses hem metin14}5. Mobil Geliştirici Senaryoları
Gemini Live, mobil geliştiriciler için birçok pratik kullanım senaryosu sunar.
Senaryo 1: Sesli Kod Review
swift
1Sabah kosusunda kulaklıkla:2 3Sen: "Dun gece PR actim, 3 dosya değiştirdim. UserService'e4 pagination ekledim. Yaklasiminmi yorumlar misin?"5 6Gemini: "Tabii! UserService'de hangi pagination yaklaşımini kullandin?7 Cursor-based mi offset-based mi?"8 9Sen: "Offset-based, page ve limit parametreleri var."10 11Gemini: "Offset-based pagination büyük veri setlerinde performans12 sorunu yaratabilir çünkü her sorguda OFFSET atlama yapmak13 zorunda. Eger veri seti 10.000+ kayit olacaksa cursor-based'e14 geçmeni öneririm. Cursor için son item'in ID'sini kullanabilirsin.15 Ayrıca limit için bir max değer koymussundur umarim — yoksa16 client tarafından çok büyük limit gonderilirse sunucu zorlanir."17 18Sen: "Max 100 koydum."19 20Gemini: "Güzel. Bir de total count donuyor musun? Client'in21 kaç sayfa olduğunu bilmesi lazim."22 23Sen: "Hayır, sadece items dönüyorum."24 25Gemini: "Tavsiyem su: Response'a totalCount ve hasNextPage ekle.26 totalCount için COUNT sorgusu ayrı çalıştır.27 hasNextPage için limit+1 kayit çek, limit'ten fazlaysa true don."Senaryo 2: Mimari Beyin Firtinasi
swift
1Ofiste whiteboard başında:2 3Sen: "Yeni bir proje başlatıyoruz. Offline-first bir iOS uygula.4 Hangi mimariyi öner?"5 6Gemini: "Offline-first için su stack'i önerebilirim:7 SwiftData local persistence için — Core Data'nin modern versiyonu.8 CloudKit sync için — Apple ekosisteminde en temiz çözüm.9 Repository pattern — local ve remote veri kaynaklarını soyutlamak için.10 Conflict resolution için last-write-wins basit ama riskli,11 3-way merge daha güvenli. Hangi yaklaşımi tercih edersin?"12 13Sen: "Uygulamada collaborative editing olacak, birden fazla kullanıcı14 aynı veriyi editleyebilecek."15 16Gemini: "O zaman kesinlikle CRDT — Conflict-free Replicated Data Types17 kullanmaliyiz. Apple'in CloudKit'inde native CRDT desteği yok18 ama custom bir çözüm yazabiliriz. Alternatif olarak Firestore19 da gerçek zamanlı sync sunuyor ama offline merge'de sınırlamalari20 var. Benim önerim: local için SwiftData, sync için custom CRDT21 layer, transport için WebSocket + REST fallback."Senaryo 3: Öğrenme ve Mentorluk
swift
1Sen: "Swift Concurrency'de actor isolation'i tam anlamadım.2 Basit bir örnek ile açıkla misin?"3 4Gemini: "Tabii. Actor'u bir banka hesabi gibi düşün.5 Hesabin bakiyesi var ve birden fazla kişi aynı anda6 para çekmeye çalışıyor. Actor, bu erisimi sıralandırarak7 data race'i engeller. Örneğin: 'actor BankAccount' tanimlarsin.8 İçindeki 'var balance' değişkeni sadece actor'un kendi9 metotları tarafından senkron erişilir. Dışarıdan erişirken10 'await account.balance' kullanman gerekir. Bu 'await' sırala11 noktasıdır — siraya girer ve bekler."12 13Sen: "Peki MainActor ne ise yarar?"14 15Gemini: "MainActor özel bir actor — UI thread'ini temsil eder.16 @MainActor ile işaretlediğinde kodun her zaman ana thread'de17 çalışır. Bu özellikle ViewModel'lerde önemli çünkü UI18 güncellemeleri ana thread'de olmalı. SwiftUI'da @Observable19 macro'su otomatik olarak MainActor uygula ama UIKit'te20 kendin eklemelisin."Swift Concurrency Actors yazımızda actor modelini derinlemesine inceledik. Structured Concurrency yazısı da ilgili bir kaynak. Claude Sonnet 4.5'in hız-kalite dengesi ve n8n AI Agent is akışi yazılarinda da sesli asistanlarla entegre çalışma senaryolarını ele aldık.
6. API ve Entegrasyon İmkanları
Gemini Live API
python
1# Gemini Live API ile custom sesli asistan2from google import genai3 4client = genai.Client(api_key="YOUR_API_KEY")5 6# Live session başlat7config = {8 "response_modalities": ["AUDIO"],9 "speech_config": {10 "voice_config": {11 "prebuilt_voice_config": {12 "voice_name": "Aoede"13 }14 }15 },16 "system_instruction": "Sen bir iOS geliştirme mentoru olarak çalış. Türkçe konus.",17 "tools": [{"google_search": {}}]18}19 20async with client.aio.live.connect(21 model="gemini-2.5-flash-preview",22 config=config23) as session:24 # Ses verisi gönder25 audio_data = read_microphone()26 await session.send(input=audio_data, end_of_turn=True)27 28 # Sesli cevap al29 async for response in session.receive():30 if response.data:31 play_audio(response.data)32 if response.text:33 print(response.text)Mobil Uygula Entegrasyonu
swift
1// iOS uygulamasında Gemini Live entegrasyonu (kavramsal)2import AVFoundation3import GoogleGenerativeAI4 5class VoiceAssistantService {6 private let audioEngine = AVAudioEngine()7 private var liveSession: LiveSession?8 9 func startConversation() async throws {10 // Mikrofon izni kontrol11 guard await AVAudioApplication.requestRecordPermission() else {12 throw VoiceError.permissionDenied13 }14 15 // Session başlat16 liveSession = try await GeminiLive.connect(17 model: "gemini-2.5-pro",18 config: LiveConfig(19 voice: .aoede,20 language: "tr-TR",21 tools: [.googleSearch]22 )23 )24 25 // Ses yakalama başlat26 let inputNode = audioEngine.inputNode27 let format = inputNode.outputFormat(forBus: 0)28 29 inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) {30 [weak self] buffer, _ in31 self?.liveSession?.sendAudio(buffer)32 }33 34 try audioEngine.start()35 36 // Cevapları dinle37 for await response in liveSession!.responses {38 switch response {39 case .audio(let data):40 playAudio(data)41 case .text(let text):42 updateTranscript(text)43 case .toolCall(let call):44 handleToolCall(call)45 }46 }47 }48 49 func stopConversation() {50 audioEngine.stop()51 liveSession?.close()52 }53}💡 Pro Tip: Gemini Live API ile kendi sesli asistanını oluşturabilirsin. Örneğin bir "iOS mentor botu" yap — kullanıcılar sesli soru sorsun, bot sesli ve kodla cevap versin. Bu tip bir ürün için SiriKit entegrasyonu yazımız da faydali olacaktır.
7. Rakiplerle Karşılaştırma
Sesli AI Asistanlar
Özellik | Gemini Live | ChatGPT Voice | Siri | Alexa |
|---|---|---|---|---|
Doğal konuşma | Mukemmel | Çok iyi | Orta | Orta |
Bağlam koruma | Evet | Evet | Sınırli | Sınırli |
Kesme desteği | Evet | Evet | Hayır | Sınırli |
Kamera/Ekran | Evet | Sınırli | Hayır | Hayır |
Uzun konuşma | 30+ dk | 15-20 dk | Kısa | Kısa |
Kod anlama | Evet | Evet | Hayır | Hayır |
Dil desteği | 40+ | 50+ | 20+ | 8 |
Ücretsiz | Evet (sınırli) | Hayır (Plus) | Evet | Evet |
Gerçek zamanlı bilgi | Google Search | Bing | Sınırli | Amazon |
Detaylı Analiz
swift
1Gemini Live Güçleri:2✅ En iyi multimodal deneyim (kamera + ekran + ses)3✅ Google Search grounding — güncel bilgi4✅ 1M token bağlam — uzun konuşma5✅ Düşük gecikme — doğal diyalog hissi6✅ Extensions (Maps, YouTube, Gmail)7 8Gemini Live Zayıflıkları:9⚠️ Kod çalıştırma sınırli (henüz tam IDE entegrasyonu yok)10⚠️ Bazı dillerde telaffuz sorunları11⚠️ Internet bağımlıligi (offline çalışma sınırli)12⚠️ Konuşma süresi siniri (çok uzun seanslarda kesinti)8. Gelecek Vizyonu ve Beklentiler
Yakin Gelecek (2026)
swift
1Beklenen Özellikler:2├-- Tam IDE entegrasyonu — sesli komutla kod yazma3├-- Gerçek zamanlı çeviri — canlı tercümanlık4├-- Agent modu — otonom görev tamamlama (sesli)5├-- Memory — konuşma arasi bilgi taşıma6├-- Custom voices — kendi sesini oluşturma7└-- On-device işleme — hassas veriler için yerel çalıştırmaMobil Geliştirme Uzerine Etkileri
Alan | Şimdi | Gelecek |
|---|---|---|
Kod yazma | Metin bazli | Sesli komutla IDE kontrolu |
Code review | Ekranda oku | Sesli tartışma + görsel |
Debug | Log oku, breakpoint | "Bu crash'i açıkla" sesli |
Pair programming | Ekran paylaşımi | Sesli + görsel + otonom |
Dokümantasyon | Manuel yaz | Sesli dikte, AI formatlama |
Öğrenme | Video/makale oku | Sesli mentor, interaktif |
Potansiyel Senaryo: Sesli Otonom Geliştirme
swift
12027 Vizyonu:2 3Sen: "Uygulamaya dark mode desteği ekle."4Gemini Live: "Anlasıldı. Projeyi tarıyorum...5 6[30 saniye sessizlik — arka planda calisıyor]7 8Tamam, 8 dosyada değişiklik yaptım:91. Theme.swift — yeni color scheme eklendi102. SettingsView — dark mode toggle eklendi113. 5 view dosyasında hardcoded renkler theme referansina çevrildi124. Info.plist — UIUserInterfaceStyle flexible olarak ayarlandi13 14Değişiklikleri göstermemi ister misin yoksa commit mi yapayım?"15 16Sen: "Commit yap, 'feat: add dark mode support' mesajiyla."17Gemini Live: "Commit oluşturuldu. PR da açayım mi?"💡 Pro Tip: Sesli AI asistanlar su an "tamamlayici" bir araç ama 2-3 yil içinde birincil geliştirme arayüzu olabilir. Simdiden sesli komut aliskanligi edinmek, gelecekte büyük avantaj sağlayacak. iOS Future Trends yazımızda bu trendleri detaylı tartistik.
Sonuç ve Öneriler
Gemini Live, sesli AI etkilesimini yeni bir seviyeye taşiyor. Doğal konuşma, multimodal anlama (kamera + ekran) ve düşük gecikme ile gerçekten bir "sesli geliştirme partneri" deneyimi sunuyor. Özellikle hareket halindeyken, eller mesgulken veya beyin firtinasi yaparken yazma/okuma yerine konuşmak çok daha verimli.
Temel çıkarımlar:
- Beyin firtinasi ve mimari tartışma için ideal — 30 dakikalik bir seans, saatlik chat'ten verimli
- Multimodal kullan — kamera ile whiteboard, ekran ile kod göster
- Doğru ses seçim yap — görev tipine uygun karakter seç
- Kişiselleş — system instruction ile rol ve dil belirle
- API ile custom asistan oluştur — kendi domain bilginle zenginleştir
GraphQL Mobile ve WebSocket Real-Time yazılarinda gerçek zamanlı iletişim konularını detaylı ele aldık. Sora 2 video üretimi ve Claude Code Plan Mode yazılarinda da AI destekli içerik üretimi ve planlama konularını inceleyebilirsin.
Resmi Kaynaklar:
ALTIN İPUCU
Bu yazının en değerli bilgisi
Bu ipucu, yazının en önemli çıkarımını içeriyor.
Easter Egg
Gizli bir bilgi buldun!
Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?
Okuyucu Ödülü
🎉 **Sonuna Kadar Okuyan Kahraman!** Tebrikler! İşte sana özel bir kaynak: Google'in [Gemini Live API örneklerini](https://github.com/google-gemini/cookbook/tree/main/quickstarts/Live_API_Quickstart.ipynb) içeren repo. Bu notebook ile kendi sesli asistanını 10 dakikada prototipleyebilirsin. Özellikle "tool use" örneği, sesli komutla Google Search yapan bir asistan gösteriyor — bunu kendi uygulamana entegre edebilirsin.

