Hitest 0 Posted October 29, 2017 · Report post Начинаю изучать MATLAB с нуля. В бумажном виде есть только книга Дьяконова по версии R2007. По моим ощущениям от других книг этого автора, он "в теме". А читать в электронном виде очень не люблю, придется все равно распечатать всю книгу, если она есть в открытом доступе, хорошая и новая. Кстати, если сейчас есть в продаже хорошая книга по современной версии MATLAB, прошу посоветовать. Пока подумал, что с 2007 г. математика вряд ли изменилась, поэтому изучение старой версии тоже не пустая трата времени. Но я не увидел в книге и в самом Матлабе 2007 практически никаких средств ввода-вывода сигналов в реальном времени. Хотя бы со входа и выхода звуковой карты. Не говоря уже о вводе-выводе с проф. звуковых карт, где 32 входных канала и столько же выходных. Хочу обрабатывать звук в реальном времени. Хотя бы простая обработка. На сегодняшний день в Матлабе это возможно? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
thermit 0 Posted October 29, 2017 · Report post Да. И на вчерашний день тоже. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hitest 0 Posted October 30, 2017 · Report post И это возможно с помощью готовых средств, или нужно писать программный "переходник" с кучей вызовов Win32 API? Или вообще писать этот переходник на С++ и вызывать его из Матлаба? Я работаю в симуляторе в Windows XP, т. к. версия R2007b только там выполняется нормально. Звуковая карта на 32 канала тоже видна как простое стерео устройство. Видимо в симуляторе большего и не будет. В родной среде к ней доступ через ASIO драйвер. (Эти железки вообще-то заточены под Мак. На нем я только музыку слушаю через эту звуковую карту. Но надо отдать должное яблочной корпорации - драйвера для операционок скажем 5-летней давности отлично работают в новых версиях.) Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted October 31, 2017 · Report post Нет нужды тратить деньги, когда то же самое есть в Octave. Хочу обрабатывать звук в реальном времени. Хотя бы простая обработка. На сегодняшний день в Матлабе это возможно? Зачем для такой простой задачи матлаб тянуть? Посмотрите, как все в audacity устроено: alsalib + несколько библиотек для обработки сигналову — вуаля! Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hitest 0 Posted October 31, 2017 · Report post Эдди, здесь я частное лицо, и трачусь только на железки. На книги в бумажном варианте. И всё. (Можно поставить смайлик) >> Зачем для такой простой задачи матлаб тянуть? Не знаю, не знаю, куда там меня потянет. (Однажды чего-то может не хватить и я скажу себе "чтож ты дурак сразу Матлаб не изучал?". Во-вторых, "запас карман не тянет". В далеком студенчестве пришлось отбросить студенческую версию MathCAD в пользу полновесной, из-за потребности в одной-единственной мощной функции.) Тем более с большим опытом DJ в далеком прошлом. Не секрет что все программные монстры для сведЕния, вроде Traktor DJ Studio, и более успешные потомки, изначально писались либо в Матлабе, либо в софте National, если разработчики японцы. Потом софт нормально реализовывался под MAC OS и почему-то с большими проблемами - под Windows. Это происходило еще задолго до появления Windows XP. Понятия не имею, как разработчики таких систем добивались быстрого отклика звуковой карты из MATLAB, учитывая, что там много каналов на ввод и вывод. И сам математический пакет - вовсе не система жесткого реального времени. Что бы почитать о вышеуказанных проблемах? Статьи, книги? Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
gosha-z 0 Posted October 31, 2017 · Report post программные монстры для сведЕния, вроде Traktor DJ Studio Ну если это монстр, то что же тогда такое Nuendo? Про ProTools я даже заикаться не буду. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted October 31, 2017 · Report post Еще раз: ни в матлабе, ни тем паче в лабвью вы не добьетесь быстрого прямого доступа к аппаратным ресурсам ПК! А если и добьетесь, то такой ценой, что пожалеете, что вместо того, чтобы за недельку на С накалякать программку, возились с этими жиробасинами. Да еще и денег немерено отвалили!!! Насчет лабвью, делались попытки управлять научным оборудованием при помощи этой фиговины. Общий вывод такой: ужасно дорого и неэффективно. А уж системы реального времени с обработкой изображений... Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hitest 0 Posted October 31, 2017 (edited) · Report post Ну про то, что Traktor DJ Studio был изначально написан на Матлабе, известно от самих разработчиков, с которыми общался мой хороший друг. Было в бородатые годы. Это одна из первых реализаций алгоритма сведения, очень еще плохая реализация. Дальше было много конкурирующих продуктов, но по сей день никакое программное обеспечение не сможет свести любые 2 трека, ему подсунутые. Живой DJ справится. Это искусственный интеллект, какие уж там реализации на С за неделю... Скорее всего, разработчики "машины" на Матлабе для тестирования подсовывают 2 файла. Они сейчас никаких подробностей не рассказывают. Жалко, что и в Лабьвью нет быстрого доступа к звуковой карте. Программировать на Си я точно не буду, за много лет в прошлом это порядочно надоело. Изначально мне и была нужна сложная обработка готового файла. Но хотел вводить сигнал с микрофона и слышать некоторые характерные детали в наушниках. Получается, что послушать можно, но с приличной задержкой. Значит, нужны изолирующие наушники, не пропускающие грохот малого двигателя. Это легко решаемо, например Technics RP-DJ 1210. P. S. Пожалуйста, перестаньте про денежные траты на софт. Ну не надо про это, и точка. Edited October 31, 2017 by Hitest Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Hitest 0 Posted November 1, 2017 · Report post В общем мне нужно сделать следующую вещь. С микрофона вводится звук выхлопа малого двигателя внутреннего сгорания. Его обороты стабилизированы центробежным регулятором на величине 50Гц. Изменение нагрузки на валу двигателя приводит к не очень качественному переходному процессу. У регулятора плохая устойчивость. Если полученный с микрофона сигнал перевести в частотную область, то наибольшая плотность мощности будет на частоте f вращения двигателя. На выход звуковой карты буду подавать несущую 500Гц, которая должна быть частотно-модулированной частотой f. Для большего удобства можно f возвести в некоторую степень, от 1 до 2. Навскидку f^1.5 Тогда медленные автоколебания стабилизатора оборотов будут хорошо слышны. По крайней мере мне в полевых испытаниях так будет удобнее. Можно рисовать трехмерную спектрограмму, но у меня с геометрией всегда были проблемы :) Со звуком я всегда на "ты". Ну как, идея не слишком бредовая? P. S. Можно конечно нагрузить этим DSP звуковой карты. Прилагаемый с ней софт позволяет это сделать. И можно слышать результат в реальном времени. Но только под Мак, в Лоджике. Но у меня яблочная машина только огромная настольная, ноута нет. Поэтому полевые испытания не получатся. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jorikdima 0 Posted November 2, 2017 · Report post 1. Изучать матлаб (как таковой а не его тулбокс работы со звуком) можео любой. 2007 в том числе. Это не С#, изучив который 10 лет назад, я не понимаю современный код. 2. Что касается работы со звуковой картой, я не пробовал, но уверен считать данные оттуда не проблема, так как устройство довольно стандартное. 3. По объявленной задаче, имхую, что матлаб справится с потоком со свуковой карты в реальном времени. В том числе обработку, если она не сложная. 4. Я был приверженцом матлаба. Но сейчас его в области научных счислений двигает связка Python+NumPy . На вашем месте при отсутсвии опыта там и там, я бы ударился в питон. Работает везде, хоть в разпберри пай. Бесплатен. Популярен. Матлаб хорош тулбоксами. Если у вас нет обработки, где использовался бы один из тулбоксов очень активно, сэкономив вам время, я бы не брался за матлаб сейчас. А питон даст вам сильный плс в резме, если плюсы там нужны, конечно. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vvvv 0 Posted November 2, 2017 · Report post По моему ТС правильной дорогой идет. Он же написал "для изучения". У него есть конкретная задача которую надо решить алгоритмически. Лучшего инструмента чем Matlab не придумали пока. И опять же зачем человеку быстрый отклик, если алгоритм в Матлабе можно обкатывать на массивах данных. И опять же в Матлабе все можно визуализировать, построить крайне наглядно и понятно. Вот когда алгоритм уже создан можно программировать хоть на питоне, хоть на ассемблере чтобы получить быстрое время отклика. Зачем смешивать две задачи создание алгоритма и его оптимизацию. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
jorikdima 0 Posted November 2, 2017 · Report post По моему ТС правильной дорогой идет. Он же написал "для изучения". У него есть конкретная задача которую надо решить алгоритмически. Лучшего инструмента чем Matlab не придумали пока. И опять же зачем человеку быстрый отклик, если алгоритм в Матлабе можно обкатывать на массивах данных. И опять же в Матлабе все можно визуализировать, построить крайне наглядно и понятно. Вот когда алгоритм уже создан можно программировать хоть на питоне, хоть на ассемблере чтобы получить быстрое время отклика. Зачем смешивать две задачи создание алгоритма и его оптимизацию. Вы, веротно, с питоном не знакомы. Он не про быстрый отклик как раз. И я совершенно н еприводил это как аргумент в его пользу. И про визуализаци вы тоже не правы. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Eddy_Em 0 Posted November 2, 2017 · Report post В простейшем виде задача ТСа решается тремя страницами кода на С! Если вместо alsa использовать oss4, то и двумя!!! БПФ очень хорошо делает fftw3. Если сэмплы будут не очень большими, то в реальном времени можно будет получать спектр на 96кГц дискретизации (а такие звуковушки нынче совсем недороги). Если же автор хочет сначала алгоритм разработать, то согласен — я сам сначала "обкатываю" все в Octave и только потом делаю результирующую версию, которая работает с нормальной скоростью. От октавы матлаб отличается лишь одним — он умеет компилировать ваш код, в результате чего время выполнения в некоторых случаях значительно повышается. Но все равно оптимизации там 0, так что годится вся эта чепуха лишь на развлечения с разработкой алгоритма (т.к. пару строк кода заменить таки проще, чем полстраницы!). Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
syoma 0 Posted November 2, 2017 · Report post Мой совет - изучать сразу последний матлаб, потому что Еще раз: ни в матлабе, ни тем паче в лабвью вы не добьетесь быстрого прямого доступа к аппаратным ресурсам ПК! А если и добьетесь, то такой ценой, что пожалеете, что вместо того, чтобы за недельку на С накалякать программку, возились с этими жиробасинами. Да еще и денег немерено отвалили!!! уже давно не правда. В Матлабе уже давно практически все тулбоксы поддерживают real-time в том числе на Windows машинах с ихним родным kernel. И я сам смотрел, что там присутствует поддержка быстрого доступа для практически всего существующего i/o железа, и конечно-же звуковых плат. Я думаю, что похожая задача, как у автора, вполне возможно будет в числе входящих в комплект примеров. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dxp 0 Posted November 2, 2017 · Report post 4. Я был приверженцом матлаба. Но сейчас его в области научных счислений двигает связка Python+NumPy . На вашем месте при отсутсвии опыта там и там, я бы ударился в питон. Работает везде, хоть в разпберри пай. Бесплатен. Популярен. Матлаб хорош тулбоксами. Если у вас нет обработки, где использовался бы один из тулбоксов очень активно, сэкономив вам время, я бы не брался за матлаб сейчас. А питон даст вам сильный плс в резме, если плюсы там нужны, конечно. +100500 за питон (+numpy). Универсальный язык, позволяет писать код не только для вычислений, но и для обычных утилит и даже взрослых приложений (PyQt). Матлаб на данный момент имеет преимущества: * если нужен какой-то его тулпбокс, который не имеет аналогов в библиотеках питона; * используется генератор С или HDL кода из матлабовского скрипта; * используется Симулинк. В остальном питон заруливат малтаб без вопросов. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...