Demo JavaScript Text-to-Speech Numbers Station Hadapi Masalah Kompatibilitas Lintas Platform

Tim Komunitas BigGo
Demo JavaScript Text-to-Speech Numbers Station Hadapi Masalah Kompatibilitas Lintas Platform

Sebuah demo JavaScript kreatif yang mensimulasikan stasiun nomor menyeramkan menggunakan teknologi text-to-speech browser telah memicu diskusi komunitas tentang kompatibilitas browser dan keaslian. Entri code golf berukuran 1KB ini, yang dirancang untuk kompetisi js1024 dengan tema Creepy, menggunakan Web Speech API untuk menghasilkan angka dan kata-kata acak dalam berbagai bahasa dengan pitch dan kecepatan yang diubah.

Implementasi Teknis:

  • Batasan Ukuran: Maksimal 1.024 bytes
  • API yang Digunakan: Web Speech Synthesis API
  • Sumber Kata: Object.getOwnPropertyNames(globalThis) - menghasilkan 1.900+ kata
  • Pemilihan Suara: Akses dinamis ke suara sistem melalui speechSynthesis.getVoices()
  • Efek Audio: Modulasi pitch acak (0-2x) dan rate (0-1x)

Masalah Kompatibilitas Browser Muncul

Demo ini bekerja dengan baik pada beberapa platform tetapi gagal total pada platform lainnya. Pengguna melaporkan keberhasilan dengan Firefox di Windows 11 dan Brave di macOS, namun mengalami keheningan total pada iOS Safari, Android Chrome, dan browser berbasis Linux. Masalah kompatibilitas ini berasal dari implementasi yang berbeda dari SpeechSynthesis API di berbagai browser dan sistem operasi.

Pada sistem Linux, pengguna mengalami error JavaScript ketika kode mencoba mengakses properti suara yang tidak ada. Masalah ini tampaknya terkait dengan komponen text-to-speech yang hilang dan perlu instalasi terpisah. Beberapa browser sama sekali tidak mengekspos fungsionalitas speech synthesis, meninggalkan pengguna dengan pengalaman yang sunyi.

Status Kompatibilitas Browser:

  • ✅ Berfungsi: Firefox ( Windows 11 ), Brave ( macOS ), Chromium ( Linux )
  • ❌ Tidak Berfungsi: iOS Safari , Android Chrome , Brave ( Linux )
  • ⚠️ Sebagian: Desktop ChromeOS (masalah pemilih suara)

Komunitas Meningkatkan Keaslian

Meskipun menghargai pendekatan kreatif ini, anggota komunitas mencatat perbedaan signifikan dari stasiun nomor asli. Stasiun sebenarnya biasanya mengumumkan digit individual daripada angka penuh, mengatakan tujuh. tiga. empat. alih-alih tujuh ratus tiga puluh empat. Mereka juga menampilkan suara statis latar belakang dan gangguan radio yang menambah atmosfer misterius mereka.

Untuk memulai, ini membutuhkan statis dan klik yang bervariasi. Kedua, stasiun nomor umumnya tidak mengatakan 'tujuh ratus tiga puluh empat', mereka umumnya mengatakan 'tujuh. tiga. empat.'

Salah satu anggota komunitas membuat versi yang ditingkatkan yang mengatasi masalah-masalah ini, menambahkan generasi noise latar belakang dan pemisahan digit yang tepat. Kode mereka yang diperbaiki masih muat dalam batasan 1KB sambil memberikan pengalaman stasiun nomor yang lebih autentik.

Stasiun Angka Asli vs. Simulasi:

  • Stasiun Asli: Pengucapan digit individual ("7. 3. 4.")
  • Versi Demo: Pengucapan angka lengkap ("tujuh ratus tiga puluh empat")
  • Elemen yang Hilang: Static latar belakang, interferensi radio, suara klik
  • Fitur Autentik: Berbagai bahasa, pola ucapan yang bervariasi

Inovasi Teknis dalam Batasan

Demo asli menampilkan solusi cerdas untuk batasan ukuran 1KB. Alih-alih menyimpan daftar kata, demo ini mengekstrak kosakata dari properti objek global browser menggunakan Object.getOwnPropertyNames(globalThis). Teknik ini menghasilkan lebih dari 1.900 kata termasuk istilah-istilah yang tepat menyeramkan seperti Event, Atomics, dan Geolocation.

Kode ini juga secara dinamis mengakses suara sistem yang tersedia untuk memberikan output multibahasa, membuat kata-kata bahasa Inggris terdengar asing ketika diproses melalui mesin bahasa yang berbeda. Penyesuaian pitch dan rate acak menciptakan variasi vokal yang mengganggu yang membuat demo benar-benar menyeramkan ketika berfungsi dengan baik.

Meskipun memiliki keterbatasan teknis dan masalah kompatibilitas, proyek ini mendemonstrasikan penggunaan inovatif web API dalam batasan yang ekstrem. Umpan balik konstruktif dan perbaikan dari komunitas menunjukkan bagaimana proyek code golf dapat berkembang melampaui ruang lingkup aslinya sambil mempertahankan visi kreatif inti mereka.

Referensi: 1KB JS Numbers Station