Pengenalan Suara untuk Anak Tuna Rungu Wicara dan Non-Tuna Rungu Wicara Menggunakan Metode MFCC dan SVM
Pemahaman dan pengenalan suara adalah hal yang penting dalam berkomunikasi. Bagi anak-anak yang mengalami gangguan pendengaran dan kesulitan berbicara, pengenalan suara adalah kunci untuk memungkinkan mereka berinteraksi dengan dunia di sekitar mereka. Dalam artikel ini, akan dijelaskan pengembangan sistem pengenalan suara yang dirancang khusus untuk anak-anak tuna rungu wicara dan non-tuna rungu wicara. Metode yang digunakan untuk ekstraksi ciri adalah Mel-Frequency Cepstral Coefficients (MFCC), sementara untuk pengenalan suara, kita akan menerapkan metode Support Vector Machine (SVM).
Pentingnya Sistem Pengenalan Suara untuk Anak-anak
Anak-anak dengan gangguan pendengaran, terutama yang tidak dapat berbicara (tuna rungu wicara), sering kali menghadapi kesulitan dalam berkomunikasi dengan orang lain. Sistem pengenalan suara yang dapat mengidentifikasi kata-kata atau frasa yang mereka ucapkan dapat membantu mereka berkomunikasi dengan lebih efektif. Sistem ini juga dapat digunakan dalam pendidikan khusus dan terapi bicara untuk membantu anak-anak belajar berbicara.
Metode Ekstraksi Ciri dengan MFCC
Mel-Frequency Cepstral Coefficients (MFCC) adalah metode yang umum digunakan untuk ekstraksi ciri suara. Ini melibatkan langkah-langkah berikut:
- Perekaman Suara: Suara anak-anak direkam menggunakan perangkat audio yang sesuai.
- Pre-Emphasis: Langkah awal adalah menerapkan filter pre-emphasis untuk meningkatkan amplitudo frekuensi tinggi dalam sinyal, membantu dalam deteksi ciri-ciri penting.
- Framing: Sinyal suara dibagi menjadi beberapa frame dengan durasi tertentu.
- Transformasi Fourier: Setiap frame diubah menjadi domain frekuensi menggunakan transformasi Fourier.
- Filter Bank: Filter bank digunakan untuk menghitung spektrum daya pada setiap frame.
- Logarithmic Compression: Hasil dari filter bank diubah menjadi skala logaritmik untuk meniru respons pendengaran manusia terhadap berbagai frekuensi.
- Discrete Cosine Transform (DCT): DCT digunakan untuk menghasilkan koefisien-koefisien cepstral yang akhirnya menjadi ciri-ciri MFCC.
Pengenalan Suara Menggunakan Support Vector Machine (SVM)
Setelah ekstraksi MFCC selesai, ciri-ciri suara ini digunakan sebagai input untuk sistem pengenalan suara. Dalam artikel ini digunakan metode Support Vector Machine (SVM) untuk pengenalan suara. SVM adalah algoritma pembelajaran mesin yang dapat digunakan untuk tugas klasifikasi.
- Pelatihan Model SVM: Data latih yang berisi ciri-ciri suara dari anak-anak tuna rungu wicara dan non-tuna rungu wicara digunakan untuk melatih model SVM.
- Validasi Model: Model SVM yang telah dilatih divalidasi untuk memastikan akurasi pengenalan suara yang memadai.
- Pengujian: Suara dari anak-anak yang tidak diketahui status tuna rungu wicaranya diambil, dan ciri-ciri MFCC diekstraksi.
- Pengenalan Suara: Model SVM digunakan untuk mengenali status tuna rungu wicara anak berdasarkan ciri-ciri suara yang diekstraksi.
Manfaat Sistem Pengenalan Suara
Sistem pengenalan suara yang dikembangkan dapat memiliki banyak manfaat, termasuk:
- Bantuan Komunikasi: Anak-anak tuna rungu wicara dapat berkomunikasi dengan lebih mudah dan efektif dengan bantuan sistem ini.
- Pendidikan Khusus: Dapat digunakan dalam pendidikan khusus untuk membantu anak-anak belajar berbicara.
- Terapi Bicara: Mendukung terapi bicara dengan memberikan umpan balik dan data tentang kemajuan bicara anak-anak.
- Kualitas Hidup yang Lebih Baik: Meningkatkan kualitas hidup anak-anak dengan gangguan pendengaran.
Algoritma untuk kasus pengenalan suara anak tuna rungu wicara dan non-tuna rungu wicara menggunakan ekstraksi ciri MFCC dan pengenalan suara dengan metode Support Vector Machine (SVM) dapat dijelaskan sebagai berikut:
Langkah 1: Ekstraksi Ciri Suara dengan MFCC
- Merekam suara anak-anak dan menyimpannya dalam file audio.
- Ekstraksi ciri suara dari file audio menggunakan MFCC. Langkah ini melibatkan pre-emphasis, framing, transformasi Fourier, filter bank, kompresi logaritmik, dan Discrete Cosine Transform (DCT) seperti yang dijelaskan dalam artikel sebelumnya.
Langkah 2: Pelatihan Model SVM
- Persiapan data pelatihan: Data pelatihan terdiri dari ciri-ciri MFCC yang diekstraksi dari suara anak-anak tuna rungu wicara dan non-tuna rungu wicara. Label atau kategori setiap sampel harus diberikan (misalnya, 1 untuk tuna rungu wicara dan 0 untuk non-tuna rungu wicara).
- Pelatihan model SVM: Gunakan data pelatihan untuk melatih model SVM. Anda dapat menggunakan fungsi
fitcsvmdi MATLAB untuk melatih model SVM dengan kernel yang sesuai (seperti kernel linear atau RBF).
Langkah 3: Validasi Model SVM
- Setelah pelatihan, validasi model dengan menggunakan data yang tidak digunakan selama pelatihan. Ini penting untuk mengukur akurasi dan kinerja model.
Langkah 4: Pengujian dan Pengenalan Suara
- Merekam suara dari anak yang akan diuji atau dikenali status tuna rungu wicaranya.
- Ekstraksi ciri MFCC dari suara ini menggunakan langkah-langkah yang sama seperti yang digunakan pada data pelatihan.
- Gunakan model SVM yang telah dilatih untuk mengklasifikasikan suara ini sebagai tuna rungu wicara atau non-tuna rungu wicara berdasarkan ciri-ciri MFCC-nya.
Sedangkan pemrograman MATLAB – nya dijelaskan melalui langkah-langkah berikut ini:
Langkah 1: Ekstraksi Ciri Suara dengan MFCC
% Fungsi untuk ekstraksi ciri MFCC dari suara motor
function mfcc_features = extractMFCCFeatures(audio_signal)
% Menerapkan filter pre-emphasis
pre_emphasized_signal = filter([1 -0.97], 1, audio_signal);
% Pembagian sinyal menjadi frame-frame
frame_length = 0.025; % Durasi frame dalam detik
frame_overlap = 0.01; % Jumlah tumpang tindih antara frame dalam detik
frame_size = round(frame_length * fs);
frame_step = round(frame_overlap * fs);
frames = buffer(pre_emphasized_signal, frame_size, frame_step, 'nodelay');
% Menghitung MFCC
num_coeffs = 13; % Jumlah koefisien MFCC yang akan diekstraksi
mfcc_features = mfcc(frames, fs, 'NumCoeffs', num_coeffs);
end
Langkah 2: Pelatihan Model SVM
% Data pelatihan
train_data = [mfcc_features_tuna_rungu; mfcc_features_non_tuna_rungu]; % Ciri-ciri MFCC dari kedua kategori
labels = [ones(size(mfcc_features_tuna_rungu, 1), 1); zeros(size(mfcc_features_non_tuna_rungu, 1), 1)]; % Label: 1 untuk tuna rungu, 0 untuk non-tuna rungu
% Pelatihan model SVM
svm_model = fitcsvm(train_data, labels, 'KernelFunction', 'linear');
Langkah 3: Validasi Model SVM
% Data validasi
validation_data = [mfcc_features_validation]; % Ciri-ciri MFCC dari data validasi
true_labels = [true_labels_validation]; % Label yang sesuai dengan data validasi
% Prediksi menggunakan model SVM
predicted_labels = predict(svm_model, validation_data);
% Mengukur akurasi
accuracy = sum(predicted_labels == true_labels) / length(true_labels);
disp(['Akurasi Model SVM: ', num2str(accuracy)]);
Langkah 4: Pengujian dan Pengenalan Suara
% Ekstraksi ciri MFCC dari suara yang akan diuji
mfcc_features_to_test = extractMFCCFeatures(audio_signal_to_test);
% Klasifikasi menggunakan model SVM
predicted_label = predict(svm_model, mfcc_features_to_test);
% Menampilkan hasil klasifikasi
if predicted_label == 1
disp('Anak adalah tuna rungu wicara.');
else
disp('Anak adalah non-tuna rungu wicara.');
end
Sistem pengenalan suara yang menggunakan metode MFCC dan Support Vector Machine dapat menjadi alat yang sangat berguna dalam membantu anak-anak dengan gangguan pendengaran, terutama yang tidak dapat berbicara, untuk berkomunikasi dengan lebih efektif. Ini adalah langkah penting dalam memberikan dukungan dan memperbaiki kualitas hidup anak-anak ini. Dengan perkembangan teknologi ini, kita dapat memastikan bahwa anak-anak yang mengalami kesulitan berbicara mendapatkan perawatan dan perhatian yang mereka butuhkan.
Posted on September 19, 2023, in Pengolahan Sinyal and tagged Anak Tuna Rungu, Ekstraksi Ciri MFCC, Klasifikasi Suara, Komunikasi Anak Tuna Rungu, Pelatihan Model SVM, pemrograman matlab, Pengenalan Suara, Pengolahan Suara, Sistem Pengenalan Suara, Support Vector Machine (SVM), Terapi Bicara, Validasi Model SVM. Bookmark the permalink. Leave a comment.

















































Leave a comment
Comments 0