На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование звука"
0) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с записью, обработкой, воспроизведением звука. Перед созданием темы подумайте, не будет ли она уместнее в разделах Разработка и тестирование программ, Наши исходники, а особенно Разовые заказы и подработки
1) На Раздел распространяются все Правила форума.Огромная просьба с ними внимательно ознакомиться.
2) Запрещается давать бессмысленные ответы вроде: "Снеси Мастдай", "ХП рулит", "Поставь Линукс" и т.д.
3) Запрещается создавать темы, в которых Вы намереваетесь получить ссылку на кряки, серийники и т.п. Также запрещено любое обсуждение p2p (peer-to-peer) сетей (BitTorrent, eDonkey и т.д.).
4) Реклама всякого рода пресекается беспощадно.
5) Используйте тэг [CODE] для выделения кода программы (непременно с указанием языка программирования - выбрать из списка. В противном случае бессмысленно!). Уважайте тех, кто будет читать ваш код!
6) Если решение вашей проблемы найдено, то не забываем помечать тему специальной функцией "Вопрос решён". Вам всего лишь требуется при написании последнего ответа поставить одну единственную галочку прямо над формой ответа.
7) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе

8) Если не прикрепляются/не скачиваются файлы, читаем Не прикрепляется / не скачивается файл. Любые обсуждения в данном разделе проблем с приложением файлов считаются оффтопиком! Со всеми вытекающими.

9) NEW! Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно. Попытки накрутки количества тематических сообщений за счёт поднятия древних неактуальных тем ("некрофилия") будут наказываться по велению левой пятки модераторского состава (см. пп.12, 13 Правил)



Нарушение Правил может повлечь наказание со стороны модераторов.



user posted imageFAQ Раздела user posted imageПоиск в Разделе user posted imageMSDN Library Online | Ваше мнение о модераторах: user posted imageBarazuk user posted imageRikkie
  
> Собственный алгоритм сжатия звука , Хочу начать пользоваться контроллерами
    Как мне показалось это относительно просто... Например имеем ацп и порт вывода или подключеную память и некоторое количество производительности,
    какой контроллер выбрать атмега13 или 15 подойдет для начала? И какая нужна производительность для обработки стандартного звука 44*16
    цена критична
      Если критична цена, то лучше посмотреть в сторону ARM Cortex, у них цена с меньше долллара начинается.
      Плюс звук 44*16 подразумевает 16-битный АЦП. В контроллерах такое встречается очень редко. Лучше поставить внешний.
      Производительность - ну, от сжатия зависит. ADPCM и Мега вытянет, а с mp3 может и АРМ не справиться.
        ок, тогда начнем с простого, вычислить средний уровень и скажем определить синус/треугольник/прямоугольник/пила, частоту (чисто условно)
        таки attiny13 или 15 подойдет? они вроде из самых дешевых
        добавлю, есть минимальное знание c++ асм меня всегда пугал, поэтому ни бум бум и есть друг ведущий кодер интернет байды какой то
        Сообщение отредактировано: Romzecs -
          Забейте на AVR. Это устаревший, дорогой контроллер без кучи необходимой периферии.
          ATTiny плохи еще и тем, что в них нет железного умножения, деления, т.е. какая-то мало-мальски сложная математика съедает всю производительность.
          Ну и для звука в 44К/16бит AVR не подойдет в принципе: максимальная скорострельность встроенного АЦП - 125Квыборок/с, на два канала получаем грубо 70. Т.е. про усреднение можете забыть. При том, что 10 бит для него - технический предел.

          На AVR вполне можно сделать простенький диктофон, который пишет неупакованный PCM на SD-карту. На большее его не хватит.

          Берите сразу ARM. Те же STM32 на Cortex M3. Там и математика нормальная, и пишется под него сильно быстрее, и дебаг на борту есть, и мощи 32-битной хоть отбавляй. При цене дешевле дешевых AVRок.
            очень хорошо, наверно приобрету такую конфетку, только вот мне для начала желательно dip8 или около того, печатку влом делать, максимум макетку куплю
            и хочется все таки вникнуть а не тупо что то куда то залить а дальше пущай считает

            Добавлено
            http://www.dx.com/ru/p/vs1003b-stm32-micro...87#.U6v1kUAnimw
            о как и всего 350р
              купил attiny13a единственное на что денег хватило :D собрал пару простых схем, пока работает, будем осваивать
                Ну звук на ATTiny13 без доп. обвязки не получится, а вот какую-нибудь полезную схемку для дома - управление светом там, или аквариумная кормушка - вполне получится :)
                  ну скажем так звук будет не сразу и не вдруг, это я понимаю, а что то связанное с ацпом, да хоть вольтметр, думаю можно сваять, а там посмотрим и камень поприличнее подберу и с новыми знаниями к новым свершениям
                  Сообщение отредактировано: Romzecs -
                    Да и цап примитивный собрать можно, гуглить "ЦАП на резисторах". 4-битный вполне можно :)
                      Для ЦАП там кстати и ШИМ выходы есть, 8-битные, аж 2 штуки :)
                      Мегафон цифровой или там примитивный электромузыкальный инструмент можно сообразить, если хочется поизвращаться.
                        я пока пытаюсь читать учебник, попутно поглядывая примеры использования :D
                          Быстрый старт - курс AVR123, легко находится поиском.
                              RC-фильтр, конечно, спасает отца русской демократии, но гнать через него аудио от ШИМ-выхода - будет "ужас, летящий на крыльях ночи", по качеству звук от 4-битного ЦАП "на резисторах" будет на порядок лучше.
                                ...ну, а от 8-ми битного R2R ЦАПа на порядок лучше 4-х битного, не придирайтесь, вопрос не в качестве звука был.
                                  Kosha
                                  А можно поинтересоваться почему это вдруг 4-битный ЦАП "на резисторах" будет на порядок лучше чем 8-битный ШИМ при той же частоте квантования?
                                  К ЦАПу на резисторах нужен ещё усилитель, а ШИМ сам себе уже усилитель класса Д, т.е. для небольшой мощности вообще ни одной лишней детали и меньше ног занято у МК. А для большей мощности нужно ещё только 2 ключа на полевиках.
                                    Grumike, ну в основном по практическому опыту. Звук от ЦАПа на резисторах похож на хреновую китайскую игрушку-погремушку, звук от ШИМ - на пиление болгаркой. "Имперский марш" в исполнении дисковода слышали? Вот примерно такой звук будет :)

                                    Предполагаю, что проблема в том, что RC-фильтр, который у вас сглаживает ШИМ, имеет сильно разную частотную характеристику для разной частоты и ШИМ, и полезного сигнала. А нелинейность ЦАПа "на резисторах" очень небольшая.

                                    По усилителям - это вопрос, что мы прокачиваем. Если высокоомные маленькие наушники - в обоих случаях и так заработают, прямо от порта. Если же мощный сабвуфер - усилитель нужен будет в любом случае.

                                    К 4-проводному ЦАПу на резисторах нужен всего-то операционный усилитель на выходе ЦАПа, или транзисторный повторитель, или оба каскадом. Одна или две детали. К ШИМ-выходу, после RC-фильтра, тоже нужен усилитель в таком же виде. Напрямую мощный динамик прокачать не сможет ни один, ни другой.

                                    Если же ШИМом качать полевики, получив "мощный ШИМ", а уже затем сглаживать сигнал RC-цепочкой, то и R нужен будет ватт на 5, и C с бутылку Колы размером. Ну и в принципе, аналоговую часть обычно усиливают уже после того, как она стала аналоговой.
                                      Kosha, возможно я Вас удивлю, но в мобилках давно уже применяются усилители класса Д, в т.ч. и с цифровым входом - не всё так плохо в этом мире :)
                                      И да, я про RC фильтры вообще не говорил, для наушника/динамика это не нужно.
                                        Grumike, если мы говорим об интегральных кодеках - то они на входе не то что цифру, а даже сжатую в MP3 цифру вполне съедят. И дешифруют 16-20-битными ЦАПами, и усилят, и сабвуфер прокачают. Но здесь речь про ШИМ-выход :)

                                        Без сглаживающего RC-фильтра, если ШИМ напрямую врубить в наушник, звук будет совсем как от болгарки :))
                                          Цитата Kosha @
                                          Без сглаживающего RC-фильтра, если ШИМ напрямую врубить в наушник, звук будет совсем как от болгарки

                                          Откуда такая уверенность? Если несущая частота ШИМ выше звуковой, то никаких проблем с качеством не будет. Все эти фильтры на ШИМ нужны не для повышения качества, а для того, чтобы:
                                          А. Не расходовать лишнюю мощность усилителя на активную нагрузку.
                                          Б. Не греть зря динамики, особенно актуально для ВЧ динамиков (пищалок).
                                          В. Не излучать в эфир помеху.
                                            Цитата Mikle @
                                            Откуда такая уверенность? Если несущая частота ШИМ выше звуковой, то никаких проблем с качеством не будет.

                                            Уверенность - от личного опыта экспериментов. Частота ШИМ была значительно выше звуковой полосы (как помню - около сотни килогерц), но вот фазы этого ШИМа дают такие гармоники, что звук становится как от болгарки. У AVR есть "Phase-correct" 16-битный ШИМ, но его частота очень низкая.


                                            Цитата Mikle @
                                            А. Не расходовать лишнюю мощность усилителя на активную нагрузку.

                                            Если фильтр стоит до силового транзистора - расходуем ее на адский нагрев транзистора. Если после - на нагрев самого фильтра.

                                            Цитата
                                            Б. Не греть зря динамики, особенно актуально для ВЧ динамиков (пищалок).

                                            Не совсем понимаю, как это должно работать. Нагрев - квадратичная функция от действия тока. Если средний ток в обоих случаях одинаковый - нагрев будет идентичным. Однако, большой пиковый ток вполне может порвать катушку из тонкого провода.

                                            Цитата
                                            В. Не излучать в эфир помеху.

                                            Тоже спорно и сильно зависит от конкретного исполнения.
                                              Цитата Kosha @
                                              Если фильтр стоит до силового транзистора - расходуем ее на адский нагрев транзистора. Если после - на нагрев самого фильтра.
                                              Что-то ты перепутал. Наоборот, если фильтр стоит до усилителя, то ВЧ гармоники гасятся в фильтре и греют его, но не так уж сильно - мощность пока малая. Если фильтр поставить после усилителя, то во-первых усилитель будет пытаться усиливать и и эту частоту несущей ШИМ, а во-вторых, то что усилитель сможет усилить будет поглощаться в фильтре.
                                              Так что фильтровать выгоднее на входе в усилитель или в первых каскадах самого усилителя, пока мощность сигнала не возросла.

                                              Добавлено
                                              Надо правда сказать, что сам фильтр тоже немного шумит, в том числе в слышимом диапазоне, и этот шум будет усиливаться вместе с полезным сигналом.
                                                Если транзистор усиливает сам ШИМ на мощную нагрузку (фильтр перед динамиками) - он работает в ключевом режиме и почти не греется.
                                                Но через фильтр прокачивается приличная мощность и размер и нагрев фильтра будут ощутимыми.

                                                Если мы поставим фильтр до транзистора - фильтр будет с ноготок, но получим транзистор, работающий в линейном режиме на мощную нагрузку и из-за этого сам транзистор будет адски греться.

                                                Цитата amk @
                                                Надо правда сказать, что сам фильтр тоже немного шумит, в том числе в слышимом диапазоне, и этот шум будет усиливаться вместе с полезным сигналом.

                                                Не могу сказать, что у меня музыкальный слух, но я ни разу не слышал ушами и не видел на осциллографе шумов RC-фильтра.
                                                  Гляжу народ без меня не скучает:) по причине отсутствия наличия все откладывается на неопределенный срок, пока почитаю 123
                                                    до чего же я ленивый... Atmega8 купил и atmega 16 купил, а печатку месяц как сделать не могу *рукалицо*
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script execution time: 0,0578 ]   [ 16 queries used ]   [ Generated: 27.04.24, 04:25 GMT ]