Автор |
Сообщение |
|
Дата: 19 Окт 2011 06:30:21 · Поправил: Programmist (19 Окт 2011 13:53:02)
#
Sinus
Замена точки на запятую в настройках винды не помогла
Странно, должна была помочь. На всякий случай добавил еще один флаг "Ignore Regional Settings". В варианте с матрицей, там точно будут точки, только скорость работы уменьшится.
закрылось не только окно осциллоскопа, но, блин, и вся строка с кнопками "open", "cancel" и т.д...
Понятно, все зависит от настроек экрана, зря я уменьшал размер формы, при выключении скопа.
Настройки, конечно, сохраняются в реестре. У всех моих программ там своя папка "SHS".
В данном случае это: HKEY_CURRENT_USER -> Software -> SHS -> Wav2Text
Если что не так, можно смело удалять всю папку Wav2Text, но сейчас этого делать не надо, форма больше не свернется.
з.ы.
Если вываливается сообщение "Недопустимая последовательность байт" - это моя недоработка 32х битного формата. Adobe и Cool с такими файлами справляются нормально (на экране видно одно, а на деле - другое), там свои правила. Пока не знаю, сколько десятичных знаков выводить, сейчас их слишком много, в конце подбрасывается мусор (бесконечная дробь). Реальная точность пока не более 8-9 знаков, а надо больше.
Программу еще раз обновил (19 Окт 2011 12:52).
|
|
Дата: 19 Окт 2011 14:29:20 · Поправил: Sinus (19 Окт 2011 21:30:52)
#
Programmist, спасибо за новую версию! Всё заработало отлично, в реестр лезть не пришлось. С флагом "Ignore..." выводятся числа с желанной точкой, то что надо!
Маткад позволяет выводить на экран и в файл до 16 знаков. Видимо, он и считать с такой точностью может; но этот вопрос мной не изучен, у меня не было необходимости в такой чумовой точности... В хелпе там написано, что если включить режим float, то: by default, "float" evaluates the result to 20 digits., причём можно и больше знаков задать: Examples: The following evaluates пи to 25 decimal places:
пи float, 25→ 3.141592653589793238462643
|
Реклама Google
|
|
|
Дата: 19 Окт 2011 15:44:57 · Поправил: Mesh (19 Окт 2011 15:46:11)
#
Programmist Пока не знаю, сколько десятичных знаков выводить, сейчас их слишком много, в конце подбрасывается мусор (бесконечная дробь). Реальная точность пока не более 8-9 знаков, а надо больше. Больше не получится. :) Я ещё в FFT листинге спрашивал кто его писал. Там тож приколисты, таблицы под 15-16 знаков, а юзают везде single формат. :) Зачем тогда столько знаков в таблицах, всё равно 7-8 знаков после запятой для такого формата доступны. Надо больше? Юзайте 64 бита флоат, если ещё больше, берите внутрений формат сопроцессора вроде 80 бит. Но из ничего, из 8 десятичных знаков 32 битных флоат, не получить и не всунуть 10 или 12 десятичных разрядов. Ну так где-то.
|
|
Дата: 19 Окт 2011 23:04:42
#
Sinus Mesh
Дело в том, что попадаются интересные файлы, где значения амплитуды больше единицы и более того, при преобразовании в формат Single, встречаются недопустимые комбинации 4х байт (выдается NAN - несуществующее число). Последняя версия Adobe Audition с такими файлами работает, но амплитуду показывает не более +-1.0. Можно даже эту амплитуду нормализовать, файл сохранить, а при чтении программой все равно будут встречаться несуществующие числа :(
В такой ситуации, приходится выдавать сообщение "Недопустимая последовательность байт", ничего лучшего пока не придумал. Какое-то решение должно быть, если Adobe сделал, пусть и не совсем корректно. Сейчас, понятно, что выводить из Singl-a мусор, более 8 десятичных знаков смысла нет, вот и оставил 9.
|
|
Дата: 19 Окт 2011 23:12:43
#
Programmist Как это понимать? Программа не понимает неправильных заголовков файлов, возможны ошибки, Прога не открывает ни одного фала который сохраняет SA. Хотите сказать что там неправильные заголовки?
|
|
Дата: 19 Окт 2011 23:28:59 · Поправил: Programmist (19 Окт 2011 23:31:16)
#
Mesh
Хотите сказать что там неправильные заголовки?
Не знаю, надо проверять, SA пишет в заголовок свое имя, чего другие программы не делают. Буду исправлять. Можно маленький кусочек, который не открывается? Однозначного признака начала даты для всех программ я не нашел.
|
|
Дата: 19 Окт 2011 23:42:08
#
Programmist Ага уже проверяли. :) CIS-59 "Феррит" (known as the "Ferrite") Може вам тож так сказать начать с началу начал с описалова стандарту? Между нами мальчиками говоря, я до этой темы на котору ссылка, тож думал, что я вроде как шарю в вафах. :) |
|
Дата: 19 Окт 2011 23:46:25
#
Mesh
Да, не открывает :( Сейчас буду смотреть, править надо...
|
|
Дата: 20 Окт 2011 01:48:00
#
Из стандартов удалось найти не много полезного. Здесь прога для чтения заголовков, возможно, она и неправильная, но в файлах SA выдается ошибка. В принципе, это можно спокойно обойти. Программу сегодня перепишу и заменю, если успею в копилке.
http://www.radioscanner.ru/uploader/2011/riffheader.rar
Исходный текст внутри архива. |
|
Дата: 20 Окт 2011 02:09:43 · Поправил: Sinus (21 Окт 2011 01:35:26)
#
Посмотрел в маткаде FFT-спектр шума из файла Saffire_Pro_40.wav (импортированного каk txt с помощью проги Programmistа). Результат аналогичен полученному YuriVR; на картинках спектра с различным масштабом по шкале частоты чётко видно, что преобладают основная и третья гармоники 50 Гц:
http://s004.radikal.ru/i206/1110/11/46368fa90611.jpg
А о стандарте riff да, хотелось бы иметь подробный документ; может быть кто-нибудь поделится ссылкой, плз?
Не шарю в вафах, но хотел бы начать шарить; учиться, говорят, никогда не поздно (как бэ всегда рано) :) |
|
Дата: 20 Окт 2011 02:38:27
#
Sinus
А о стандарте riff да, хотелось бы иметь подробный документ
Эт точно, придется пока разбирать своими силами. Программу переписать, похоже, не успею, пусть лежит в копилке, как есть. Когда сделаю, положу отдельно в утилиты, там можно править долго, имхо вещь полезная.
Есть желание подать на вход карты шум с максимально возможной амплитудой, записать, а потом проверить массив на количество отличных друг от друга чисел. Если окажется, что их не более 65535, то карта 16 бит, а ее шум 50 Гц – никакой не шум вовсе, а Automatic Dithering of 16-bit Data, как ей по даташиту на АЦП и положено.
|
|
Дата: 20 Окт 2011 02:42:07
#
Programmist Хотите сказать что прога не читает файлы из за несоответствия размеру? Имхо эт не та причина. Да и вы это знаете. :)
Sinus Ну как бы в инете есть описалово, поискать надо, но там реал, я когда сунулся и стал вникать, чёто мне расхотелось сразу, чанку cue меня просто в ступор вогнало. Так то про что речь в дискусии была я догнал, на том и остановился.
Вобще где-то статейку видел в инете про формат ваф, как над ним издеваются, и на что идут програмеры что б как-то выкрутится и не давать падать в обморок софту при мелких нестыках. Но не знаю найду или нет, да и надо ли оно?
|
|
Дата: 20 Окт 2011 02:50:46 · Поправил: Programmist (20 Окт 2011 02:56:38)
#
Mesh
Хотите сказать что прога не читает файлы из за несоответствия размеру? Имхо эт не та причина.
Конечно, не та. Спешил получить результат, вот и склеил, из чего попало. Теперь буду делать нормально, не спеша, на основе кода RIFFHeaderTest.
Но не знаю найду или нет, да и надо ли оно?
В принципе не особо надо, похоже, последний код нормально работает, там в src все прозрачно и комментарии есть, осталось только выяснить несоответствие с SA, но это мелкий баг и легко обходится.
|
|
Дата: 20 Окт 2011 02:54:54 · Поправил: Sinus (21 Окт 2011 02:14:46)
#
Mesh, Programmist, да, некие самопальные описаловы мне тоже попадались. Но там, в основном, про формат (44.1/16). Кстати, заметил сейчас, что и файлы барабанных сэмплов 44.1/24 прога не читает; если надо для теста - вот здесь они. В общем, как говорится в известном завещании, "учиться, учиться и учиться"... |
|
Дата: 20 Окт 2011 03:06:24
#
Sinus
Кстати, заметил сейчас, что и файлы барабанных сэмплов 44.1/24 прога не читает
Не читает, спасибо за пример, теперь все собираю. Следующая версия читать будет, можно еще побайтовый сдвиг руками сделать, для чтения убитой даты, бывает и такое надо.
|
|
Дата: 20 Окт 2011 03:06:25
#
Programmist Не могу знать баг, ошибка, или задумка такая, или у вас чего. Но вот как раз интересовать должно размер data и если он не выходит за границу самого файла то и по фиг что там чего осталось или нет. Дата чётка должна в файле сидеть и не вылазить наружу за его границы. Сам формат дюже наворочен если в него входить в полный рост. Эт вы не видели файлов ваф от соньки, есть какой-то редактор у них, там реал сам чёрт ногу сломает, там и курсоры у них в вафе, и петли лупы и чего только нет, мрак одинм словом.
|
|
Дата: 20 Окт 2011 03:11:20
#
Mesh
Эт вы не видели файлов ваф от соньки
Adobe теперь тоже не хуже умеет делать. Я всю ночь потратил, не мог понять, в чем дело, пока файл в блокноте не открыл, а там больше половины - текст :))
|
|
Дата: 20 Окт 2011 15:00:25 · Поправил: Programmist (21 Окт 2011 10:36:40)
#
Красота - в простоте :) Осциллограф выбросил, сейчас читает почти все файлы. Поддерживает от одного до 16-ти каналов в одном wav (можно сделать до 65535). Сама программа теперь здесь: http://www.radioscanner.ru/files/recording/file12527/
Увеличить
На Warning, при чтении файлов, созданных в SA, можно не обращать внимания, это еще не Error. Проблема с плавающей точкой, к сожалению, осталась и некоторые интересные файлы выдают NAN. |
|
Дата: 21 Окт 2011 02:12:49 · Поправил: Sinus (21 Окт 2011 13:57:08)
#
Programmist, отлично, все упоминавшиеся примеры теперь Вашей программой читаются! Даже тот феррит-вав прочитался (на нём я облажался: оказывается, он у меня первый раз был скачан с ошибкой, на ~100 кб короче чем надо. При этом маткад давал смешное сообщение о нехватке памяти. Теперь всё нормально.)
О шумах звуковой карты: слабо верится, что искусственный дитер имеет вид периодического сигнала, да к тому же с частотой электросети, 50 Гц :) Дитер должен быть псевдослучайным сигналом. Раз при записи того файла (Saffire_Pro_40.wav) входы были открыты, они могли ловить наводку. Мож, следует записать ещё пару подобных файлов, типа поднося ко входам руку или, наоборот, экранируя их чем-нибудь заземлённым. Т.е. надо каким-то образом посмотреть, зависит ли амплитуда этой 50-герцовой помехи от внешней обстановки, или эти 50 Гц идут изнутри девайса...
|
|
Дата: 21 Окт 2011 10:20:51 · Поправил: Programmist (22 Окт 2011 04:04:37)
#
Кое-что добавилось в программе, можно создавать файлы любого формата с числом каналов до 16-ти. Исправлены старые ошибки (новые добавлены), так что выбрасывать первую версию еще рано.
Встроенный генератор демонстрационный, смешных 32х битных файлов с его помощью можно сделать много:
Увеличить
Самое интересное происходит с float амплитудой, при чтении ее в различных редакторах.
Audition эти файлы понимает, но играют только два канала. Дело осталось за малым - научить карту правильно эти файлы воспроизводить. Потом можно выбросить компилятор в корзину и будет мне счастье :)
Из нечитаемых файлов, кладу свой "любимый" дельта импульс, с которого весь бардак и начался: http://www.radioscanner.ru/uploader/2011/nan_impulse.wav
Что там случилось с данными - ума не приложу.
Sinus
О шумах звуковой карты: слабо верится, что искусственный дитер имеет вид периодического сигнала
Понять сложно, при каждом включении карты, картина разная. Могут складываться несколько сигналов, когда 8 АЦП на двух выходах сидят. Блок питания импульсный, судя по плате, с питанием возились долго. Выход нашли, поставив до стабилизаторов резисторы с надписью "HOT", имхо не самое удачное решение.
з.ы.
Чудеса преобразований:
Увеличить
Файл: http://www.radioscanner.ru/uploader/2011/strange_float.rar
Интересно, а что там на самом деле? ;)
И зачем только Adobe купил CoolEdit, рисовали бы свой Photoshop и горя не знали, не завидую я им теперь... |
|
Дата: 21 Окт 2011 13:39:39
#
Блок питания импульсный, судя по плате, с питанием возились долго. Выход нашли, поставив до стабилизаторов резисторы с надписью "HOT", имхо не самое удачное решение.
Импульсное питание победить :)) невозможно . Ставить ДО стаба резисторы - это вообще писец .
|
|
Дата: 21 Окт 2011 13:53:10
#
2 Фотограф .
Картинка очень понравилась . Расскажу вам пару анекдотов .
Попросил один любитель ламповых искажений моего знакомого фон у усилителя убрать . Тот поработал и фон задавил . Человек послушал и говорит : Верни фон назад . С фоном было приятнее .
Другой мой знакомый делал на заказ музыкантам лампач . Я пришел к нему в гости и он возился -заканчивал работу над лампачом . Подключив на выход динамик он потрогал вход рукой и говорит - готово , можно отдавать . Я спросил , а ты синус не будешь на выходе смотреть ? Что ? Синус смотреть ? Они хотят за сотню лампач , так за такие деньги пусть сами синус смотрят .
Другой мой знакомый считает себя ламповым гуру . А может быть так считает его тусовка . Анекдот заключается в том , что у гуру НЕТ в хозяйстве осциллографа ! Только тестер .
|
|
Дата: 21 Окт 2011 13:53:48 · Поправил: Programmist (21 Окт 2011 13:55:30)
#
Ставить ДО стаба резисторы - это вообще писец
Я сам о...брадовался. Блок питания бюджетный, такие во все CD-DVD шарманки пихают, а питание у ОУ +-6.9 V, вот и гасили, чем попало. Надо ТОР ставить, если влезет в 1U, там по 5-ти вольтам ток не маленький :(
|
|
Дата: 21 Окт 2011 14:08:08
#
Programmist, при случае и при желании, может быть, сделайте ещё несколько записей голого собственного шума зв. карты; может быть, с разной величиной предусиления, или в каких-то разных режимах. Тогда б я вечером с удовольствием глянул подробнее спектры, мож чего и выяснилось бы. Не обязательно публично, можем через личку на эту тему пообщаться.
AndrewV
у гуру НЕТ в хозяйстве осциллографа !
Человек не хочет расстраиваться. ;)
|
|
Дата: 21 Окт 2011 15:22:49 · Поправил: Programmist (21 Окт 2011 16:41:42)
#
Sinus
Записывать особо нечем, железка еще "сырая", софта к ней нет, а мой не доделан.
Записал стандартными методами: http://files.mail.ru/YCFIY5 (20 метров)
По идее, надо анализировать каждый канал в отдельности, через ASIO драйвера с прямым доступом, а так это непонятно что и какие преобразования проходит поток неизвестно.
Если получится реально на ней писАть и читать восьмиканальные wav-ы, это будет праздник :)
Пока большие проблемы с синхронизацией каналов.
По шумам, с таким блоком питания и парой гасящих резисторов, лучше все равно быть не может.
Увеличить
Если анализировать 32х битную матрицу в Маткаде, то на экран ее лучше не выводить, будет долго, имхо проще импортировать из текстового файла. |
|
Дата: 21 Окт 2011 17:11:21 · Поправил: Mesh (21 Окт 2011 17:28:53)
#
Programmist Чудеса преобразований: Нет никаких чудес. Чудеса в другом месте. :)
Увеличить
з.ы. И зачем только Adobe купил CoolEdit, рисовали бы свой Photoshop и горя не знали, не завидую я им теперь... Эта... може как бы с зеркала начать? А там глядишь и инженера и програмеры из Адоб не такими уж демонами покажутся. :-)
з.ы. Кое-что добавилось в программе, можно создавать файлы любого формата Не любого. Зачем так громко писать неправду? Не создать файлв mp3, не создать файл a-mu LAW, да и много чего не создать. А то что создаётся, большой вопрос правильно ли. Ведь ругая Адоб, полагаю есть увереность, вопрос откудова правда, что у самого-то всё ну просто ништяк как правильно? :) |
|
Дата: 21 Окт 2011 17:33:31
#
Надо ТОР ставить,
А есть ли смысл улучшать ? Насколько там все запущено :)?
[i]Записывать особо нечем, железка еще "сырая", софта к ней нет
А я вот почти без софта АЦП леплю :)). С аккумуляторным питанием и дискретными ОУ :)).
[i]Если получится реально на ней писАть и читать восьмиканальные wav-ы, это будет праздник :)
Пока большие проблемы с синхронизацией каналов.
А какие могут быть проблемы с синхронизацией ?
|
|
Дата: 21 Окт 2011 23:53:58 · Поправил: Programmist (22 Окт 2011 00:01:30)
#
Mesh
Не создать файлв mp3, не создать файл a-mu LAW, да и много чего не создать.
Файлов avi тоже не создать, речь пока только про wav, а кодеки писать - гиблое дело, все уже написано до нас. Гораздо проще dll прицепить.
А то что создаётся, большой вопрос правильно ли
Для этого все и делается, чтобы выяснить, где правильно и в чем ошибка, если она есть.
А там глядишь и инженера и програмеры из Адоб не такими уж демонами покажутся, когда пойму откуда там взялось зеркало, зачем оно надо, и почему в других редакторах его нету.
Не разобравшись в этом вопросе, тут дальше можно такого нафантазировать, что планета Нибиру детской шуткой покажется :)
А Adobe я ругаю за то, что Cool испортили. Что это за редактор такой, в котором сделать ни фига нельзя, хотя есть и много оч полезных вещей, одна многоканальность чего стоит. Реально можно форматы 5.1 и 7.1 посмотреть, а это уже не "звук вокруг", где семь красивых колонок нарисовано, а выхода реал четыре :)
Не завидую я им потому, что хорошо представляю, через что придется пройти, чтобы довести свою программу до ума.
AndrewV
А какие могут быть проблемы с синхронизацией ?
Если из драйвера восемь потоков вытащить, каналы, при записи, получаются с разным количеством отсчетов. За час больше секунды набегает. Не предназначена железка для этого, а сделать хочется, потому, как кажется, что победить это можно.
|
|
Дата: 22 Окт 2011 00:02:06
#
Programmist речь пока только про wav Дык и я про ваф. Ваф он как бы того, обширен до неприличных границ. А всё потому, что собсно это контейнер, куда можно положить любую дату, и когда говорят можно создавать файлы любого формата то лучше конкретно указывать каких именно. Потомучто те 4 или 6 форматов которые как вам кажется вы осилили, это оченно далеко не любой формат. :)
|
|
Дата: 22 Окт 2011 00:09:51
#
Mesh
Ваф он как бы того, обширен до неприличных границ.
Ну да, ошибочка вышла, если все подробно описывать, никаких страниц не хватит. И так сомнительно, кто все это читать будет. Чтобы здесь что-то понять, надо начинать с первой страницы :))
|
Реклама Google |
|