{"id":37599,"date":"2026-01-10T12:00:43","date_gmt":"2026-01-10T09:00:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/"},"modified":"2026-01-10T12:00:43","modified_gmt":"2026-01-10T09:00:43","slug":"cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/","title":{"rendered":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!"},"content":{"rendered":"<h2>\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!<\/h2>\n<p>\u0130nternet ba\u011flant\u0131s\u0131na ba\u011f\u0131ml\u0131 olmayan ak\u0131ll\u0131 cihazlar ve IoT uygulamalar\u0131 geli\u015ftirmek, gizlilik, g\u00fcvenilirlik ve d\u00fc\u015f\u00fck gecikme avantajlar\u0131 sunar. \u00d6zellikle sesli geri bildirim gerektiren projelerde, \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fan bir metin okuma (Text-to-Speech &#8211; TTS) sistemi b\u00fcy\u00fck \u00f6nem ta\u015f\u0131r. Bu makalede, g\u00fc\u00e7l\u00fc ve uygun maliyetli ESP32 mikrodenetleyiciyi kullanarak, tamamen \u00e7evrimd\u0131\u015f\u0131 bir TTS sistemi nas\u0131l kurulaca\u011f\u0131n\u0131 detayl\u0131ca inceleyece\u011fiz. \u0130nternet olmadan cihaz\u0131n\u0131z\u0131n size sesli yan\u0131tlar vermesini sa\u011flayacak bu sistem, bir\u00e7ok yenilik\u00e7i uygulama i\u00e7in zemin haz\u0131rlayacakt\u0131r.<\/p>\n<h2>Sistem Mimarisi ve Bile\u015fenler<\/h2>\n<p>\u00c7evrimd\u0131\u015f\u0131 bir ESP32 metin okuma sistemi olu\u015fturmak, donan\u0131m ve yaz\u0131l\u0131m bile\u015fenlerinin uyumlu bir \u015fekilde entegre edilmesini gerektirir. Bu b\u00f6l\u00fcmde, sistemin genel yap\u0131s\u0131n\u0131 ve ihtiya\u00e7 duyaca\u011f\u0131m\u0131z temel bile\u015fenleri ele alaca\u011f\u0131z.<\/p>\n<h3>Genel Bak\u0131\u015f<\/h3>\n<p>Sistemimizin temel amac\u0131, ESP32&#8217;ye girilen metni, herhangi bir internet ba\u011flant\u0131s\u0131na ihtiya\u00e7 duymadan sesli \u00e7\u0131kt\u0131lara d\u00f6n\u00fc\u015ft\u00fcrmektir. Bu, genellikle \u00f6nceden haz\u0131rlanm\u0131\u015f ses dosyalar\u0131n\u0131 (kelimeler, c\u00fcmleler veya fonemler) SD kart gibi bir depolama biriminde tutarak ve ESP32&#8217;nin bunlar\u0131 uygun s\u0131rayla \u00e7alarak ger\u00e7ekle\u015ftirilir. Bu yakla\u015f\u0131m, ESP32&#8217;nin s\u0131n\u0131rl\u0131 i\u015flem g\u00fcc\u00fcn\u00fc ve belle\u011fini en verimli \u015fekilde kullanmam\u0131z\u0131 sa\u011flar.<\/p>\n<h3>Donan\u0131m Bile\u015fenleri<\/h3>\n<p>Projemiz i\u00e7in gerekli temel donan\u0131m bile\u015fenleri \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>ESP32 Geli\u015ftirme Kart\u0131:<\/strong> Sistemin beyni olacak mikrodenetleyici.<\/li>\n<li><strong>SD Kart Mod\u00fcl\u00fc:<\/strong> Metin okuma i\u00e7in kullan\u0131lacak ses dosyalar\u0131n\u0131 depolamak i\u00e7in.<\/li>\n<li><strong>Harici Hoparl\u00f6r:<\/strong> Sesli \u00e7\u0131kt\u0131y\u0131 duymak i\u00e7in.<\/li>\n<li><strong>Ses Amplifikat\u00f6r\u00fc:<\/strong> ESP32&#8217;den gelen zay\u0131f ses sinyalini hoparl\u00f6r\u00fc s\u00fcrecek seviyeye y\u00fckseltmek i\u00e7in (\u00f6rne\u011fin, PAM8403 veya MAX98357 I2S amplifikat\u00f6r).<\/li>\n<li><strong>Jumper Kablolar\u0131 ve Breadboard:<\/strong> Bile\u015fenleri birbirine ba\u011flamak i\u00e7in.<\/li>\n<li><strong>G\u00fc\u00e7 Kayna\u011f\u0131:<\/strong> ESP32 ve di\u011fer bile\u015fenler i\u00e7in stabil g\u00fc\u00e7 sa\u011flamak amac\u0131yla.<\/li>\n<\/ul>\n<h3>Yaz\u0131l\u0131m Bile\u015fenleri<\/h3>\n<p>Yaz\u0131l\u0131m taraf\u0131nda ise \u015funlara ihtiyac\u0131m\u0131z olacak:<\/p>\n<ul>\n<li><strong>Arduino IDE:<\/strong> ESP32 kodunu yazmak ve y\u00fcklemek i\u00e7in geli\u015ftirme ortam\u0131.<\/li>\n<li><strong>ESP32 Kart Deste\u011fi:<\/strong> Arduino IDE&#8217;nin ESP32&#8217;yi tan\u0131mas\u0131 i\u00e7in gerekli olan paket.<\/li>\n<li><strong>SD K\u00fct\u00fcphanesi:<\/strong> ESP32&#8217;nin SD kart ile ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan k\u00fct\u00fcphane.<\/li>\n<li><strong>Ses \u00c7alma K\u00fct\u00fcphanesi:<\/strong> WAV veya MP3 gibi ses dosyalar\u0131n\u0131 oynatmak i\u00e7in (\u00f6rne\u011fin, ESP8266Audio k\u00fct\u00fcphanesi).<\/li>\n<li><strong>Metin-Sese D\u00f6n\u00fc\u015f\u00fcm Arac\u0131 (PC \u00dczerinde):<\/strong> Ses dosyalar\u0131n\u0131 \u00f6nceden haz\u0131rlamak i\u00e7in kullan\u0131lacak bir yaz\u0131l\u0131m (\u00f6rne\u011fin, eSpeak, Google Cloud TTS API&#8217;si &#8211; sadece dosya olu\u015fturma a\u015famas\u0131nda internet gerekli, cihazda de\u011fil).<\/li>\n<\/ul>\n<h2>Donan\u0131m Se\u00e7imi ve Ba\u011flant\u0131lar\u0131<\/h2>\n<p>Projenin ba\u015far\u0131l\u0131 olmas\u0131 i\u00e7in do\u011fru donan\u0131m se\u00e7imi ve do\u011fru ba\u011flant\u0131lar hayati \u00f6neme sahiptir. Bu b\u00f6l\u00fcmde, her bir donan\u0131m bile\u015fenini ve bunlar\u0131n ESP32 ile nas\u0131l ba\u011flanaca\u011f\u0131n\u0131 detayland\u0131raca\u011f\u0131z.<\/p>\n<h3>ESP32 Geli\u015ftirme Kart\u0131<\/h3>\n<p>ESP32, Wi-Fi ve Bluetooth \u00f6zelliklerinin yan\u0131 s\u0131ra g\u00fc\u00e7l\u00fc \u00e7ift \u00e7ekirdekli i\u015flemcisi ve geni\u015f belle\u011fi sayesinde bu t\u00fcr projeler i\u00e7in ideal bir se\u00e7imdir. Farkl\u0131 ESP32 kart modelleri (ESP32-DevKitC, ESP32 WROOM gibi) mevcuttur; herhangi biri i\u015fimizi g\u00f6recektir. Kart\u0131n \u00fczerinde yeterli GPIO pini bulundu\u011fundan emin olun.<\/p>\n<h3>Ses \u00c7\u0131k\u0131\u015f\u0131 ve Amplifikat\u00f6r<\/h3>\n<p>ESP32&#8217;nin do\u011frudan bir hoparl\u00f6r\u00fc s\u00fcrme kapasitesi yoktur. Bu nedenle, bir ses amplifikat\u00f6r\u00fc kullanmam\u0131z gerekir. \u0130ki yayg\u0131n yakla\u015f\u0131m vard\u0131r:<\/p>\n<ul>\n<li><strong>PWM Tabanl\u0131 Ses \u00c7\u0131k\u0131\u015f\u0131:<\/strong> ESP32&#8217;nin DAC pinlerini veya PWM \u00f6zelli\u011fini kullanarak analog ses sinyali \u00fcretip harici bir analog amplifikat\u00f6re (\u00f6rne\u011fin, PAM8403) ba\u011flamak. Bu y\u00f6ntem daha basit olabilir ancak ses kalitesi I2S&#8217;e g\u00f6re daha d\u00fc\u015f\u00fck olabilir.<\/li>\n<li><strong>I2S Tabanl\u0131 Ses \u00c7\u0131k\u0131\u015f\u0131:<\/strong> ESP32&#8217;nin donan\u0131msal I2S aray\u00fcz\u00fcn\u00fc kullanarak dijital ses sinyali \u00fcretip bir I2S DAC\/amplifikat\u00f6re (\u00f6rne\u011fin, MAX98357) ba\u011flamak. Bu, daha y\u00fcksek ses kalitesi ve daha az CPU y\u00fck\u00fc sunar. Bu makalede I2S yakla\u015f\u0131m\u0131n\u0131 \u00f6nerece\u011fiz.<\/li>\n<\/ul>\n<p>MAX98357 I2S amplifikat\u00f6r, k\u00fc\u00e7\u00fck boyutlar\u0131 ve kolay entegrasyonu nedeniyle pop\u00fcler bir se\u00e7imdir. Genellikle 3.3V veya 5V ile \u00e7al\u0131\u015f\u0131r ve ESP32&#8217;nin I2S pinlerine do\u011frudan ba\u011flan\u0131r.<\/p>\n<h3>SD Kart Mod\u00fcl\u00fc ve Depolama<\/h3>\n<p>Ses dosyalar\u0131m\u0131z\u0131 depolamak i\u00e7in bir mikro SD kart mod\u00fcl\u00fcne ihtiyac\u0131m\u0131z var. Bu mod\u00fcller genellikle SPI aray\u00fcz\u00fcn\u00fc kullan\u0131r. Ba\u011flant\u0131lar a\u015fa\u011f\u0131daki gibidir:<\/p>\n<ul>\n<li><strong>VCC:<\/strong> ESP32 3.3V<\/li>\n<li><strong>GND:<\/strong> ESP32 GND<\/li>\n<li><strong>CS (Chip Select):<\/strong> ESP32 GPIO 5 (veya farkl\u0131 bir GPIO)<\/li>\n<li><strong>MOSI (Master Out Slave In):<\/strong> ESP32 GPIO 23<\/li>\n<li><strong>MISO (Master In Slave Out):<\/strong> ESP32 GPIO 19<\/li>\n<li><strong>SCK (Serial Clock):<\/strong> ESP32 GPIO 18<\/li>\n<\/ul>\n<p>SD kart\u0131n FAT32 format\u0131nda bi\u00e7imlendirildi\u011finden emin olun.<\/p>\n<h3>Ba\u011flant\u0131 \u015eemas\u0131<\/h3>\n<p>A\u015fa\u011f\u0131da, temel ba\u011flant\u0131lar\u0131n bir \u00f6zeti bulunmaktad\u0131r. Pin numaralar\u0131 kulland\u0131\u011f\u0131n\u0131z ESP32 kart\u0131na ve tercih etti\u011finiz I2S pinlerine g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir.<\/p>\n<p><strong>ESP32 &#8211; SD Kart Mod\u00fcl\u00fc:<\/strong><\/p>\n<ul>\n<li>ESP32 3.3V -> SD Mod\u00fcl VCC<\/li>\n<li>ESP32 GND -> SD Mod\u00fcl GND<\/li>\n<li>ESP32 GPIO 5 -> SD Mod\u00fcl CS<\/li>\n<li>ESP32 GPIO 18 -> SD Mod\u00fcl SCK<\/li>\n<li>ESP32 GPIO 19 -> SD Mod\u00fcl MISO<\/li>\n<li>ESP32 GPIO 23 -> SD Mod\u00fcl MOSI<\/li>\n<\/ul>\n<p><strong>ESP32 &#8211; MAX98357 I2S Amplifikat\u00f6r:<\/strong><\/p>\n<ul>\n<li>ESP32 3.3V -> MAX98357 VIN<\/li>\n<li>ESP32 GND -> MAX98357 GND<\/li>\n<li>ESP32 GPIO 25 -> MAX98357 DIN (Data In)<\/li>\n<li>ESP32 GPIO 26 -> MAX98357 BCLK (Bit Clock)<\/li>\n<li>ESP32 GPIO 22 -> MAX98357 LRCL (Left\/Right Clock veya Word Select)<\/li>\n<li>MAX98357 SPK+ \/ SPK- -> Hoparl\u00f6r<\/li>\n<\/ul>\n<h2>Yaz\u0131l\u0131m Geli\u015ftirme Ortam\u0131 ve K\u00fct\u00fcphaneler<\/h2>\n<p>Donan\u0131m ba\u011flant\u0131lar\u0131n\u0131 tamamlad\u0131ktan sonra, ESP32&#8217;yi programlamak i\u00e7in yaz\u0131l\u0131m ortam\u0131m\u0131z\u0131 haz\u0131rlamam\u0131z gerekiyor.<\/p>\n<h3>Arduino IDE Kurulumu<\/h3>\n<p>Arduino IDE&#8217;yi resmi web sitesinden indirip kurun. Kurulum tamamland\u0131ktan sonra, ESP32 kart deste\u011fini eklemeniz gerekecektir.<\/p>\n<h3>ESP32 Kart Deste\u011fi Ekleme<\/h3>\n<ol>\n<li>Arduino IDE&#8217;yi a\u00e7\u0131n.<\/li>\n<li>Dosya > Tercihler (File > Preferences) men\u00fcs\u00fcne gidin.<\/li>\n<li>&#8220;Ek Kart Y\u00f6neticisi URL&#8217;leri&#8221; (Additional Boards Manager URLs) alan\u0131na a\u015fa\u011f\u0131daki URL&#8217;yi ekleyin: <code>https:\/\/raw.githubusercontent.com\/espressif\/arduino-esp32\/gh-pages\/package_esp32_index.json<\/code><\/li>\n<li>Tamam&#8217;a t\u0131klay\u0131n.<\/li>\n<li>Ara\u00e7lar > Kart > Kart Y\u00f6neticisi (Tools > Board > Boards Manager) men\u00fcs\u00fcne gidin.<\/li>\n<li>Arama kutusuna &#8220;esp32&#8221; yaz\u0131n ve &#8220;esp32 by Espressif Systems&#8221; paketini kurun.<\/li>\n<\/ol>\n<h3>Gerekli K\u00fct\u00fcphaneler<\/h3>\n<p>Projemiz i\u00e7in baz\u0131 k\u00fct\u00fcphanelere ihtiyac\u0131m\u0131z olacak. Bu k\u00fct\u00fcphaneleri Arduino IDE&#8217;nin K\u00fct\u00fcphane Y\u00f6neticisi (Sketch > K\u00fct\u00fcphaneyi Dahil Et > K\u00fct\u00fcphaneleri Y\u00f6net) arac\u0131l\u0131\u011f\u0131yla kurabilirsiniz:<\/p>\n<ul>\n<li><strong>ESP8266Audio:<\/strong> Hem ESP8266 hem de ESP32 i\u00e7in ses dosyalar\u0131n\u0131 \u00e7almaya yarayan g\u00fc\u00e7l\u00fc bir k\u00fct\u00fcphanedir. WAV, MP3 gibi formatlar\u0131 destekler.<\/li>\n<li><strong>SD:<\/strong> Bu k\u00fct\u00fcphane genellikle ESP32 kart deste\u011fi ile birlikte gelir, ancak y\u00fckl\u00fc oldu\u011fundan emin olun.<\/li>\n<li><strong>SPI:<\/strong> SD kart ileti\u015fimi i\u00e7in gereklidir, bu da genellikle dahildir.<\/li>\n<\/ul>\n<h3>Metin-Sese D\u00f6n\u00fc\u015f\u00fcm Stratejisi<\/h3>\n<p>ESP32&#8217;nin i\u015flem g\u00fcc\u00fc, karma\u015f\u0131k, ger\u00e7ek zamanl\u0131 metin okuma motorlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in yeterli de\u011fildir. Bu nedenle, \u00e7evrimd\u0131\u015f\u0131 bir sistem i\u00e7in en pratik ve y\u00fcksek kaliteli \u00e7\u00f6z\u00fcm, metin-sese d\u00f6n\u00fc\u015f\u00fcm i\u015flemini daha g\u00fc\u00e7l\u00fc bir cihazda (bilgisayar veya bulut tabanl\u0131 bir hizmet) \u00f6nceden yaparak, elde edilen ses dosyalar\u0131n\u0131 ESP32&#8217;nin SD kart\u0131na kaydetmektir. ESP32 daha sonra bu dosyalar\u0131 uygun s\u0131rayla oynat\u0131r.<\/p>\n<p>Bu strateji, &#8220;metin okuma&#8221; yetene\u011fini, metni ses dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrme ve bu dosyalar\u0131 cihazda oynatma olarak iki a\u015famaya ay\u0131r\u0131r. Cihaz\u0131n kendisi internete ihtiya\u00e7 duymadan sesleri oynat\u0131r.<\/p>\n<h2>\u00c7evrimd\u0131\u015f\u0131 Metin-Sese D\u00f6n\u00fc\u015f\u00fcm Stratejisi ve Uygulama<\/h2>\n<p>Bu b\u00f6l\u00fcm, sistemin kalbi olan \u00e7evrimd\u0131\u015f\u0131 metin-sese d\u00f6n\u00fc\u015f\u00fcm stratejisini ve bunun nas\u0131l uygulanaca\u011f\u0131n\u0131 detayland\u0131rmaktad\u0131r.<\/p>\n<h3>\u00d6nceden Olu\u015fturulmu\u015f Ses Dosyalar\u0131 Yakla\u015f\u0131m\u0131<\/h3>\n<p>Yukar\u0131da bahsedildi\u011fi gibi, ESP32 \u00fczerinde ger\u00e7ek zamanl\u0131 ve y\u00fcksek kaliteli bir TTS motoru \u00e7al\u0131\u015ft\u0131rmak olduk\u00e7a zordur. Bu nedenle, en etkili y\u00f6ntem, konu\u015fulacak kelimeleri, c\u00fcmleleri veya fonemleri \u00f6nceden ses dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrmek ve bunlar\u0131 ESP32&#8217;nin SD kart\u0131nda saklamakt\u0131r. ESP32, ihtiyac\u0131 oldu\u011funda bu dosyalar\u0131 SD karttan okuyarak ses \u00e7\u0131k\u0131\u015f\u0131na g\u00f6nderir. Bu, sistemin tamamen \u00e7evrimd\u0131\u015f\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar ve internet ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131 ortadan kald\u0131r\u0131r.<\/p>\n<h3>Ses Dosyalar\u0131n\u0131n Haz\u0131rlanmas\u0131<\/h3>\n<p>Ses dosyalar\u0131n\u0131 haz\u0131rlamak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler kullanabilirsiniz:<\/p>\n<ul>\n<li><strong>\u00c7evrimd\u0131\u015f\u0131 PC Uygulamalar\u0131:<\/strong> eSpeak gibi a\u00e7\u0131k kaynakl\u0131 TTS motorlar\u0131n\u0131 bilgisayar\u0131n\u0131za kurarak istedi\u011finiz metinleri WAV format\u0131nda ses dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrebilirsiniz. Bu, tamamen \u00e7evrimd\u0131\u015f\u0131 bir \u00e7\u00f6z\u00fcm sunar.<\/li>\n<li><strong>Bulut Tabanl\u0131 TTS Hizmetleri (Haz\u0131rl\u0131k A\u015famas\u0131nda):<\/strong> Google Cloud Text-to-Speech, Amazon Polly veya Microsoft Azure Speech gibi hizmetler, son derece do\u011fal ve y\u00fcksek kaliteli sesler \u00fcretir. Bu hizmetleri kullanarak istedi\u011finiz metinleri MP3 veya WAV format\u0131nda ses dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcp bilgisayar\u0131n\u0131za indirebilirsiniz. Bu a\u015famada internet ba\u011flant\u0131s\u0131 gereklidir, ancak dosyalar bir kez olu\u015fturulduktan sonra ESP32&#8217;de \u00e7evrimd\u0131\u015f\u0131 kullan\u0131l\u0131r.<\/li>\n<li><strong>Kendi Ses Kay\u0131tlar\u0131n\u0131z:<\/strong> Belirli kelimeler veya ifadeler i\u00e7in kendi sesinizi kaydederek de ses dosyalar\u0131 olu\u015fturabilirsiniz.<\/li>\n<\/ul>\n<p>Ses dosyalar\u0131n\u0131 haz\u0131rlarken dikkat etmeniz gerekenler:<\/p>\n<ul>\n<li><strong>Format:<\/strong> ESP32&#8217;nin destekledi\u011fi formatlar\u0131 (tercihen 16kHz \u00f6rnekleme h\u0131z\u0131, 16-bit, mono WAV) kullan\u0131n. MP3 de desteklenir ancak s\u0131k\u0131\u015ft\u0131rmay\u0131 \u00e7\u00f6zmek daha fazla i\u015flem g\u00fcc\u00fc gerektirebilir.<\/li>\n<li><strong>Adland\u0131rma:<\/strong> Dosyalar\u0131 kolayca tan\u0131nabilir ve programatik olarak eri\u015filebilir isimlerle kaydedin (\u00f6rne\u011fin, &#8220;merhaba.wav&#8221;, &#8220;sicaklik_sensoru.wav&#8221;).<\/li>\n<\/ul>\n<h3>SD Karta Y\u00fckleme ve Y\u00f6netim<\/h3>\n<p>Haz\u0131rlad\u0131\u011f\u0131n\u0131z ses dosyalar\u0131n\u0131 SD kart\u0131n\u0131za y\u00fcklemeniz gerekmektedir. Dosyalar\u0131 SD kart\u0131n k\u00f6k dizinine veya belirli alt klas\u00f6rlere (\u00f6rne\u011fin, &#8220;\/kelimeler&#8221;, &#8220;\/c\u00fcmleler&#8221;) d\u00fczenli bir \u015fekilde yerle\u015ftirebilirsiniz. Bu, ESP32 kodunuzun dosyalar\u0131 bulmas\u0131n\u0131 ve y\u00f6netmesini kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>\u00d6rne\u011fin, &#8220;Merhaba d\u00fcnya!&#8221; c\u00fcmlesini seslendirmek istiyorsan\u0131z, &#8220;merhaba.wav&#8221; ve &#8220;dunya.wav&#8221; ad\u0131nda iki ayr\u0131 dosya olu\u015fturup SD karta y\u00fckleyebilirsiniz. ESP32, bu iki dosyay\u0131 s\u0131rayla \u00e7alarak c\u00fcmleyi olu\u015fturacakt\u0131r.<\/p>\n<h3>ESP32 \u00dczerinde Ses \u00c7alma<\/h3>\n<p>ESP32, SD karttan okudu\u011fu ses dosyalar\u0131n\u0131 I2S aray\u00fcz\u00fc arac\u0131l\u0131\u011f\u0131yla amplifikat\u00f6re ve hoparl\u00f6re g\u00f6nderir. Bu i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in <code>ESP8266Audio<\/code> k\u00fct\u00fcphanesini kullanaca\u011f\u0131z. Bu k\u00fct\u00fcphane, WAV ve MP3 dosyalar\u0131n\u0131 SD karttan okuyup I2S \u00e7\u0131k\u0131\u015f\u0131na y\u00f6nlendirme yetene\u011fine sahiptir.<\/p>\n<p>Temel mant\u0131k \u015f\u00f6yledir: Uygulaman\u0131zda bir metin par\u00e7as\u0131 seslendirilmesi gerekti\u011finde (\u00f6rne\u011fin, &#8220;S\u0131cakl\u0131k 25 derece&#8221;), bu metin kelimelere veya \u00f6nceden tan\u0131mlanm\u0131\u015f ifadelere ayr\u0131l\u0131r. Her bir kelime veya ifade i\u00e7in SD karttaki kar\u015f\u0131l\u0131k gelen ses dosyas\u0131 bulunur ve s\u0131rayla oynat\u0131l\u0131r. Bu, &#8220;metin okuma&#8221; deneyimini \u00e7evrimd\u0131\u015f\u0131 olarak sim\u00fcle eder.<\/p>\n<h2>Sistem Entegrasyonu ve Kod \u00d6rnekleri<\/h2>\n<p>\u015eimdiye kadar ele ald\u0131\u011f\u0131m\u0131z donan\u0131m ve yaz\u0131l\u0131m bile\u015fenlerini bir araya getirerek \u00e7al\u0131\u015fan bir sistem olu\u015ftural\u0131m. A\u015fa\u011f\u0131da, temel bir Arduino tasla\u011f\u0131 ve metin i\u015fleme mant\u0131\u011f\u0131 i\u00e7in \u00f6rnekler bulunmaktad\u0131r.<\/p>\n<h3>Temel Arduino Tasla\u011f\u0131<\/h3>\n<p>A\u015fa\u011f\u0131daki \u00f6rnek kod, ESP32&#8217;nin SD<\/p>\n","protected":false},"excerpt":{"rendered":"\u0130nternet ba\u011flant\u0131s\u0131na ba\u011f\u0131ml\u0131 olmayan ak\u0131ll\u0131 cihazlar ve IoT uygulamalar\u0131 geli\u015ftirmek, gizlilik, g\u00fcvenilirlik ve d\u00fc\u015f\u00fck gecikme avantajlar\u0131 su&#8230;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-37599","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!\" \/>\n<meta property=\"og:description\" content=\"\u0130nternet ba\u011flant\u0131s\u0131na ba\u011f\u0131ml\u0131 olmayan ak\u0131ll\u0131 cihazlar ve IoT uygulamalar\u0131 geli\u015ftirmek, gizlilik, g\u00fcvenilirlik ve d\u00fc\u015f\u00fck gecikme avantajlar\u0131 su...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-10T09:00:43+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!\",\"datePublished\":\"2026-01-10T09:00:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\"},\"wordCount\":1910,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\",\"name\":\"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-10T09:00:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/","og_locale":"tr_TR","og_type":"article","og_title":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!","og_description":"\u0130nternet ba\u011flant\u0131s\u0131na ba\u011f\u0131ml\u0131 olmayan ak\u0131ll\u0131 cihazlar ve IoT uygulamalar\u0131 geli\u015ftirmek, gizlilik, g\u00fcvenilirlik ve d\u00fc\u015f\u00fck gecikme avantajlar\u0131 su...","og_url":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-10T09:00:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!","datePublished":"2026-01-10T09:00:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/"},"wordCount":1910,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/","url":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/","name":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez! - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-10T09:00:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/cevrimdisi-esp32-metin-okuma-text-to-speech-sistemi-olusturma-internet-gerekmez\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"\u00c7evrimd\u0131\u015f\u0131 ESP32 Metin Okuma (Text-to-Speech) Sistemi Olu\u015fturma: \u0130nternet Gerekmez!"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=37599"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/37599\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=37599"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=37599"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=37599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}