# Gemini Live: Gercek Zamanli Sesli AI Asistani
Telefonunu eline alip "Hey, bu kodu inceler misin?" diyorsun ve AI sana sesli olarak kodu acikliyor, sorunlari belirtiyor, cozum oneriyor. Ekrana bakmana bile gerek yok — yuruken, araba surerken, spor yaparken AI ile dogal bir konusma yurut. Gemini Live, Google'in gercek zamanli sesli AI asistani olarak tam bu deneyimi sunuyor. Gemini 2.5 Pro'nun 1M token baglam penceresini zaten kesfettiysen, Gemini Live'in bu gucu sesli deneyime nasil tasiyabilecegini gormek isteyeceksin. Teknik altyapisinden multimodal yeteneklerine, mobil gelistirme senaryolarindan gelecek vizyonuna kadar tum detaylari burada kesfedeceksin.
Not: Bu rehber Gemini Live'in Subat 2026 itibariyle en guncel ozelliklerini kapsar. Ozellikler bolgeye ve plana gore farklilik gosterebilir.
Icindekiler
- Gemini Live Nedir?
- Teknik Altyapi: Gercek Zamanli Ses Isleme
- Multimodal Deneyim: Ses + Kamera
- Ses Ozellikleri ve Kisisellestirme
- Mobil Gelistirici Senaryolari
- API ve Entegrasyon Imkanlari
- Rakiplerle Karsilastirma
- Gelecek Vizyonu ve Beklentiler
- Sonuc ve Oneriler
1. Gemini Live Nedir?
Gemini Live, Google'in Gemini AI modelini temel alan gercek zamanli sesli konusma arayuzudur. Geleneksel ses asistanlarindan (Siri, Google Assistant) farkli olarak, uzun, baglam koruyan, dogal bir konusma deneyimi sunar.
Temel Ozellikler
Ozellik | Aciklama |
|---|---|
Gercek zamanli konusma | Dusuk gecikmeli, dogal diyalog |
Baglam koruma | Konusma boyunca onceki konulari hatirlar |
Kesme destegi | Konusmasi sirasinda araya girebilirsin |
Multimodal | Kamerayi ac, gosterdiklerini anlar |
Ekran paylasimi | Telefonundaki ekrani gorur ve yorumlar |
Coklu ses secenegi | 10+ farkli ses karakteri |
Cevrimdisi baslama | Baglanti kesilse bile konusmaya devam |
Extensions | Google Maps, YouTube, Gmail entegrasyonu |
Geleneksel Ses Asistanlarindan Farki
swift
1Geleneksel Ses Asistani(Siri/Google Assistant):2Kullanici: "Hava durumu nasil?"3Asistan: "Istanbul'da 15 derece" (tek soru-cevap, baglam yok)4Kullanici: "Yarin ne olacak?"5Asistan: "Hangi konuda?" (baglami kaybetti)6 7Gemini Live:8Kullanici: "Hava durumu nasil?"9Gemini: "Istanbul'da simdi 15 derece, acik gokyuzu. Aksama dogru 10 dereceye dusecek."10Kullanici: "Yarin ne olacak?"11Gemini: "Yarin Istanbul'da yagmur bekleniyor, 8-12 derece arasi. Semsiye almanizi oneririm."12(baglami koruyor — "yarin" = "Istanbul hava durumu yarin")💡 Pro Tip: Gemini Live'i sadece basit sorular icin kullanma. En guclu oldugu alan, uzun ve derinlemesine konusmalar: beyin firtinasi, mimari tartisma, fikir gelistirme, ogrenme. 30 dakikalik bir seans, 100 mesajlik bir chat'ten cok daha verimli olabilir.
2. Teknik Altyapi: Gercek Zamanli Ses Isleme
Gemini Live'in teknik altyapisi, geleneksel STT (Speech-to-Text) → LLM → TTS (Text-to-Speech) pipeline'indan farklidir. Daha entegre bir yaklasim kullanir.
Mimari
swift
1Geleneksel Pipeline:2Ses → STT → Metin → LLM → Metin → TTS → Ses(Her adimda gecikme: toplam 3-5 saniye)3 4Gemini Live Pipeline:5Ses → Native Audio Model → Ses(End-to-end: toplam 500ms-1s)Gecikme Analizi
Bilesen | Geleneksel | Gemini Live |
|---|---|---|
Ses tanima | 500-800ms | Entegre |
LLM isleme | 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 yaklasimi (kavramsal)2interface LiveSession {3 // Canli ses girisi4 audioInput: ReadableStream; 5 6 // Canli ses cikisi7 audioOutput: WritableStream; 8 9 // Baglam yonetimi10 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 baslatma24const session: LiveSession = await gemini.startLiveSession({25 model: 'gemini-2.5-pro',26 voice: 'kore', // Ses karakter secimi27 language: 'tr',28 tools: [googleSearch, codeExecution],29 systemInstruction: 'Sen bir senior iOS developer...'30});💡 Pro Tip: Gemini Live'in gecikme performansi internet baglanti kalitenize dogrudan baglidir. Wi-Fi veya 5G ortaminda en iyi deneyimi yasarsin. 4G'de bile kabul edilebilir seviyede calisir ama arada mikro kesilmeler olabilir.
3. Multimodal Deneyim: Ses + Kamera
Gemini Live'in en etkileyici ozelligi, sesli konusma sirasinda kamerayi veya ekrani paylasarak gorsel baglam ekleyebilmendir.
Kamera Modu
swift
1Senaryo: Whiteboard'daki mimari diyagrami inceleme2 31. Gemini Live'i ac42. Kamerayi whiteboard'a dogru cevir53. "Bu mimari diyagrami inceler misin?" de64. Gemini goruntyu analiz eder:7 - "Burada bir MVC pattern goruyorum. 3 katman var:8 View Controller'dan dogrudan Model'e erisim goruyorum,9 bu MVVM'e gecis icin sorunlu olabilir. Ayrica10 Network katmani Controller icinde — bunu ayri bir11 Service katmanina cikarmanizi oneririm."125. "Bunu nasil duzeltebilirim?" diye devam et136. Gemini sesli olarak adim adim migration plani sunarEkran Paylasimi
swift
1Senaryo: Xcode hata mesajini gosterme2 31. Ekran paylasimini aktif et42. Xcode'daki hata mesajini goster53. "Bu hatanin sebebi ne?" de64. Gemini ekrandaki hataya bakarak:7 - "Bu bir 'sendable' uyumsuzlugu hatasi. MainActor8 uzerinde calisan bir fonksiyondan non-isolated9 context'e veri gondermeye calisiyorsun. Cozum:10 @Sendable closure kullan veya Task ile sar."Video Analizi
swift
1Senaryo: Uygulama demo'su gosterme2 31. Ekran kaydini baslat42. Uygulamada gezin53. "Bu akista bir UI sorunu var mi?" de64. Gemini gecisleri, animasyonlari ve layout'u analiz eder💡 Pro Tip: Kamera moduyla pair programming yap — ekranini goster, sesli tart, aninda geri bildirim al. Bu yaklasim, ozellikle uzaktan calisanlar icin sanal pair programming ortami yaratir. iOS Accessibility yazimizda da gorsel analiz araclarina deginmistik.
4. Ses Ozellikleri ve Kisisellestiirme
Ses Secenekleri
Gemini Live, 10'dan fazla farkli ses karakteri sunar. Her biri farkli ton, hiz ve kisilik ozelliklerine sahiptir:
swift
1Ses Karakterleri:2├── Kore — Canli, enerjik, genclere uygun3├── Aoede — Sakin, olgun, profesyonel4├── Puck — Neseli, espirili, samimi5├── Fenrir — Derin, otoriter, ciddi6├── Leda — Sicak, anlayisli, ogretici7├── Orus — Net, hizli, is odakli8├── River — Dogal, akici, rahatlatici9├── Vale — Yumusak, sabırli, destekleyici10└── ... (yeni sesler ekleniyor)Dil Destegi
swift
1Turkce Destegi:2├── Ses tanima: Turkce tam destek3├── Cevap: Turkce sesli yanit4├── Aksanz: Turkiye Turkcesi5├── Teknik terimler: Turkce-Ingilizce karisik destekler6└── Dikkat: Bazi teknik terimleri Ingilizce telaffuz edebilirKisisellestiirme
python
1# Gemini Live kisisellestiirme ornegi2live_config = {3 "voice": "aoede", # Ses karakter4 "language": "tr-TR", # Turkce5 "speaking_rate": 1.1, # Hafif hizli6 "system_instruction": """7 Sen bir senior iOS developer'sin.8 Turkce konuserken teknik terimleri Ingilizce birak.9 Kisa ve net cevaplar ver.10 Kod ornegi gerektiginde "Ekrana yaz" diyeceğini belirt.11 """,12 "tools": ["google_search", "code_execution"],13 "response_modalities": ["AUDIO", "TEXT"] # Hem ses hem metin14}5. Mobil Gelistirici Senaryolari
Gemini Live, mobil gelistiriciler icin bircok pratik kullanim senaryosu sunar.
Senaryo 1: Sesli Kod Review
swift
1Sabah kosusunda kulaklıkla:2 3Sen: "Dun gece PR actim, 3 dosya degistirdim. UserService'e4 pagination ekledim. Yaklasiminmi yorumlar misin?"5 6Gemini: "Tabii! UserService'de hangi pagination yaklasimini kullandin?7 Cursor-based mi offset-based mi?"8 9Sen: "Offset-based, page ve limit parametreleri var."10 11Gemini: "Offset-based pagination buyuk veri setlerinde performans12 sorunu yaratabilir cunku her sorguda OFFSET atlama yapmak13 zorunda. Eger veri seti 10.000+ kayit olacaksa cursor-based'e14 gecmeni oneririm. Cursor icin son item'in ID'sini kullanabilirsin.15 Ayrica limit icin bir max deger koymussundur umarim — yoksa16 client tarafından cok buyuk limit gonderilirse sunucu zorlanir."17 18Sen: "Max 100 koydum."19 20Gemini: "Guzel. Bir de total count donuyor musun? Client'in21 kac sayfa oldugunu bilmesi lazim."22 23Sen: "Hayir, sadece items dönüyorum."24 25Gemini: "Tavsiyem su: Response'a totalCount ve hasNextPage ekle.26 totalCount icin COUNT sorgusu ayri calistir.27 hasNextPage icin limit+1 kayit cek, limit'ten fazlaysa true don."Senaryo 2: Mimari Beyin Firtinasi
swift
1Ofiste whiteboard basinda:2 3Sen: "Yeni bir proje baslatiyoruz. Offline-first bir iOS uygulamasi.4 Hangi mimariyi onerirsin?"5 6Gemini: "Offline-first icin su stack'i onerebilirim:7 SwiftData local persistence icin — Core Data'nin modern versiyonu.8 CloudKit sync icin — Apple ekosisteminde en temiz cozum.9 Repository pattern — local ve remote veri kaynaklarini soyutlamak icin.10 Conflict resolution icin last-write-wins basit ama riskli,11 3-way merge daha guvenli. Hangi yaklasimi tercih edersin?"12 13Sen: "Uygulamada collaborative editing olacak, birden fazla kullanici14 ayni veriyi editleyebilecek."15 16Gemini: "O zaman kesinlikle CRDT — Conflict-free Replicated Data Types17 kullanmaliyiz. Apple'in CloudKit'inde native CRDT destegi yok18 ama custom bir cozum yazabiliriz. Alternatif olarak Firestore19 da gercek zamanli sync sunuyor ama offline merge'de sinirlamalari20 var. Benim onerim: local icin SwiftData, sync icin custom CRDT21 layer, transport icin WebSocket + REST fallback."Senaryo 3: Ogrenme ve Mentorluk
swift
1Sen: "Swift Concurrency'de actor isolation'i tam anlamadim.2 Basit bir ornek ile aciklar misin?"3 4Gemini: "Tabii. Actor'u bir banka hesabi gibi dusun.5 Hesabin bakiyesi var ve birden fazla kisi ayni anda6 para cekmeye calisiyor. Actor, bu erisimi siralandirarak7 data race'i engeller. Ornegin: 'actor BankAccount' tanimlarsin.8 Icindeki 'var balance' degiskeni sadece actor'un kendi9 metotlari tarafindan senkron erisilir. Disaridan erisirken10 'await account.balance' kullanman gerekir. Bu 'await' siralama11 noktasidir — siraya girer ve bekler."12 13Sen: "Peki MainActor ne ise yarar?"14 15Gemini: "MainActor ozel bir actor — UI thread'ini temsil eder.16 @MainActor ile isaretlediginde kodun her zaman ana thread'de17 calisir. Bu ozellikle ViewModel'lerde onemli cunku UI18 guncellemeleri ana thread'de olmali. SwiftUI'da @Observable19 macro'su otomatik olarak MainActor uygular ama UIKit'te20 kendin eklemelisin."Swift Concurrency Actors yazimizda actor modelini derinlemesine inceledik. Structured Concurrency yazisi da ilgili bir kaynak. Claude Sonnet 4.5'in hiz-kalite dengesi ve n8n AI Agent is akisi yazilarinda da sesli asistanlarla entegre calisma senaryolarini ele aldik.
6. API ve Entegrasyon Imkanlari
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 baslat7config = {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 gelistirme mentoru olarak calis. Turkce 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 gonder25 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 Uygulama Entegrasyonu
swift
1// iOS uygulamasinda 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 baslat16 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 baslat26 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 // Cevaplari 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 asistanini olusturabilirsin. Ornegin bir "iOS mentor botu" yap — kullanicilar sesli soru sorsun, bot sesli ve kodla cevap versin. Bu tip bir urun icin SiriKit entegrasyonu yazimiz da faydali olacaktir.
7. Rakiplerle Karsilastirma
Sesli AI Asistanlar
Ozellik | Gemini Live | ChatGPT Voice | Siri | Alexa |
|---|---|---|---|---|
Dogal konusma | Mukemmel | Cok iyi | Orta | Orta |
Baglam koruma | Evet | Evet | Sinirli | Sinirli |
Kesme destegi | Evet | Evet | Hayir | Sinirli |
Kamera/Ekran | Evet | Sinirli | Hayir | Hayir |
Uzun konusma | 30+ dk | 15-20 dk | Kisa | Kisa |
Kod anlama | Evet | Evet | Hayir | Hayir |
Dil destegi | 40+ | 50+ | 20+ | 8 |
Ucretsiz | Evet (sinirli) | Hayir (Plus) | Evet | Evet |
Gercek zamanli bilgi | Google Search | Bing | Sinirli | Amazon |
Detayli Analiz
swift
1Gemini Live Gucleri:2✅ En iyi multimodal deneyim(kamera + ekran + ses)3✅ Google Search grounding — guncel bilgi4✅ 1M token baglam — uzun konusmalar5✅ Dusuk gecikme — dogal diyalog hissi6✅ Extensions(Maps, YouTube, Gmail)7 8Gemini Live Zayifliklari:9⚠️ Kod calistirma sinirli(henuz tam IDE entegrasyonu yok)10⚠️ Bazi dillerde telaffuz sorunlari11⚠️ Internet bagimliligi(offline calisma sinirli)12⚠️ Konusma suresi siniri(cok uzun seanslarda kesinti)8. Gelecek Vizyonu ve Beklentiler
Yakin Gelecek (2026)
swift
1Beklenen Ozellikler:2├── Tam IDE entegrasyonu — sesli komutla kod yazma3├── Gercek zamanli ceviri — canli tercumanlik4├── Agent modu — otonom gorev tamamlama(sesli)5├── Memory — konusmalar arasi bilgi tasima6├── Custom voices — kendi sesini olusturma7└── On-device isleme — hassas veriler icin yerel calistirmaMobil Gelistirme Uzerine Etkileri
Alan | Simdi | Gelecek |
|---|---|---|
Kod yazma | Metin bazli | Sesli komutla IDE kontrolu |
Code review | Ekranda oku | Sesli tartisma + gorsel |
Debug | Log oku, breakpoint | "Bu crash'i acikla" sesli |
Pair programming | Ekran paylasimi | Sesli + gorsel + otonom |
Dokumantasyon | Manuel yaz | Sesli dikte, AI formatlama |
Ogrenme | Video/makale oku | Sesli mentor, interaktif |
Potansiyel Senaryo: Sesli Otonom Gelistirme
swift
12027 Vizyonu:2 3Sen: "Uygulamaya dark mode destegi ekle."4Gemini Live: "Anlasıldı. Projeyi tarıyorum...5 6[30 saniye sessizlik — arka planda calisıyor]7 8Tamam, 8 dosyada degisiklik yaptım:91. Theme.swift — yeni color scheme eklendi102. SettingsView — dark mode toggle eklendi113. 5 view dosyasinda hardcoded renkler theme referansina cevirildi124. Info.plist — UIUserInterfaceStyle flexible olarak ayarlandi13 14Degisiklikleri gostermemi ister misin yoksa commit mi yapayim?"15 16Sen: "Commit yap, 'feat: add dark mode support' mesajiyla."17Gemini Live: "Commit olusturuldu. PR da acayim mi?"💡 Pro Tip: Sesli AI asistanlar su an "tamamlayici" bir arac ama 2-3 yil icinde birincil gelistirme arayuzu olabilir. Simdiden sesli komut aliskanligi edinmek, gelecekte buyuk avantaj saglayacak. iOS Future Trends yazimizda bu trendleri detayli tartistik.
Sonuc ve Oneriler
Gemini Live, sesli AI etkilesimini yeni bir seviyeye tasiyor. Dogal konusma, multimodal anlama (kamera + ekran) ve dusuk gecikme ile gercekten bir "sesli gelistirme partneri" deneyimi sunuyor. Ozellikle hareket halindeyken, eller mesgulken veya beyin firtinasi yaparken yazma/okuma yerine konusmak cok daha verimli.
Temel cikarimlar:
- Beyin firtinasi ve mimari tartisma icin ideal — 30 dakikalik bir seans, saatlik chat'ten verimli
- Multimodal kullan — kamera ile whiteboard, ekran ile kod goster
- Dogru ses secimi yap — gorev tipine uygun karakter sec
- Kisisellestirme — system instruction ile rol ve dil belirle
- API ile custom asistan olustur — kendi domain bilginle zenginlestir
GraphQL Mobile ve WebSocket Real-Time yazilarinda gercek zamanli iletisim konularini detayli ele aldik. Sora 2 video uretimi ve Claude Code Plan Mode yazilarinda da AI destekli icerik uretimi ve planlama konularini 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! Iste sana ozel bir kaynak: Google'in [Gemini Live API orneklerini](https://github.com/google-gemini/cookbook/tree/main/quickstarts/Live_API_Quickstart.ipynb) iceren repo. Bu notebook ile kendi sesli asistanini 10 dakikada prototipleyebilirsin. Ozellikle "tool use" ornegi, sesli komutla Google Search yapan bir asistan gosteriyor — bunu kendi uygulamana entegre edebilirsin.

