LabVIEW Team Indonesia

cancel
Showing results for 
Search instead for 
Did you mean: 

Cara Menampilkan Frekuensi dan Desibel Suara dari 2 Microphone?

Solved!
Go to solution

Salam untuk semua, saya mahasiswa dari jakarta ingin menanyakan dan mempelajari lebih lanjut program labview berkaitan dengan skripsi saya.

Yang saya inginkan adalah membuat program untuk memonitor suara dengan 2 buah mikrofon kondenser secara real time dari soundcard tanpa modul NIDaq assistant. Kendala yang saya hadapi adalah masih belum bisa menampilkan waveform dengan parameter frekuensi dan Desibel(Db) sehingga chart mudah dibaca. apakah bisa untuk mengubah koding vi waveform nya?

 

Mohon bantuannya para master, karena msh blm menemukan referensi monitoring suara yang menampilkan desibel dan frekuensi realtime yang akurat menggunakan labview. Tks..

0 Kudos
Message 1 of 14
(4,047 Views)

Hai @varendy9

project yang menarik. saya newbie dan tertarik pada sound processing jadi saya ingin ikut nimbrung di thread ini. hehehe

 

sebelumnya boleh saya tahu, maksud dari "2 buah mikrofon kondenser secara real time dari soundcard tanpa modul NIDaq assistant" ini adalah microphone ini terhubung langsung dengan soundcard PC/leptop melalui interface sound seperti 3.5mm, 6.5mm atau MIDI jack?

kalau benar begitu, setahu saya ada fasilitas LabVIEW yaitu Sound Input Read VI (access disini http://zone.ni.com/reference/en-XX/help/371361P-01/lvpict/sinput_read/)

 

VI tersebut dapat membaca sinyal langsung dari mikrophon dan menampilkan data amplitudo baik secara continous atau finite (tested on my laptop). mengenai data keluaran data dari VI tersebut adalah Raw data. saya sebatas tahu hal tersebut. untuk konversi dari Raw data ke parameter frekuensi dan Decibel belum melakukan studi pustaka lebih jauh. 

 

CMIIW, Thanks

 

Septyawan - Nuclear "Electronics" Enthusiast

 

0 Kudos
Message 2 of 14
(4,035 Views)

Hallo varendy9,

Untuk mengubah data dalam bentuk frekuensi dapat menggunakan FFT. Apakah sudah bisa membaca signal dari soudcard? 
Paling simple adalah menggunakan module NI Sound and Vibration Toolkit, pakai example "Sound Level Meter", signal langsung diubah menjadi domain frekuensi dan level meter (dB). Sedikit modifikasi untuk membaca dari sound card.

 

jawab1.PNG

 

jawab2.PNG

 

Best Regards,
Agus Yulianto

Certified LabVIEW Developer (CLD)

0 Kudos
Message 3 of 14
(4,024 Views)

Halo, septyawan

Terimakasih untuk saran dan jawabannya. 

saya sudah berhasil memvisualisasikan sinyal dalam bentuk Db dan frekuensi di waveform graph..

 

saya memang menggunakan soundcard langsung dari laptop untuk sementara tetapi selanjutnya saya akan menggunakan sondcard external sehingga harus membuat program komunikasi data nya lagi.

 

Masalah yang sekarang saya hadapi adalah bagaimana mengambil data peak dari waveform graph menjadi numeric digital sehingga dapat memvisualisasikan data peak tertinggi (decibel tertinggi) dalam sebuah indikator numerik (misalnya seperti jam digital)..

 

apakah ada masukan ?

 

salam , - Instrument and Control Student

 

0 Kudos
Message 4 of 14
(4,001 Views)

haloo, agusxxx27

terimakasih atas jawabannya

 

saya sudah melihat example tersebut sebagai referensi memang butuh modifikasi agar tidak menggunakan vi daqmx. saya sudah mencobanya dengan menggunakan vi sound input sehingga sinyal input sound level meter.vi diambil dari output vi sound input tersebut dengan menambahkan weighting vi dan 1/3 octave vi juga lalu saya menggunakan waveform graph dan octave graph sebagai sinyal indikator akhir namun program setelah dijalankan tetap tidak menghasilkan sesuatu yang muncul pada waveform graph dan octave graph tersebut sehingga saya membuat pemrograman khusus sendiri untuk hanya menghasilkan keluaran desibel dan frekuensi dari rumus fundamental akustik..

 

permasalahan yang saya hadapi adalah mengambil data peak decibel dari waveform graph saya menjadi numeri digital sehingga mudah dibaca (seperti gambar terlampir)

 

apakah ada masukan? 

 

0 Kudos
Message 5 of 14
(3,994 Views)

Hi varendy9, 

 

Untuk menyimpan nilai tertinggi bisa menggunakan shift register,

data dari waveforms graph diambil menjadi array (pakai get waveforms component untuk mengambil data array dari waveforms graph, kemudian ambil nilai tertinggi array dengan min max array), setelah dapat nilai max, disimpan dalam shift register, setiap nilai max yg di dapatkan di bandingkan dalam shift register jika lebih besar disimpan dalam shift register, jika lebih kecil simpan nilai sebelumnya 

0 Kudos
Message 6 of 14
(3,991 Views)

@agusxxx27

saya sudah coba menggunakan get waveform namun tidak bisa (error) karena wiring keluaran dari spektral measurement (sebagai input waveform graph) berbentuk cluster (berwarna pink).

 

apakah seperti ini? # terlampir di gambar

0 Kudos
Message 7 of 14
(3,962 Views)
Solution
Accepted by topic author varendy9

Hi varendy9,

Data pink tebal itu array, pakai index array, karena input nya waveforms array juga.

 

Setelah di index array, pakai unbundle cluster saja, sepertinya tidak bisa pakai get waveforms component.

Message 8 of 14
(3,959 Views)

Member agusxxx27

 

Mantap suhu,

terima kasih sudah berbagi ilmunya !!

0 Kudos
Message 9 of 14
(3,953 Views)

selamat sore @agusxxx27, saya memiliki kendala lagi dimana saya ingin memberikan formula rumus pengali dan penjumlahan pada amplitude sinyal sehabis saya filter  dan sebelum masuk ke spectral measurement untuk di FFT kan seperti tertera pada gambar..

 

saya mencoba untuk meng un bundle data keluaran filter tersebut untuk mengambil amplitude nya saja untuk memasukkan persamaan yang seperti di gambar, namun tidak bisa..

 

apakah ada solusi lain?

0 Kudos
Message 10 of 14
(3,637 Views)