Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
звук
Отправлено
Shmidt
17 января 2008 г. 13:17
Помогите! мне нужно узнать как запрограммировать звук в каком либо устройстве, также необходим програмный код
Составить ответ
|
Вернуться на конференцию
Ответы
А теперь - помогаю. Хотя, полагаю, не поможет :(( -->
—
=AVR=
(17.01.2008 14:22:23
80.92.96.19
,
пустое
,
ссылка
)
я пытался разобратся до конца и не понял... хоть началь. муз. образ. надо....
—
M@RS
(17.01.2008 14:32:10
62.80.161.116
,
пустое
)
нота "ЛЯ" первой октавы (n=0) = 440 Гц, все остальные ноты определяются (+):
—
argus98
(17.01.2008 15:09:36
81.22.205.230
, 218 байт)
Не обязательно. Достаточно иметь таблицу пересчета нот в частоту, сформировать огибающую звучащей ноты, и перевести ноты мелодии в генерацию последовательности соответствующих частот с нужными длительностями
—
=AVR=
(17.01.2008 14:38:30
80.92.96.19
,
пустое
)
во я так понял огибающая представляет собой затухающую експоненту....А наск...{+}
—
M@RS
(17.01.2008 15:03:56
62.80.161.116
, 263 байт)
зависит от имитируемого инструмента, у органа, например, затухания нет. (+):
—
argus98
(17.01.2008 15:17:16
81.22.205.230
, 349 байт)
Спасибо за инфу.. музыка это не ногами мк дрыгать... %-)
—
M@RS
(17.01.2008 15:19:43
62.80.161.116
,
пустое
)
У каждого инструмента своя огибающая, и порой весьма сложная. Ее форма еще зависит и от высоты тона (взятой ноты), и от кучи разных факторов. Экспонента - самая примитивная огибающая
—
=AVR=
(17.01.2008 15:11:39
80.92.96.19
,
пустое
)
Не совсем затухающая экспонента. Сначала возрастающая экспонента, "attack", потом затухающая, "release", потом удержание (если надо). Точные данные о скоростях затуханий и длительностей этапов для разных струментов можно выдрать из DLS-файла (он в винде лежит, в виндовс/систем32/дриверс/gm.dls) каким-нить редактором для них.
—
SM
(17.01.2008 15:11:14
80.92.255.53
,
пустое
)
честно этого не знал.... думал просто передеру код ,доблю програмное I2C (У...{+}(+)
—
M@RS
(17.01.2008 15:17:27
62.80.161.116
, 290 байт)
хороший звук (например колокол) синтезировать не так просто, лучше оцифровать готовый (правда памяти потребуется поболее)
—
argus98
(17.01.2008 15:21:49
81.22.205.230
,
пустое
)
Мне принципе надо всего 92 звука. Понятно что полифония человеком запоминае...{+}
—
M@RS
(17.01.2008 15:30:39
62.80.161.116
, 189 байт)
так wavetable синтез и подразумевает передискретизацию заранее оцифрованного.
—
SM
(17.01.2008 15:23:15
80.92.255.53
,
пустое
)
wavetable, по моему мнению, с большой натяжкой можно назвать синтезом. Чистый синтез - это все-таки с генераторами. Хотя... вопрос терминологии...
—
argus98
(17.01.2008 15:38:12
81.22.205.230
,
пустое
)
насчет терминологии к оригиналу. А не ко мне. =>
—
SM
(17.01.2008 15:40:56
80.92.255.53
,
пустое
,
ссылка
)
Есть много плееров, типа timidity, открытых. Там все есть. Могу сказать, что мне удалось всего 6-голосный синтез сделать на моем однотактном расширенном 51-ом на 8 МГц тактовой, на асме и со всеми аццкими оптимизациями и извращениями.
—
SM
(17.01.2008 15:21:25
80.92.255.53
,
пустое
)
И в догонку, по ссылке есть подробно о том, как правильно формировать огибающие, и т.п.
—
SM
(17.01.2008 14:44:34
80.92.255.53
,
пустое
,
ссылка
)
Элементарно - всего одна команда на ассемблере - "Жучка, голос!" :))
—
=AVR=
(17.01.2008 13:46:45
80.92.96.19
,
пустое
)
Нифига, две: LDI R17,голос; OUT жучка, R17 :))
—
argus98
(17.01.2008 14:04:36
81.22.205.230
,
пустое
)
А у меня макрос :))
—
=AVR=
(17.01.2008 14:06:8
80.92.96.19
,
пустое
)
Эх, если бы хоть один современный асм для avr мог то, что мог MACRO-11, то у меня был бы один макрос (+)
—
ReAl
(17.01.2008 15:03:9
193.111.248.46
, 192 байт)
дык GNU AS.
—
SM
(17.01.2008 15:22:34
80.92.255.53
,
пустое
)
Патчить? Что-то я не нашёл у него определения типа аргумента, да и невозможно оно при поддержке родной атмеловской системы команд константа от адреса памяти отличаются на символом #/@/..., а тем, какая команда использована.
—
ReAl
(17.01.2008 15:29:25
193.111.248.46
,
пустое
)
А какая разница, отличать по команде, или по закорючкам #@ ?
—
AlexD
(17.01.2008 16:10:17
193.200.21.5
,
пустое
)
Пока не начинаешь писать сложные макросы с оптимальным кодом не важно. Вот ПОДАЙ жучка, голос (+)
—
ReAl
(17.01.2008 16:47:34
193.111.248.46
, 1564 байт)
Можно посимвольно парсить аргумент, конечно, и подобавлять своих #/@ , но форма аргумента в макросе и в обычной команде отличаться будут - неудобно.
—
ReAl
(17.01.2008 15:38:47
193.111.248.46
,
пустое
)
так если макрос это НОВАЯ команда, то и правила различения адресаций у нее новая должна быть
—
SM
(17.01.2008 15:42:50
80.92.255.53
,
пустое
)
Ну как новая... mov... В том же макро-11, помнится, можно было сделать макрос с именем существующей команды, а потом внутри использовать таки существующую команду. Можно как новую mv написать, но потом стараться без описок :-)
—
ReAl
(17.01.2008 16:49:52
193.111.248.46
,
пустое
)
А где-то была команда .macfirst (не помню где), которая заведовала - кто главнее - макрос или комнада одноименная.
—
SM
(17.01.2008 17:31:14
80.92.255.53
,
пустое
)
Ответ:Никуясепе )&-( ) ....Чё в натуре ? Писец
—
Никуясепе
(17.01.2008 18:05:15
217.118.66.30
,
пустое
)
Мало того, под # - символ константы - можно было поставить мнемонику команды и таким образом получить код команды с нулевыми битами метода адресации и регистра и дальше арифметикой подставить номер регистра и метод адресации и породить нужную команду. Иногда очень красиво виходило "насамоммодифицироваться" в брезенхемах всяких и т.п.
—
ReAl
(17.01.2008 18:53:30
193.111.248.46
, 308 байт)
А в качестве параметра можно было передавать макрос?
—
Никуясепе
(17.01.2008 19:04:1
217.118.66.30
,
пустое
)
Ответ: А символьную строку в качестве параметра (+)
—
Никуясепе
(17.01.2008 19:13:58
217.118.66.30
, 366 байт)
Тю, да какая разница что за строку передавать - имя регистра или имя команды. Это все могут. И макрос для генерации однотипных макросов или генерация таких макросов в блоке .irp - тоже не только в MACRO-11 пользовался.
—
ReAl
(17.01.2008 19:43:35
193.111.248.46
,
пустое
)
Ответ: А чё щас компиляторы-писатели пишут такие отстойные АСМ-ы?
—
Никуясепе
(17.01.2008 18:07:13
217.118.66.30
,
пустое
)
Ответ: Пардон..Не "компиляторы-писатели", а "компиляторО-пис...{+}
—
Никуясепе
(17.01.2008 18:08:21
217.118.66.30
, 150 байт)
Понимаете, Ватсон, ой, ну не важно, если даже светило современного компиляторописания не слышала о таких возможностях, то куда всяким атмелам?
—
ReAl
(17.01.2008 18:55:30
193.111.248.46
,
пустое
)
Такое время..Чайники в софтостроении создают демпинг (+)
—
Никуясепе
(17.01.2008 19:05:38
217.118.66.30
, 85 байт)
Поэтому большинство компиляторов пишут просто ЛОХИ
—
Никуясепе
(17.01.2008 19:07:9
217.118.66.30
,
пустое
)
через всякие там .irpc разбирать самому. А можно и пропатчить :) Дык если хочешь единово MOV, придется вводить эти @/#
—
SM
(17.01.2008 15:31:13
80.92.255.53
,
пустое
)
Кстати, чтобы понять всю мощь макросов GNU пришлось их парсер по исходникам разбирать, так как из документации ни х не ясно :) :)
—
SM
(17.01.2008 15:34:6
80.92.255.53
,
пустое
)
А у тебя нет желания свои изыскания описать и выложить? ;-)
—
AlexD
(17.01.2008 16:03:24
193.200.21.5
,
пустое
)
Когда добью процессор и выпущу описание на транслятор ассемблера к нему. Если до этого (описания) вообще руки дойдут.
—
SM
(17.01.2008 16:05:50
80.92.255.53
,
пустое
)
Я это делал в AS как два байта об асфальт
—
=AVR=
(17.01.2008 15:12:46
80.92.96.19
,
пустое
)
Так в AS и я делал что хотел, если мы об одном и том же старом добром AS by Alfred Arnold говорим. А вот у IAR или gas возможностей маловато.
—
ReAl
(17.01.2008 15:26:31
193.111.248.46
,
пустое
)
ничего там не маловато. Когда .altmacro включено там не хуже макро-11.
—
SM
(17.01.2008 15:29:56
80.92.255.53
,
пустое
)
Ну тогда действительно надо по исходникам смотреть :-( Так как по доке там пустота и грусть.
—
ReAl
(17.01.2008 15:39:58
193.111.248.46
,
пустое
)
там это у гнутых
—
SM
(17.01.2008 15:33:10
80.92.255.53
,
пустое
)
Ответ: Вот сцука...Какие жъ вы, евреи, все хитровыебанные
—
Никуясепе
(17.01.2008 14:40:51
217.118.66.21
,
пустое
)
Я такой же еврей, как ты - инженер :) :) :))
—
=AVR=
(17.01.2008 14:46:55
80.92.96.19
,
пустое
)
Что, точно? Неужели до 20-го колена ни-ни???
—
ReAl
(17.01.2008 18:58:47
193.111.248.46
,
пустое
)
Точно - модификатор "почти" забыл написать :))
—
=AVR=
(17.01.2008 19:07:50
80.92.96.19
,
пустое
)
Тщательнее надо быть :-)
—
ReAl
(17.01.2008 19:45:14
193.111.248.46
,
пустое
)
Ответ: Только не модификатор, а мУдификатор
—
Никуясепе
(17.01.2008 19:29:4
217.118.66.30
,
пустое
)
апнота AVR335 у Atmel
—
argus98
(17.01.2008 13:22:18
81.22.205.230
,
пустое
)
Так человеку и код надо готовый.... ех жизня пошла!
—
M@RS
(17.01.2008 13:52:36
62.80.161.116
,
пустое
)
Там и код есть... Что касается лени - с одной стороны она ускоряет прогресс, с другой - тормозит. Всё упирается в интеллект :)
—
argus98
(17.01.2008 14:01:23
81.22.205.230
,
пустое
)
Это аппннот, что вы ссылку дали, про DTMF?
—
M@RS
(17.01.2008 14:07:44
62.80.161.116
,
пустое
)
"Sound Recorder"
—
argus98
(17.01.2008 14:13:5
81.22.205.230
,
пустое
)
20 граммов пороха, лампочка от фонарика с разбитым цоколоем. На вход питания лампочки подаётся единица (через умощнитель). И будет тебе звук.
—
Крок
(17.01.2008 13:20:32
62.118.59.14
,
пустое
)
Это будет не звук, а "пук". Звук будет, если это совместить с тротиловой шашкой.
—
SM
(17.01.2008 13:51:54
80.92.255.53
,
пустое
)
требований о частоте и амплитуде не прозвучало :-(
—
Крок
(17.01.2008 14:53:56
62.118.59.14
,
пустое
)
Ответ: В детстве, когда не было китайской пиротехники, наматывали 1 виток тонкого обмоточного провода на головку спички. Безотказно.
—
Yurasvs
(17.01.2008 13:43:21
92.113.67.96
,
пустое
)
А мы в детстве без электричества.... По старинке, бикфордов шнур и его самодельные аналоги :)
—
SM
(17.01.2008 13:49:43
80.92.255.53
,
пустое
)
Ответ: Дык была задача обеспечить пиротехникой коцерт школьной рок-группы, т.е. с пульта рулить.
—
Yurasvs
(17.01.2008 14:09:14
92.113.12.218
,
пустое
)
))) "вход питания лампочки" )) а почему не "0"?
—
~ВМФ~
(17.01.2008 13:26:19
195.170.224.107
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 47:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru