Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Детская площадка "Часть-1" - Звуковой изменятор )))


Детская площадка "Часть-1" - Звуковой изменятор )))

Сообщений 1 страница 16 из 16

1

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

Нужен звуковой узел, тут вполне ясная громкость источника, но нужно её ещё изменить и как-то адаптироваться в разным шумам и прочему.
Для регулировки изменения наверно проще будет использовать датчики холла, на века. (вместо переменных резисторов).

Один рычаг изменяет частоту голоса, другой создаёт эхо.

0

2

Односторонняя связь.)
Тут главная проблема с автономностью, думаю никто не тянет провода на детскую площадку (небезопасно).
Думаю подобную штуку можно реализовать полностью механически (эхо - закрученная труба, изменение голоса - всякие дребезжащие пластины внутри неё).

0

3

НУ не, механическая не то, а 5в. можно и от солнечных элементов или от механики рычагов заряжать.

Как подать голос на АЦП?

Свернутый текст

0

4

Ev3658 написал(а):

Как подать голос на АЦП?

Всё зависит от типа микрофона (электретный, динамический, с питанием или без). Можно для эксперимента взять готовую плату для дунь и не париться пока этим вопросом (иначе можно долго ковыряться в коэффициентах усиления, АРУ...).

Ev3658 написал(а):

или от механики рычагов заряжать

Отличная идея, генератор на педалях. Покрутил - поорал. :) Впрочем тогда будет проблема с возрастным использованием...

Отредактировано RDW (2020-07-21 14:36:46)

0

5

Ev3658 написал(а):

Если подойти и говорить голосом в одном место, то из другого вырывается искаженный звук

Какого типа искажения требуются?

Ev3658 написал(а):

Один рычаг изменяет частоту голоса, другой создаёт эхо.

Хватит ли ресурсов ардуины? Нужна производительность для обработки звука и ОЗУ для нескольких буферов.

Отредактировано Пётр (2020-07-21 14:53:38)

0

6

25 лет назад делал подобное на Спектруме:
на вход "микрофон" подавал звук, а с выхода "магнитофон" получал звук с эффектами.
Оные получал изменением частоты опроса входа (голос робота), подмешивал частоту на выход генерируя простейший меандр от 100 до 200 герц (прикольно звучит как из ведра).
Эхо не делал.
Скорость Бейсика Спектрума была явно ниже Ардуинки - как никак, интерпретатор.

0

7

Александр Д. написал(а):

на вход "микрофон" подавал звук, а с выхода "магнитофон" получал звук с эффектами.

Там компаратор. Однобитный звук так себе звучит. :no:  Таким звуком можно пугать непослушных детей... :D
Я думаю что речь идет о гораздо лучшем качестве звука.

Александр Д. написал(а):

Скорость Бейсика Спектрума была явно ниже Ардуинки

В спектруме было больше ОЗУ чем во многих AVR. А для обработки и хранения (для эффекта "эхо") звука нужно много ОЗУ. 2 КБ не хватит.

0

8

Пётр написал(а):

В спектруме было больше ОЗУ чем во многих AVR

Да, но производительность никакущая, впрочем и при 1 битном заполнении быстро кончалась и не хватало. :)

Пётр написал(а):

2 КБ не хватит

Можно за счет качества уменьшать требовательность к памяти (когда игрался, как раз получаются ещё доп. искажения на выходе, которые нужны, а было 3К всего доступно).

Отредактировано RDW (2020-07-22 10:00:21)

0

9

RDW написал(а):

Можно за счет качества уменьшать требовательность к памяти

Предлагаете снизить разрядность до бита как в спектруме и частоту дискретизации до 400 выборок в секунду? :no:  Знаете какой звук получится? :D Дети играться не захотят. :no:
В AVR все упирается в ОЗУ и возможно в производительность (зависит от требуемых эффектов). Нужна или внешняя память или МК с достаточным объемом встроенной. :)

0

10

AVR335: Digital Sound Recorder with AVR® and DataFlash

Features
• Digital Voice Recorder
• 8-bit Sound Recording
• 8 kHz Sampling Rate
• Sound Frequency up to 4000 Hz
• Maximum Recording Time 4 1/4 Minutes
• Very Small Board Size
• Less than 700 Bytes of Code

Introduction
This application note describes how to record, store and play back sound using any
AVR microcontroller with A/D converter, the AT45DB161B DataFlash memory and a
few extra components.

нашел эту статью на русском: http://microsin.net/programming/avr/avr … flash.html

Отредактировано Александр Д. (2020-07-22 11:49:01)

+1

11

Ну а если оцифровывать АЦП и сразу кидать в один таймер, а второй с задержкой для эха?

Если я правильно понял, то нужно ещё уменьшая и прибавлять частоту (изменять), в этом вся трудность, из-за 10 битного АЦП.

Как вариант действительно можно сделать как игрушку, которая сперва записывает, а после воспроизводит, но тут уже теряется весь смысл рычагов управления.

0

12

Ev3658 написал(а):

Ну а если оцифровывать АЦП и сразу кидать в один таймер, а второй с задержкой для эха?

Данные нужно где-то хранить. Ведь какое это эхо если оно повторяет через 0.1 секунду? Нужно минимум секунду. А еще лучше несколько повторений с интервалом в секунду каждое с уменьшающейся громкостью. Вот тогда это будет эхо.

Ev3658 написал(а):

Если я правильно понял, то нужно ещё уменьшая и прибавлять частоту (изменять), в этом вся трудность, из-за 10 битного АЦП.

В этом как раз сложности нет. На 10 битах даже музыка нормально звучит. Речь будет с нормальным качеством если использовать все 10 бит. То есть для микрофона нужен усилитель с ару.
Сложность в другом. Для нормального масштабирования звука нужны вычисления с плавающей точкой, иначе будут сильные искажения. Нужна аппаратная поддержка иначе МК не успеет масштабировать звук в реальном времени.

0

13

Ev3658 написал(а):

если оцифровывать АЦП и сразу кидать в один таймер, а второй с задержкой для эха

Как я ранее сказал, что для для большой задержки можно уменьшить количество выборок (частоту) и тем самым увеличивать время задержки. Для голоса достаточно 2К, следовательно запись надо делать в районе 4КГц, а памяти, если делать макс задержку не более 1 сек, то надо памяти в районе 4К или использовать внешнюю. На счёт 10 бит...не знаю...надо пробовать.

Ev3658 написал(а):

Если я правильно понял, то нужно ещё уменьшая и прибавлять частоту (изменять), в этом вся трудность, из-за 10 битного АЦП.

Можно тупо отдавать как есть (10 в 12) или можно попробовать про апскейлить (т.к. АЦП шустрый на 2МГц) и дотянуть до 12-бит.

Ev3658 написал(а):

игрушку, которая сперва записывает, а после воспроизводит

Для диктофона надо и правда много памяти.

0

14

RDW написал(а):

Для голоса достаточно 2К

Будет ли интересна игрушка так сильно искажающая голос?

RDW написал(а):

Можно тупо отдавать как есть (10 в 12) или можно попробовать про апскейлить (т.к. АЦП шустрый на 2МГц)

У AVR (мега328 в ардуине) АЦП медленный. 15 тысяч выборок в секунду.

0

15

Пётр написал(а):

мега328

Можно и ХМегу взять, благо Ev3658 с ней уже тесно работал. ;)

0

16

Если размышлять на тему других МК, можно взять с 192 КБ ОЗУ или вообще с метром. Но это не тема баскома. Зато много оперативки с возможностью подключить внешнюю на несколько десятков метров (можно сотню, но статическая память дорогая) чтобы было где хранить данные для эха и обработки звука.

Отредактировано Пётр (2020-07-27 10:20:03)

0


Вы здесь » Программирование ATMEL в BASCOM. » Световые эффекты » Детская площадка "Часть-1" - Звуковой изменятор )))