Tüm Yazılar
KategoriAI
Okuma Süresi
18 dk okuma
Yayın Tarihi
...
Kelime Sayısı
2.578kelime

Kahveni hazırla - bu içerikli bir makale!

Gemini Live ile gerçek zamanlı sesli AI konuşma, multimodal ses+kamera deneyimi, mobil entegrasyon ve doğal dil etkileşimi. Sesli AI asistanların geleceği.

Gemini Live: Gerçek Zamanlı Sesli AI Asistanı

# 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


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 → Ses
3(Her adım gecikme: toplam 3-5 saniye)
4 
5Gemini Live Pipeline:
6Ses → Native Audio Model → Ses
7(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şi
4 audioInput: ReadableStream<AudioChunk>;
5 
6 // Canlı ses çıkışı
7 audioOutput: WritableStream<AudioChunk>;
8 
9 // Bağlam yönetimi
10 context: {
11 conversationHistory: Message[];
12 activeTools: Tool[];
13 userProfile: UserProfile;
14 };
15 
16 // Olay dinleyicileri
17 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şlatma
24const session: LiveSession = await gemini.startLiveSession({
25 model: 'gemini-2.5-pro',
26 voice: 'kore', // Ses karakter seçim
27 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 inceleme
2 
31. Gemini Live'i aç
42. Kamerayi whiteboard'a doğru çevir
53. "Bu mimari diyagrami inceler misin?" de
64. 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ıca
10 Network katmanı Controller içinde — bunu ayrı bir
11 Service katmanina çıkarmanızı öneririm."
125. "Bunu nasıl düzeltebilirim?" diye devam et
136. Gemini sesli olarak adım adım migration planı sunar

Ekran Paylaşımi

swift
1Senaryo: Xcode hata mesajını gösterme
2 
31. Ekran paylaşımini aktif et
42. Xcode'daki hata mesajını göster
53. "Bu hatanin sebebi ne?" de
64. Gemini ekrandaki hataya bakarak:
7 - "Bu bir 'sendable' uyumsuzlugu hatasi. MainActor
8 üzerinde çalışan bir fonksiyondan non-isolated
9 context'e veri gondermeye çalışıyorsun. Çözüm:
10 @Sendable closure kullan veya Task ile sar."

Video Analizi

swift
1Senaryo: Uygula demo'su gösterme
2 
31. Ekran kaydini başlat
42. Uygulamada gezin
53. "Bu akista bir UI sorunu var mi?" de
64. 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 uygun
3├-- Aoede — Sakin, olgun, profesyonel
4├-- Puck — Neseli, espirili, samimi
5├-- Fenrir — Derin, otoriter, ciddi
6├-- Leda — Sicak, anlayışli, öğretici
7├-- Orus — Net, hızlı, is odaklı
8├-- River — Doğal, akici, rahatlatici
9├-- Vale — Yumusak, sabırli, destekleyici
10└-- ... (yeni sesler ekleniyor)

Dil Desteği

swift
1Türkçe Desteği:
2├-- Ses tanıma: Türkçe tam destek
3├-- Cevap: Türkçe sesli yanit
4├-- Aksanz: Türkiye Türkçesi
5├-- Teknik terimler: Türkçe-Ingilizce karisik destekler
6└-- Dikkat: Bazı teknik terimleri Ingilizce telaffuz edebilir

Kişiselleştirme

python
1# Gemini Live kişiselleştirme örneği
2live_config = {
3 "voice": "aoede", # Ses karakter
4 "language": "tr-TR", # Türkçe
5 "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 metin
14}

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'e
4 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 performans
12 sorunu yaratabilir çünkü her sorguda OFFSET atlama yapmak
13 zorunda. Eger veri seti 10.000+ kayit olacaksa cursor-based'e
14 geçmeni öneririm. Cursor için son item'in ID'sini kullanabilirsin.
15 Ayrıca limit için bir max değer koymussundur umarim — yoksa
16 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'in
21 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 Types
17 kullanmaliyiz. Apple'in CloudKit'inde native CRDT desteği yok
18 ama custom bir çözüm yazabiliriz. Alternatif olarak Firestore
19 da gerçek zamanlı sync sunuyor ama offline merge'de sınırlamalari
20 var. Benim önerim: local için SwiftData, sync için custom CRDT
21 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ı anda
6 para çekmeye çalışıyor. Actor, bu erisimi sıralandırarak
7 data race'i engeller. Örneğin: 'actor BankAccount' tanimlarsin.
8 İçindeki 'var balance' değişkeni sadece actor'un kendi
9 metotları tarafından senkron erişilir. Dışarıdan erişirken
10 'await account.balance' kullanman gerekir. Bu 'await' sırala
11 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'de
17 çalışır. Bu özellikle ViewModel'lerde önemli çünkü UI
18 güncellemeleri ana thread'de olmalı. SwiftUI'da @Observable
19 macro'su otomatik olarak MainActor uygula ama UIKit'te
20 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 asistan
2from google import genai
3 
4client = genai.Client(api_key="YOUR_API_KEY")
5 
6# Live session başlat
7config = {
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=config
23) as session:
24 # Ses verisi gönder
25 audio_data = read_microphone()
26 await session.send(input=audio_data, end_of_turn=True)
27 
28 # Sesli cevap al
29 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 AVFoundation
3import GoogleGenerativeAI
4 
5class VoiceAssistantService {
6 private let audioEngine = AVAudioEngine()
7 private var liveSession: LiveSession?
8 
9 func startConversation() async throws {
10 // Mikrofon izni kontrol
11 guard await AVAudioApplication.requestRecordPermission() else {
12 throw VoiceError.permissionDenied
13 }
14 
15 // Session başlat
16 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şlat
26 let inputNode = audioEngine.inputNode
27 let format = inputNode.outputFormat(forBus: 0)
28 
29 inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) {
30 [weak self] buffer, _ in
31 self?.liveSession?.sendAudio(buffer)
32 }
33 
34 try audioEngine.start()
35 
36 // Cevapları dinle
37 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 bilgi
4✅ 1M token bağlam — uzun konuşma
5✅ Düşük gecikme — doğal diyalog hissi
6✅ 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 yazma
3├-- Gerçek zamanlı çeviri — canlı tercümanlık
4├-- Agent modu — otonom görev tamamlama (sesli)
5├-- Memory — konuşma arasi bilgi taşıma
6├-- Custom voices — kendi sesini oluşturma
7└-- On-device işleme — hassas veriler için yerel çalıştırma

Mobil 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 eklendi
102. SettingsView — dark mode toggle eklendi
113. 5 view dosyasında hardcoded renkler theme referansina çevrildi
124. Info.plist — UIUserInterfaceStyle flexible olarak ayarlandi
13 
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:

  1. Beyin firtinasi ve mimari tartışma için ideal — 30 dakikalik bir seans, saatlik chat'ten verimli
  2. Multimodal kullan — kamera ile whiteboard, ekran ile kod göster
  3. Doğru ses seçim yap — görev tipine uygun karakter seç
  4. Kişiselleş — system instruction ile rol ve dil belirle
  5. 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.

Etiketler

#Gemini Live#Voice AI#Google#Multimodal#Real-time#Mobile AI#Speech Recognition
Muhittin Çamdalı

Muhittin Çamdalı

Senior iOS Developer

12+ yıllık deneyime sahip iOS Developer. Swift, SwiftUI ve modern iOS mimarileri konusunda uzman. Apple platformlarında performanslı ve kullanıcı dostu uygulamalar geliştiriyorum.

iOS Geliştirme Haberleri

Haftalık Swift tips, SwiftUI tricks ve iOS best practices. Spam yok, sadece değerli içerik.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.

Paylaş

İlgili İçerik