Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
21.08.2008, 22:06
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Необходима помощь в решении проблемы с выдачей звука
Обращаюсь к вам со следующим вопросом.
Делаю программу реализации звука в микроконтроллере. По ремомендованным ссылкам разных товарищей нашел программу, которая удовлетворяет моим запросам. Но есть некоторые нюансы.
Высылаю две папки. В одной из них - файлы с более-менее хорошим звучанием. Во второй - со значительно худшим. (Все графы со звучанием прилагаются). Та программа,которая лучше, нашел в интернете. Которая похуже, делал сам (использовал компилятор ССS-PICC) на основании имеющейся. Вроде бы все правильно передрал. (Ведь принцип один и тот же - читай байты бит за битом и выдавай на ножки). Все времянки по нижнему графику и хорошей и в плохой программе практически совпадает. Практически потому, что одна-две микросекунды гуляют в обоих программах. Но возможго я что-то не учитываю и отсюда такие разные результаты. Кто сможет, поправьте меня или подскажите, что не так.
Заранее благодарен.
Прикрепленный файл: 3575096.rar
|
|
|
|
22.08.2008, 00:13
|
|
Прохожий
Регистрация: 03.07.2008
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Почти в тему
делал звук на LPC2148 по апноуту AN_10583 с сайта NXP. Воспроизводит MP3 моно с SD карточки с хорошим качеством.
|
|
|
Сказали "Спасибо" NXP2008
|
|
|
22.08.2008, 00:24
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
К сожалению, работаю с PIC-микроконтроллерами.
|
|
|
|
22.08.2008, 00:39
|
|
Прописка
Регистрация: 27.11.2004
Сообщений: 175
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
в свое время тупо передернул с асм пикового (со старого романблак.ком) на псевдо БаскомАВР, все работало как обещалось - чем выше частота дискретизации - тем лучше, значения в программе-энкодере выбирал максимальные, исходники и пр. где-то здесь выкладывал, на ССS'ном форуме, наверное, пиксаунд тоже должен быть, ятд.
ред.(чего-то сишных исходников там не нашел так сразу, но на циркуитцелларе.ком, помнится, был прожект по теме на си для авр, правда)
Сравнивать 8-битные 5-мипсовый пик или долларовую 20-мипсовую тиньку с армом не кошерно.
Звук не очень, конечно, но когда первый раз заиграло, радовался, как Эдисон или Попов с Маркони, тем более, что через пипирочный динамик и к-н лм386 лучше не будет.
|
|
|
Сказали "Спасибо" pomidor
|
|
|
22.08.2008, 00:59
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Именно, Ваш файл с исходниками на асме и бэскоме я и скачал. Их же в своем посте (плюс то, что сам попытался переделать под ССS) я и выложил. (Там все звуки есть). Но, если, с программой, написанной на асме, звук сойдет, то в моей переделанной программе это выглядит хуже. Я и хочу разобрать, почему это так.
|
|
|
|
22.08.2008, 02:04
|
|
Прописка
Регистрация: 27.11.2004
Сообщений: 175
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
Чего-то я ни в Bad, ни в Good образцов звука не вижу.
Может дело в фильтре перед усилителем или в качестве кодировки вав-файла, попробуйте просто, как я, передрать асм в псевдо си, может получится.
Если что, мой сампл был захвачен звуковой карточкой напрямую с мк после фильтра, те, без усилителя и динамика, может здесь собака порылась.
Может спецы по си, что-нить скажут
Баскомовский на всякий случай AN #165 - RC2 sound / Voice playback
http://www.mcselec.com/index.php?opt...=234&Itemid=57
ссылки на циркуитцелларовские исходники (для енкодера и сишные 8051) там есть, статейку могу закинуть
|
|
|
Сказали "Спасибо" pomidor
|
|
|
22.08.2008, 03:32
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Спасибо за ссылку.
Чтобы прослушать звук, просто в проекте протеуса нажми пробел.
А на поддержку спецов по Си и надеюсь
|
|
|
|
22.08.2008, 10:19
|
|
Прописка
Регистрация: 27.11.2004
Сообщений: 175
Сказал спасибо: 0
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
|
в завалявшемся моем кривом протеусе симуляция не пошла (вместе со всеми примерами тоже) :(
|
|
|
Сказали "Спасибо" pomidor
|
|
|
24.08.2008, 16:09
|
|
Прохожий
Регистрация: 24.08.2008
Сообщений: 3
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Я бы предложил переместить
rotate_right(&byteOfSound,1);
с 31-ой линии на 42-ю, а то как-то странно пролучается
нулевой бит проигрывается после всех остальных (если сдвиг делается с переносом) или не проигрывается вообще.
|
|
|
Сказали "Спасибо" sbulgak
|
|
|
25.08.2008, 01:21
|
|
Прописка
Регистрация: 04.08.2006
Сообщений: 139
Сказал спасибо: 12
Сказали Спасибо 12 раз(а) в 11 сообщении(ях)
|
Спасибо, что нашли ошибку. Но это существенно качество звучания не улучшило. Я бы сказал, что разница вообще не изменилась. А вот между тем, который был в аттаче - значительная. Может быть Вы посмотрите еще и ассемблеровский файл и сравните с моим. Ну НЕ ДОЛЖНО быть такой существенной разницы если алгоритм считывания один и тот же. Поэтому, где-то подозреваю у меня в программе что-то не так. Прослушайте оба файла. Услышите разницу - она чувствуется.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:44.
|
|