Wave File Generator

Планы, идеология, архитектура и т.п.

Модератор: Модераторы

Wave File Generator

Сообщение Maxizar » 15.02.2011 17:52:10

Wave File Generator - программа для генерации, wav файла, с чистым sin/cos сигналом.
Программа позволяет генерировать файлы зависимости от:
- числа каналов: от 1 до 6 (Audio 5.1)
- частоты дискретизации: 8000, 11025, 16000, 22050, 32000, 44100, 48000, 96000, 192000 Hz.
- битрейта (число бит на сэмпл): 8,16,24,32.
- Амплитуды каждого канала (задается свободно) от 0, до максимального значения при данном битрейте.
- времени звучания файла: min 1 sec. Max 60 sec. Шаг 1 секунда.
- частоты самого сигнала( свободно для каждого канала) мин 0 макс 22KHz.
- фазы сигнала по каждому каналу (в градусах) от 0 до 360.
Два вида wav заголовка файла (простой и расширенный см спецификацию).

Замечания: сигнал генерируется по Cos. Чтобы использовать sin измените фазу на 270град.

Скрин:
Изображение

Исходник:
Для компилирования, вам будет необходимо установить компонент imagebutton его исходники находятся в папке Components.

Ссылка на архив с исходниками: залито в DropBox
Wave File Generator ver 1.1
Последний раз редактировалось Maxizar 30.05.2013 22:10:04, всего редактировалось 1 раз.
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Wave File Generator

Сообщение minoshi » 16.02.2011 10:01:47

не посчитайте за стёб, мне правда интересно, а для чего нужно генерировать wav - файл ? Ведь это же не запись с микрофона, я правильно понял?
Аватара пользователя
minoshi
постоялец
 
Сообщения: 279
Зарегистрирован: 17.05.2008 21:23:38

Re: Wave File Generator

Сообщение Maxizar » 16.02.2011 10:52:19

:D Да я понимаю ваш сарказм…
Ответ: программа версии 1.0 имела возможность генерировать только cos сигнал и только для 8, 16 бит. Писалась по просьбе человека, которому нужна была такая программа для генерации таких файлов. Которые в свою очередь использовались для настройки микроконтроллеров (для работы со звуком), для тестирования как раз и надо было wav файл идеальной формы, чтобы понять правильно ли функционирует прибор. Ну типа так.. я с микроконтроллерами ни разу не работал, так что как то так.

Версия 1.1 ну тут я просто ее сделал более универсальной, и выложил больше в познавательных целях. Вы думаете я надеялся, что вы кинетесь ее использовать и все такое??
Я хоть и не умен, но я не идиот.
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Wave File Generator

Сообщение ev » 16.02.2011 16:55:23

мне правда интересно, а для чего нужно генерировать wav - файл ?

иногда очень полезно иметь запись разных эталонных сигналов для настройки или диагностики оборудования
насколько точно звуковая карта выдаст сигнал - интересный вопрос
ev
долгожитель
 
Сообщения: 1731
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Re: Wave File Generator

Сообщение hinst » 16.02.2011 20:14:45

У меня обычно аллергия на пересборку лазаруса, даже под виндой. Однако, как не странно, сегодня она никак себя не проявила, и на второй перезапуск после сборки всё запахало нормально. Собралось и даже запустилось.
:idea: Автор: первое, что бросилось в глаза: PCMWaveFile: отступы где-то два пробела, а где-то четыре. Непорядок. Имхо отступы везде должны быть одинаковые.
:idea: Потом, почему названия юнитам оставил стандартные Unit1 и Unit2? тоже неайс. Но для небольших прог некритично.
Но то, что Form1, ButtonPanel1 и CheckBox1 - это вообще никуда не годится. У компонент должны быть нормальные имена.
:idea: Далее: компонент imagebutton: оч. хорошо, что он отдельным пакетом, но почему я вижу там штуки типа message CM_MOUSEENTER? Очень хотелось бы знать, влияют ли они на кроссплатформенность компонента
:idea: FormChanels1, FormChanels2, FormChanels3, FormChanels4, FormChanels5, FormChanels6 - почему не массивом?
Код, который собственно заносит сами данные о звуке в файл так и не нашёл
А вообще всё так очень мило, даже комментарии местами есть
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 782
Зарегистрирован: 12.04.2008 18:32:38

Re: Wave File Generator

Сообщение Maxizar » 16.02.2011 20:48:51

hinst писал(а):отступы где-то два пробела, а где-то четыре

Да для записей 4, должно быть 2, ну бывает :oops:, что касается классов, то там я всегда отделяю (public,...) от класса на 2 пробела и внутринности еще на 2... Извините, это мой стиль, И он вам просто не нравится делов то.

hinst писал(а):Form1, ButtonPanel1 и CheckBox1 - это вообще никуда не годится.

Не ну вы серьезно?.. их там 4 штуки.. Да для больших программ, это была бы беда.. но тут.

hinst писал(а):Далее: компонент imagebutton: оч. хорошо, что он отдельным пакетом, но почему я вижу там штуки типа message CM_MOUSEENTER? Очень хотелось бы знать, влияют ли они на кроссплатформенность компонента

А где вы были, когда я его предлогал в разделе компоненты.. никто даже не отписался, С линуксом, никак не могу подружися... так что простите, не могу проверить.
Я пишу под Win, и там все работает, а в линуксе... ну хз.
hinst писал(а):FormChanels1, FormChanels2, FormChanels3, FormChanels4, FormChanels5, FormChanels6 - почему не массивом?

Изночально было 2 канала, это уже потом я решил расширить возможность, и переписывать для красоты кода... да ладно Вам...
hinst писал(а):Код, который собственно заносит сами данные о звуке в файл так и не нашёл

Эээ... Вы серьезно? Класс TPCMWaveFile - имеет 5 методов (2 из которых конструктор и деструктор) итого:
GetChannelMask- вернет маску каналов (см специйикацию wav файла);
GenerateData - генерирует сэмплы в зависимости от канала данных.
SaveToFile - Ну тут, я даже не знаю как и сказать, даже если перевести - это метод для (Сохранить в файл) наверное он и записывает данные в wav файл.

hinst писал(а):даже комментарии местами есть

Их даже черезчур много, поверте, это потому что писал для себя. Некоторые функции даже комментировать не надо их название говорит само за себя, скажем GetChannelMask - вернуть маску каналов. (см спецификацию).
SaveToFile - Без комментариев.
GenerateData - генерировать data для wav....
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Wave File Generator

Сообщение hinst » 16.02.2011 21:28:57

Maxizar, да вы не так поняли. У меня это типа положительный отзыв :D . Просто хотел указать на то, что показалось стрёмным с первого взгляда, чтобы вам оно оказалось хоть как-то полезно. Ессно за небольшое время оценить больше, чем то, как выглядит код, невозможно.
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 782
Зарегистрирован: 12.04.2008 18:32:38

Re: Wave File Generator

Сообщение cpv » 29.05.2013 22:30:20

Maxizar писал(а):Wave File Generator
Ссылка на архив с исходниками: залито на Deposit, (залил.ру не работал, для вложения слишком большой)
[b]Wave File Generator ver 1.1

Если можно, то выложите исходники Wave File Generator ver 1.1 ещё раз.
На Deposit уже нету этого исходника.
cpv
незнакомец
 
Сообщения: 2
Зарегистрирован: 25.05.2012 02:56:39

Re: Wave File Generator

Сообщение Maxizar » 30.05.2013 22:12:44

Перезалил в DropBox смотри топ поста.

PS. тут публичная папка с моими проектами на Free Pascal
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14

Re: Wave File Generator

Сообщение cpv » 31.05.2013 10:16:37

Maxizar писал(а):Перезалил в DropBox смотри топ поста.

PS. тут публичная папка с моими проектами на Free Pascal


Большое спасибо.

А, Вы, файл "4096Sampls_10KHz_32000.txt" в проекте FFT
формировали тоже программой wavGenerator_ver1.1, или
модификацией этой программы?
cpv
незнакомец
 
Сообщения: 2
Зарегистрирован: 25.05.2012 02:56:39

Re: Wave File Generator

Сообщение Maxizar » 31.05.2013 12:29:36

А, Вы, файл "4096Sampls_10KHz_32000.txt" в проекте FFT
формировали тоже программой wavGenerator_ver1.1, или
модификацией этой программы?


Ну возможно версией 1.0, в 1.1 вроде появилась многокональность.
Maxizar
постоялец
 
Сообщения: 385
Зарегистрирован: 20.03.2010 19:48:14


Вернуться в Разработки на нашем сайте

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru