Датчик звука

Делись идеей, получай поддержку и критику!

Датчик звука

Postby nomad3453 on 21 Jul 2012, 05:36

Здравствуйте!!! Суть проекта заключается в создании программы, которая с помощью микрофона определяет шум. Если он выше установленного, программа должна записывать этот шум в файл. Максимальный предел шума устанавливается переключателем, который определяет максимальную амплитуду данного шума. Посмотрите что у меня уже есть и доработайте запись в файл. Чтобы файлы не были такие короткие при кратковременном шуме, пусть оно записывает еще + 5 сек по окончании звука. За помощь буду очень благодарен.
Attachments
Audio Analysis.vi
то что пока получилось
(103.03 KiB) Downloaded 212 times
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby Pavel Krivozubov on 21 Jul 2012, 08:33

Странно, но у меня программа зависает спустя несколько секунд после запуска. :dntknw:
User avatar
Pavel Krivozubov
professor
professor
 
Posts: 4379
Joined: 07 Feb 2008, 16:39
Location: г. Электросталь
Medals: 3
Activity (2) Bronze (1)
LabVIEW Version: 7.0 - 2013
Karma: 218
hardware I/O PDA VIP vision bloggers internet teachers students freelance

Re: Датчик звука

Postby AndreyDmitriev on 21 Jul 2012, 10:53

У меня тоже зависало (в Sound Input Read (DBL).vi), в основном если что-то ещё делать - мышкой там возить и т.п. Прошло после увеличения number of samples/ch с 4410 до 44100 (и в Sound Input Configure.vi тоже поменял).

По сути вопроса - записывать лучше не только не сколько секунд после пика, но также секунду-другую до. Сделайте сдвиговый регистр, в котором храните окно шума, при наступлении события сбрасывайте его в файл. Делать это лучше в отдельном цикле, перебрасывая шумовые данные через очередь, чтобы не тормозить цикл, получающий данные с микрофона.
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: Датчик звука

Postby nomad3453 on 23 Jul 2012, 02:33

Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby IvanLis on 23 Jul 2012, 08:55

nomad3453 wrote:Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......


AndreyDmitriev wrote:Сделайте сдвиговый регистр, в котором храните окно шума, при наступлении события сбрасывайте его в файл. Делать это лучше в отдельном цикле, перебрасывая шумовые данные через очередь, чтобы не тормозить цикл, получающий данные с микрофона.
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: Датчик звука

Postby nomad3453 on 24 Jul 2012, 07:06

IvanLis wrote:
nomad3453 wrote:Ты прав, лучше записывать еще до пика. Только как это сделать, вот в чем вопрос =) помогите, пожалуйста ......


AndreyDmitriev wrote:Сделайте сдвиговый регистр, в котором храните окно шума, при наступлении события сбрасывайте его в файл. Делать это лучше в отдельном цикле, перебрасывая шумовые данные через очередь, чтобы не тормозить цикл, получающий данные с микрофона.


В словах вроде понятно, но я в LABVIEW не профессионал, поэтому прошу о помощи. Помигите плисссссссс =( Очень нужно
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby IvanLis on 24 Jul 2012, 07:29

nomad3453 wrote:В словах вроде понятно, но я в LABVIEW не профессионал, поэтому прошу о помощи. Помигите плисссссссс =( Очень нужно

Вопрос в чем???
Если только в том, кто за Вас это сделает, то Вам на биржу труда.

Профессионалами сразу не становятся...
Для этого нужно на собственном пузе проползти много-много километров LabVIEW проводников :D
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: Датчик звука

Postby nomad3453 on 26 Jul 2012, 02:10

IvanLis wrote:Вопрос в чем???
Если только в том, кто за Вас это сделает, то Вам на биржу труда.

Профессионалами сразу не становятся...
Для этого нужно на собственном пузе проползти много-много километров LabVIEW проводников :D


да, ты прав ..... но я не знаю с чего начать ..... "Сделайте сдвиговый регистр, в котором храните окно шума" ...... как? где?
Last edited by IvanLis on 26 Jul 2012, 07:09, edited 1 time in total.
Reason: оверквотинг
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby IvanLis on 26 Jul 2012, 07:10

nomad3453 wrote:я не знаю с чего начать ..... "Сделайте сдвиговый регистр, в котором храните окно шума" ...... как? где?

Начните в таком случае с поиска: labview сдвиговый регистр
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: Датчик звука

Postby nomad3453 on 26 Jul 2012, 09:02

IvanLis wrote:Начните в таком случае с поиска: labview сдвиговый регистр

Читал, но не могу понять как он поможет мне в решению моей проблемы. = (Что пускать через сдвиговый регистр? Звук который получаю из микрофона? И что тогда с ним произойдет после сдвигового регистра?

AndreyDmitriev wrote: перебрасывая шумовые данные через очередь

Как перебросить шумовые данные через очередь?

AndreyDmitriev wrote: Делать это лучше в отдельном цикле, чтобы не тормозить цикл, получающий данные с микрофона.

все равно тормозит =(

AndreyDmitriev wrote:У меня тоже зависало (в Sound Input Read (DBL).vi), в основном если что-то ещё делать - мышкой там возить и т.п. Прошло после увеличения number of samples/ch с 4410 до 44100 (и в Sound Input Configure.vi тоже поменял).

если увеличить, программа не отображает результат с нормальной частотой. = (


-------------------------- IvanLis --------------------------
Это не ЧАТ, это ФОРУМ! :evil:
Не надо каждые 5 минут писать сообщения, при необходимости можно отредактировать свое сообщение (исправить/добавить).
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby IvanLis on 26 Jul 2012, 09:38

nomad3453 wrote:все равно тормозит =(

если Вы не знаете как....
то почему утверждаете, что все равно тормозит
тормозить не может, т.к. данные обрабатываются в двух независимых-параллельных циклах

nomad3453 wrote:Как перебросить шумовые данные через очередь?

labview queue
у Вас есть хоть какая-нибудь литература?
поищите на форуме, полно информации
посмотрите примеры например здесь

Вы понимаете, что Ваши вопросы вызывают смешанные чувства
с одной стороны человека, который издевается
с другой, человека который ничего не хочет делать, а ищет халявы
отсюда и такое отношение
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: Датчик звука

Postby AndreyDmitriev on 26 Jul 2012, 10:04

nomad3453, на самом деле вы просто несколько непоследовательны. Вы взялись за относительно непростую задачку при отсутствии некоторых базовых знаний, без которых решить её (причём элегантно решить) для вас будет непросто. Это всё равно что взять в библиотеке "Горе от ума" на китайском и пытаться читать, вооружившись китайско-русским словарём.

Я вам вот что посоветую - найдите в сети курс LabVIEW Basic I и проштудируйте его как следует, выполняя упражнения. Затем возьмите лист бумаги и нарисуйте детальную блок-схему алгоритма. Задача разбивается на несколько поздадач - как накапливать приходящие данные, что делать при превышении уровня сигнала, учесть такие моменты, когда уровень превышен в течение долгого времени - тут надо продолжать запись в уже открытый файл, и т.д. Отображение сигнала - тоже отдельная тема - ведь если накапливать данные маленькими порциями и отображать их слишком часто, то нагрузка на ЦП естественно растёт. Следовательно надо поработать над балансировкой - найти оптимум, возможно вынести отображение из цикла заквата в накапливающий цикл.

Сделайте небольшие тестовые VI в LabVIEW, чтобы разобраться с массивами, записью в файл (и чтением), и т.д.

Лучше всего вначале слепить симулятор сигнала (тоже хорошее упражнение) - иначе намучаетесь с зависаниями во время отладки. Лишь отладив основной алгоритм, заменить симулятор захватом сигнала с карты и поработать над синхронизацией цикла захвата, отображения и сохранения в файл, чтобы они не блокировались.

При этом можете постить сюда всё, что не очень получается - но с конкретными вопросами, а не "Посмотрите что у меня уже есть и доработайте запись в файл."
User avatar
AndreyDmitriev
VIP
VIP
 
Posts: 1225
Joined: 03 Feb 2010, 00:42
Location: Германия
Medals: 6
Activity (1) Professionalism (1) Tutorials (1) Gold (1) Black (2)
LabVIEW Version: 6.1 - 2016
Karma: 433

Re: Датчик звука

Postby nomad3453 on 26 Jul 2012, 17:52

AndreyDmitriev wrote:nomad3453, на самом деле вы просто несколько непоследовательны. Вы взялись за относительно непростую задачку при отсутствии некоторых базовых знаний, без которых решить её (причём элегантно решить) для вас будет непросто. Это всё равно что взять в библиотеке "Горе от ума" на китайском и пытаться читать, вооружившись китайско-русским словарём...


Возможно ты прав, но сейчас у меня нет сколько времени ... Проект надо отдать в середине сентября. Для того чтобы иметь хорошую оценку (которая повлияет на то буду я иметь степендию, или нет) мне захотелось сделать что-то приличное.

Я не просто прошу чтобы кто-то из вас мне сделал это, я пытаюсь, стараюсь, только не получается; поэтому прошу вашей помощи. Я не могу сейчас всьо бросить и начать делать что-то простое, я должен довести дело до конца. Помогите =(

IvanLis wrote:если Вы не знаете как....
то почему утверждаете, что все равно тормозит
тормозить не может, т.к. данные обрабатываются в двух независимых-параллельных циклах

эту проблему я решил, торможение появилось после смены number of samples/ch с 4410 до 44100

IvanLis wrote:Вы понимаете, что Ваши вопросы вызывают смешанные чувства
с одной стороны человека, который издевается
с другой, человека который ничего не хочет делать, а ищет халявы
отсюда и такое отношение

извините за то что вызываю у вас такие чувства, но я стараюсь =(
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0

Re: Датчик звука

Postby IvanLis on 27 Jul 2012, 07:03

nomad3453 wrote:Я не просто прошу чтобы кто-то из вас мне сделал это, я пытаюсь, стараюсь, только не получается; поэтому прошу вашей помощи. Я не могу сейчас всьо бросить и начать делать что-то простое, я должен довести дело до конца. Помогите =(


декомпозируйте задачу и начните ее решение поэтапно
задавайте более конкретные вопросы, тогда получите конкретные-полезные ответы и советы

у Вас пока вопросов НЕТ, по этому и ответов, которые могут Вам помочь НЕТ
User avatar
IvanLis
professor
professor
 
Posts: 4571
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 721
hardware VIP bloggers teachers

Re: Датчик звука

Postby nomad3453 on 20 Sep 2012, 10:48

В файле есть два цикла, один отвечает за запись в файл, а второй за все другие операции. Отдельно каждый из этих циклов работает, а вот когда бросаю их в одну программу то она зависает при записи(Record).
Attachments
test.vi
(49.6 KiB) Downloaded 153 times
nomad3453
interested
interested
 
Posts: 7
Joined: 21 Jul 2012, 05:16
LabVIEW Version: 11.0
Karma: 0


Return to Проекты

Who is online

Users browsing this forum: No registered users and 3 guests

cron