Simple Voice Engine Application With Sound Player Class...

Windows Control , Posted at : Mar/28/2007   [Click this link to download code sample]
14906 Views   7 Comments

Pernahkah membayangkan bagaimana caranya membuat aplikasi seperti mesin suara antrian di bank? Di artikel ini saya buat aplikasi sederhana mesin suara antrian dengan memanfaatkan SoundPlayer Class yang terdapat di dalam namespace System.Media yang digunakan untuk execute file .wav.

Secara logika sebenarnya sederhana. Kita buat file .wav yang merekam suara manusia untuk masing-masing angka, misalnya file 0.wav yang merekam suara "nol", 1.wav yang merekam suara "satu"...kemudian angka yang muncul di mesin antrian / output yang diambil dari tabel atau file .xml atau file .txt  kita baca per karakter, dan per karakter tersebut nantinya di cocokkan dengan file name .wav yang sudah kita buat sebelumnya.

Untuk membuat delay pada detik tertentu kita bisa memanfaatkan Sleep method dari Thread class, sehingga jeda satu suara yang mewakili satu angka tidak terlalu cepat. Aplikasi yang saya buat ini tentu hanya konsep saja, anda bisa mengembangkannya lebih lanjut. Misalnya data antrian terakhir diambil dari datasource tertentu, validasi untuk number yang akan dibaca, maksimum angka yang diperbolehkan, dsb.

Untuk aplikasi ini nomor yang akan dibaca yaitu di input lewat textbox yang hanya bisa menerima unassign integer (angka positif saja) dan maksimum hanya empat karakter (empat angka), input juga hanya boleh angka. File wav yang digunakan di aplikasi ini juga hanya file wav contoh yang diambil dari windows :) yang sudah saya rename berdasarkan urutan angka dan saya simpan di folder bin. Anda bisa merubah lokasi penempatan file wav nya tentunya. 

Sudah pasti dalam real application anda harus ganti dengan file wav suara sungguhan yang menyuarakan angka-angkanya. Ok...Here's the code...you can download the code sample from the link above...enjoy it !!

Windows form screen shot :

   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.ComponentModel;
   4:  using System.Data;
   5:  using System.Drawing;
   6:  using System.Text;
   7:  using System.Windows.Forms;
   8:  using MyMedia = System.Media;
   9:   
  10:  namespace VoiceEngine
  11:  {
  12:      public partial class frmVoiceEngine : Form
  13:      {
  14:          public frmVoiceEngine()
  15:          {
  16:              InitializeComponent();
  17:          }
  18:   
  19:          private void GetWav(string Number)
  20:          {
  21:              using (MyMedia.SoundPlayer mySoundPlayer =
  22:                  new MyMedia.SoundPlayer())
  23:              {
  24:                  switch (Number)
  25:                  {
  26:                      case "0":
  27:                          mySoundPlayer.SoundLocation = "0.wav";
  30:                          break;
  31:                      case "1":
  32:                          mySoundPlayer.SoundLocation = "1.wav";
  35:                          break;
  36:                      case "2":
  37:                          mySoundPlayer.SoundLocation = "2.wav";
  40:                          break;
  41:                      case "3":
  42:                          mySoundPlayer.SoundLocation = "3.wav";
  45:                          break;
  46:                      case "4":
  47:                          mySoundPlayer.SoundLocation = "4.wav";
  50:                          break;
  51:                      case "5":
  52:                          mySoundPlayer.SoundLocation = "5.wav";
  55:                          break;
  56:                      case "6":
  57:                          mySoundPlayer.SoundLocation = "6.wav";
  60:                          break;
  61:                      case "7":
  62:                          mySoundPlayer.SoundLocation = "7.wav";
  65:                          break;
  66:                      case "8":
  67:                          mySoundPlayer.SoundLocation = "8.wav";
  70:                          break;
  71:                      case "9":
  72:                          mySoundPlayer.SoundLocation = "9.wav";
  75:                          break;
  76:                  }
  33:                  mySoundPlayer.Play();
  34:                  System.Threading.Thread.Sleep(1000);
  77:              }
  78:          }
  79:   
  80:          private void txtNumber_Validating(object sender,
  81:              CancelEventArgs e)
  82:          {
  83:              uint result;
  84:              if(uint.TryParse(txtNumber.Text,out result) == false)
  85:              {
  86:                  e.Cancel = true;
  87:                  MessageBox.Show("Enter valid number", "Warning",
  88:                      MessageBoxButtons.OK, MessageBoxIcon.Information);
  89:                  txtNumber.Focus();
  90:              }
  91:          }
  92:   
  93:          private void btnPlay_Click(object sender, EventArgs e)
  94:          {
  95:              this.Enabled = false;
  96:              foreach (char aChar in txtNumber.Text.ToCharArray())
  97:              {
  98:                  string aNumber = aChar.ToString();
  99:                  GetWav(aNumber);
 100:              }
 101:              this.Enabled = true;
 102:          }
 103:   
 104:          private void btnClose_Click(object sender, EventArgs e)
 105:          {
 106:              this.Dispose();
 107:          }
 108:   
 109:      }
 110:  }


InfoEbook-ebook yang tersedia yang dapat dipesan secara langsung atau melalui google play store.



[Comments]
Hendry  Nov/13/2007 12:17:58 :
bisa gak sy dibuatkan software untuk antrian sepeti diatas karena perusahaan tempat sy bekerja lagi membutuhkan sistem antrian yang harganya terjangkau,kira-kira berapa harganya..
Mahmun Ali  Dec/20/2008 06:24:47 :
Mas Rully aku baru belajar pemrograman VB tolong donk mas kirim contoh cara penulisan program relasi antar database dan form untuk 1. Input data baru 2. Edit data 3. serta untuk menghapus Trimakasih mas Alimahmun@ymail.com Mahmun@trimitra-baterai.co.id
ARY  Jan/10/2009 05:33:09 :
Salam kenal mas Rully..... saya mau nanya niy.....namespace System.Media yang digunakan untuk execute file .wav itu di dapat darimana ya.apa saya harus membuat folder terpisah.Applikasi ini khusus untuk VB6 kan mas.Dan kenap file yang saya download dr atas halaman ini dlm bentuk .cs YA.Knp gak ada dalam bentuk .frm Mas. terima kasih atas bantuannya. fakhryadi_amran@yahoo.com
Rully  Jan/10/2009 10:32:22 :
@ARY : Mas ary, contoh artikel ini menggunakan Visual C# 2.0 diatas .NET framework. Kalau mau pake VB harus versi yang .NET nya, yaitu VB.NET versi 2005 ke atas...jadi ini ga bisa dipake untuk VB 6.0.
ipoels  Mar/18/2012 03:57:01 :

salam kenal mas ruly,

saya bisa minta tolong gak di kirim source code ke email saya diatas (saipul_anshor@yahoo.co.id) tentang bagaiaman membuat file perekam gambar dan suara menggunakan vb 6.0???

program nya seperti layak nya CCTV tapi disini saya ingin menggunakan webcam sebagai kamera nya dan klw bisa suara nya juga otomatis ter save.....

mohon di kirim ke email saya jika mas ruli punya source code nya. thanks

 

Rully  Mar/19/2012 08:25:07 :

 @ipoels : halo, salam kenal...wah kebetulan saya tidak punya contoh source code program seperti itu mas :)

aplikasi antrian sid  Jan/18/2020 10:03:42 :

 bisa kah membuatkan aplikasi antrian sidang untuk kantor saya Pengadilan Agama


[Write your comment]
Name (required)
Email (required-will not published)
 
Comment

fogh
Input code above below (Case Sensitive) :
About Me 
Rully Yulian MF
Rully Yulian Muhammad Firmansyah | Founder Native Enterprise | Microsoft Certified Trainer (2008-2019) | IT Trainer at Native Enterprise | IT Consultant | Software Developer | Xamarin Certified Professional | MVP (2009-2016) | MTA | MCAD | MCPD | MOS | Bandung, West Java, Indonesia.
[Read More...]
Top Download 
Mapping Hak Akses User Pada MenuStrip Sampai Control Button : Downloaded 6832 times  
Bagaimana caranya menginstal database ketika deploying sebuah aplikasi? : Downloaded 4869 times  
Simple Voice Engine Application With Sound Player Class... : Downloaded 3986 times  
Change Group,Sort Order, Filtering By Date in Crystal Reports : Downloaded 3445 times  
WinForms DataGrid Paging With SqlDataAdapter : Downloaded 2862 times  
Links 
Certifications 
Xamarin Certified
MOS 2007
MCT
MCPD
MCTS
MCAD.NET
ASP.NET Brainbench
Native Enterprise 
Follow Me 
Youtube  Facebook  Instagram  LinkedIn   Twitter
Syndication 
Hosted By 
Native Enterprise News 
© Copyright 2006 - 2020   Rully Yulian MF   All rights reserved.