Offline Meeting Assistant
Offline Meeting Assistant, konuşmaları cihaz üzerinde yerel olarak metne çeviren ve bu metinlerden toplantı notu, özet ve aksiyon maddeleri üretmeyi hedefleyen bir mobil uygulama projesidir.
Projenin çıkış noktası oldukça net: Her toplantının, ses kaydının veya konuşmanın bulut tabanlı servisler üzerinden işlenmesi gerekmiyor. Bazı senaryolarda gizlilik, maliyet, internet bağlantısından bağımsız çalışma ve kontrol edilebilirlik çok daha önemli hale geliyor. Bu proje, yerel speech-to-text modelleri kullanarak bir mobil cihaz üzerinde ne kadar işlevsel bir toplantı asistanı geliştirilebileceğini araştırıyor.
Projenin Amacı
Bu projenin amacı, toplantıları dinleyebilen, konuşmaları metne çevirebilen ve bu metinleri kullanılabilir toplantı çıktılara dönüştürebilen pratik bir mobil asistan geliştirmek.
Proje şu başlıklara odaklanıyor:
- yerel speech-to-text işleme,
- offline transkripsiyon,
- toplantı notu oluşturma,
- aksiyon maddesi çıkarma,
- gizlilik odaklı mobil AI kullanımı,
- ücretli API bağımlılığını azaltan düşük maliyetli mimari.
Buradaki hedef yalnızca bir ses kayıt uygulaması yapmak değil. Asıl değer, sesi metne dönüştürdükten sonra bu metni anlamlı, düzenli ve takip edilebilir bir yapıya çevirebilmek.
Neden Yerel İşleme?
Bu projedeki temel teknik kararlardan biri, transkripsiyon sürecini cihaz üzerinde çalıştırmak.
Bulut tabanlı transkripsiyon servisleri güçlü çözümler sunuyor; ancak bazı sınırları da beraberinde getiriyor:
- sürekli API maliyeti,
- internet bağlantısına bağımlılık,
- hassas konuşmalar için gizlilik riski,
- ağ isteklerinden kaynaklanan gecikme,
- işleme hattı üzerinde sınırlı kontrol.
Yerel modeller kullanıldığında uygulama daha bağımsız, daha kontrollü ve daha gizlilik odaklı çalışabiliyor. Bu yaklaşım; toplantılar, mülakatlar, ders kayıtları, kurum içi görüşmeler veya kullanıcının ses verisini üçüncü taraf bir servise göndermek istemediği senaryolar için özellikle anlamlı hale geliyor.
Teknik Yaklaşım
Projenin Android versiyonu native mobil mimariyle geliştiriliyor ve yerel speech-to-text yetenekleri whisper.cpp entegrasyonu üzerinden sağlanıyor.
Teknik yapı genel olarak şu bileşenlerden oluşuyor:
- Kotlin tabanlı Android uygulaması,
- daha temiz sorumluluk ayrımı için MVVM mimarisi,
- JNI ve NDK üzerinden native model çalıştırma,
- CMake tabanlı native build yapılandırması,
- uygulama içinde yerel model yönetimi,
- ses kayıtlarını transkripsiyona hazırlayan audio processing hattı,
- performans ihtiyacına göre farklı model boyutlarını destekleyebilecek yapı.
Projede whisper.cpp, Whisper tabanlı konuşma tanıma modellerini cihaz üzerinde çalıştırmak için kullanılıyor. Böylece uygulama, harici transkripsiyon API’lerine bağlı kalmadan ses işleyebilecek bir yapıya sahip oluyor.
Model ve Performans Stratejisi
Mobil cihazlar masaüstü sistemlere göre CPU, bellek ve batarya açısından daha sınırlı olduğu için model seçimi projenin kritik parçalarından biri.
Uygulama farklı model seviyeleri etrafında kurgulanıyor:
- daha hızlı transkripsiyon için hafif modeller,
- doğruluk ve hız arasında denge kuran modeller,
- cihazın kaldırabildiği durumlarda daha yüksek doğruluk sağlayan büyük modeller.
Bu yapı sayesinde kullanıcı; hız, doğruluk, depolama kullanımı ve batarya tüketimi arasında daha kontrollü bir tercih yapabilecek.
Proje aynı zamanda uzun ses kayıtlarının işlenmesi, parça parça transkripsiyon, bellek yönetimi ve gerçek toplantı senaryolarında daha stabil çalışabilecek bir akış üzerine de yoğunlaşıyor.
Toplantı Notları ve Aksiyon Maddeleri
Transkripsiyon katmanı, ürünün yalnızca ilk aşaması.
Konuşma metne çevrildikten sonra projenin üretmeyi hedeflediği çıktılar şunlar:
- toplantı özeti,
- önemli konuşma başlıkları,
- alınan kararlar,
- aksiyon maddeleri,
- takip edilmesi gereken işler,
- konuşmacıdan bağımsız yapılandırılmış toplantı notları.
Uzun vadeli hedef, uygulamanın yalnızca “ses kaydını yazıya döken” bir araç gibi değil, gerçek anlamda kişisel bir toplantı asistanı gibi çalışması.
Buradaki önemli zorluklardan biri maliyeti düşük tutmak. Bu yüzden proje, özetleme ve aksiyon maddesi çıkarma gibi işlemlerin ne kadarının yerel veya düşük maliyetli yöntemlerle çözülebileceğini de araştırıyor.
Ürün Perspektifi
Bu proje yalnızca teknik bir deneme değil; aynı zamanda gizlilik odaklı AI araçları üzerine bir ürün araştırması.
Birçok üretkenlik uygulaması bulut servislerine yoğun şekilde bağlı çalışıyor. Bu yaklaşım bazı kullanıcılar için sorun olmayabilir; ancak her senaryo için ideal değil. Yerel öncelikli bir toplantı asistanı; verisi üzerinde daha fazla kontrol isteyen, internet bağlantısından bağımsız çalışmak isteyen veya sürekli API maliyeti oluşturmak istemeyen kullanıcılar için daha anlamlı bir alternatif olabilir.
Bu proje aynı zamanda bana “AI özelliği eklemek” ile “gerçekten kullanılabilir bir ürün tasarlamak” arasındaki farkı daha net gösterdi. Sadece transkripsiyon yapmak yeterli değil; uygulamanın anlaşılır bir akışı, yönetilebilir ayarları, model seçimi, çıktı formatı ve güvenilir bir kullanıcı deneyimi olması gerekiyor.
Mevcut Durum
Proje şu anda mobil prototip olarak geliştiriliyor.
Aktif olarak odaklandığım başlıklar:
- yerel transkripsiyon hattını iyileştirmek,
- model import ve model seçimi süreçlerini stabil hale getirmek,
- gerçek Android cihazlarda performansı optimize etmek,
- toplantı çıktılarının yapısını tasarlamak,
- özet ve aksiyon maddeleri için yerel veya düşük maliyetli yöntemleri araştırmak,
- mimariyi ileride cross-platform yapıya taşınabilecek şekilde değerlendirmek.
İlerleyen aşamalarda projenin hem Android hem de iOS tarafında kullanılabilecek daha ortak bir yapıya taşınması da değerlendiriliyor.
Bu Projede Ne Öğrendim?
Bu proje aynı anda birkaç önemli alanda çalışmamı sağladı:
- mobil uygulama mimarisi,
- native Android geliştirme,
- yerel AI model entegrasyonu,
- JNI ve NDK kullanımı,
- ses işleme,
- mobil cihazlarda performans sınırları,
- gizlilik odaklı ürün tasarımı,
- ham AI çıktısını pratik kullanıcı değerine dönüştürme.
Benim için Offline Meeting Assistant, düşük seviyeli teknik entegrasyon ile günlük hayatta karşılığı olan pratik bir problemi bir araya getiren önemli projelerden biri. Toplantıları daha kolay kaydetmek, anlamak ve sonrasında takip edilebilir hale getirmek gibi net bir ihtiyaca teknik taraftan güçlü ama maliyet açısından kontrollü bir çözüm üretmeye çalışıyor.