Raspberry pi регулировка громкости

udvnl

Путь к настройке звука: главная страница Raspi-config п. 7 Advanced Options — A4 Audio,

Где 0,0 – номер карты и устройства в системе, с-2 – количество кналов. Слышим поочередно звук в правом левом динамике. Выход из проверки ctrl +C.

Также можем проверить воспроизведение плеером mplayer системного звука MajorDoMo:
mplayer /var/www/html/cms/sounds/dingdong.mp3

Установка USB аудиокарты:

К сожалению наш мини компьютер Raspberry не имеет своего своего встроенного микрофона и входа для него. Поэтому для подключения микрофона придется использовать внешнюю USB звуковую карту. Подключаем карту в порт USB Raspberry, и выполняем команду (которая показывает устройства звука в системе):

Видим ответ с двумя картами, bcm2835 – встроенная, внешняя определилась как USB Audio Device:
0 [ALSA ]: bcm2835alsa — bcm2835 ALSA
bcm2835 ALSA
1 [Device ]: USB-Audio — USB Audio Device
GeneralPlus USB Audio Device at usb-3f980000.usb-1.4, full speed

ОС видит нашу звуковую карту, но она ещё не прописана в системе.
Создаем файл:
sudo nano /etc/modprobe.d/alsa-base.conf

Пишем (вставляем) следующую строку:
options snd-usb-audio index=1
Сохраняем (в редакторе Ctrl+X).
Создаем ещё один файл:
sudo nano /etc/asound.conf
Добавляем содержимое файла:
pcm.!default <
type plug
slave <
pcm «hw:1,0»
>
>
ctl.!default <
type hw
card 1
>

Редактируем ещё один конфигурационный файл:
sudo nano /usr/share/alsa/alsa.conf

Меняем звуковую карту по умолчанию с 0 на 1 (USB card), Очевидно, 0 по умолчанию встроенный выход звука миникомпьютера, устанавливаем в 2-х строках следующие параметры:
defaults.ctl.card 1
defaults.pcm.card 1

Изменения вступят в силу, после перезагрузки, перегружаем набрав в консоли:
sudo reboot

Подключаем в внешнюю аудиокарту микрофон и колонки (наушники). После перезагрузки запускаем утилиту настройки звука Alsamixer.
alsamixer
Видим уже больше наших устройств, которые мы определили в системе по умолчанию:

Источник

Как в Raspberry Pi 3 Model B настроить режим вывода аудио

Есть два способа поменять аудио выход — через командную строку и через raspi-config.

No LSB modules are available.

Distributor ID: Raspbian

Description: Raspbian GNU/Linux 9.1 (stretch)

**** List of PLAYBACK Hardware Devices ****

card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]

Subdevice #0: subdevice #0

Subdevice #1: subdevice #1

Subdevice #2: subdevice #2

Subdevice #3: subdevice #3

Subdevice #4: subdevice #4

Subdevice #5: subdevice #5

Subdevice #6: subdevice #6

Subdevice #7: subdevice #7

card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]

Subdevice #0: subdevice #0

Simple mixer control ‘PCM’,0

Capabilities: pvolume pvolume-joined pswitch pswitch-joined

Playback channels: Mono

Подключаю к миникомпьютеру внешную колонку SVEN SPS-607 (или Наушники):

Читайте также:  Регулировка рулевой рейки мазда фамилия

После завершения утилиты raspi-config на консоль выдается лог изменения:

numid=3,iface=MIXER,name=’PCM Playback Route’

где видно, что значение 1 — это переключиться на разъем 3.5mm, а 2 на разъем HDMI, а — это положиться на автоматику.

На заметку: Также изменять режим Audio можно и через консоль (amixer cset numid=3 1 or amixer cset numid=3 2)

Может случиться, что изменения выше не сыграют своей роли и придется по другому или лучше в дополнении проделать следующее:

$ sudo nano /boot/config.txt

00-00: bcm2835 ALSA : bcm2835 ALSA : playback 8

00-01: bcm2835 ALSA : bcm2835 IEC958/HDMI : playback 1

$ sudo modprobe snd_bcm2835

$ lsmod | grep bcm2835

snd_bcm2835 24427 1

snd_pcm 98501 1 snd_bcm2835

snd 70032 5 snd_timer,snd_bcm2835,snd_pcm

bcm2835_gpiomem 3940 0

$ sudo nano /etc/modules

После подключаюсь по VNC к миникомпьютеру и пробую проиграть любой аудио файл, звук должен идти.

$ scp Music/bonjovi/01.\ It\’s\ My\ Life\ 2000.mp3 pi@10.9.9.161:/home/pi

Linux raspberrypi 4.9.45-v7+ #1031 SMP Fri Aug 25 19:02:16 BST 2017 armv7l

The programs included with the Debian GNU/Linux system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent

permitted by applicable law.

Last login: Tue Aug 29 14:09:55 2017 from 10.9.9.162

$ aplay 01.\ It\’s\ My\ Life\ 2000.mp3

Playing raw data ’01. It’s My Life 2000.mp3′ : Unsigned 8 bit, Rate 8000 Hz, Mono

^CAborted by signal Interrupt…

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

$ sudo aplay /usr/share/sounds/alsa/Front_Center.wav

Playing WAVE ‘/usr/share/sounds/alsa/Front_Center.wav’ : Signed 16 bit Little Endian, Rate 48000 Hz, Mono

а вот тут было воспроизведение, сказало Front Center, как это понимать?

На заметку: Также можно поставить vlc

И вот когда в консоли запускаю cvlc и путь до audio файла воспроизведение идет нормально:

$ cvlc 01.\ It\’s\ My\ Life\ 2000.mp3

VLC media player 2.2.6 Umbrella (revision 2.2.6-0-g1aae78981c)

[005e8d08] pulse audio output error: PulseAudio server connection failure: Connection refused

[005f0d88] core interface error: no suitable interface module

[00544930] core libvlc error: interface «globalhotkeys,none» initialization failed

[005f21e8] dummy interface: using the dummy interface module.

Вроде можно проверить, как:

Outputting audio to hdmi — звука нет.

Outputting audio to analogue — звук есть.

Проверяю звук через другой проигрыватель, к примеру omxplayer — звук есть.

Audio codec mp3 channels 2 samplerate 44100 bitspersample 16

Subtitle count: 0, state: off, index: 1, delay: 0

$ mpg321 01.\ It\’s\ My\ Life\ 2000.mp3

High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2, and 3.

Version 0.3.2-1 (2012/03/25). Written and copyrights by Joe Drew,

now maintained by Nanakos Chrysostomos and others.

Uses code from various people. See ‘README’ for more!

Читайте также:  Накладка для регулировки высоты транца лодки пвх

THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!

Title : It’s My Life Artist : Bon Jovi

Album : 25 Best Songs Year : 2015

Comment : Genre : Soft Rock

MPEG 1.0 layer III, 128 kbit/s, 44100 Hz stereo

ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front

То же идет воспроизведение, но вот какая-то ошибка, а что она значит?

$ sudo nano /usr/share/alsa/alsa.conf

После перезагрузки, также через aplay только на выходе шипение.

Пока делаю вывод, что не работает через утилиту aplay, а через дополнительно установленные такие как cvlc, vlc, omxplayer,mpg321 все отлично.

Из этого всего делаю вывод, что все работает. Если будут замечены еще какие-либо нюансы то они будут дополнены в этой заметке, а пока собственно всё. С уважением автор блога Олло Александр aka ekzorchik.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще 🙂

Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Источник

Hi-Fi аудиоплеер на базе миникомпьютера «Raspberry Pi». Часть 3. Регулятор громкости на PGA2310

Содержание / Contents

↑ Передняя панель и блестящая «крутилка» громкости

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

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

Осталось в оргстекле пропилить отверстие для ручки и передняя панель готова (см. рис. 1)

↑ Светодиодный индикатор уровня громкости

Стабилизатор VR1 позволят установить необходимую яркость светодиодов. Я, непонятно почему, сделал 33 светодиода, поэтому первый светодиод LED1 пришлось зажечь навсегда.

↑ Энкодер

Каких только алгоритмов не бывает для определения направления вращения энкодера и подсчета импульсов. Надо определится, каким методом программа узнает об изменениях на пинах с энкодером. Прерывания или опрос.

Прерывания с GPIO в «Raspberry Pi» в интернете освещены мутно и реализация, я бы сказал, неизящна, хотя, может быть, я плохо разобрался в данном вопросе.
Поэтому пока я выбрал метод опроса.

На рисунке 12 осциллограмма импульсов энкодера. Алгоритм следующий: периодически опрашиваем пины, если состояние в предыдущем опросе было «11», то текущее состояние определит направление вращения, его потом и сосчитаем, за исключением текущих состояний с одинаковыми сигналами(«00» и «11»). Вот и весь алгоритм.

В цикле опроса процесс обязательно нужно «положить поспать» (в моём случае на 5 ms), иначе загрузка процессора будет большой. Так же задержка в 5 ms исключает влияние дребезга контактов энкодера.

Читайте также:  Магнитные эллипсоиды с электронной регулировкой

На осциллограмме сигналы нового энкодера – без дребезга, но я подключал и старые, трофейные – тоже всё отлично.

На рисунке 13 энкодер соединяется с валом с помощью резинового шланга, внутренним диаметром 6 мм.

↑ Регулятор громкости на PGA2310

Управление очень простое: выбираете микросхему с помощью пина CS и последовательно записываете 2 байта (старшими битами вперёд), с помощью пинов SDI и SCLK.
Первый байт – громкость правого канала, второй байт – громкость левого канала. Собственно это SPI интерфейс.

Обслуживает микросхему PGA2310 базовый класс: PGA2310.

Кроме простой регулировки громкости, в классе организована балансировка каналов. Данную функцию при необходимости можно будет осуществить (потом) с клиента на ПК или смартфоне. На самом аудиоплеере только регулятор громкости.

Также есть возможность задать пользовательское изменение диапазона регулирования громкости с помощью переменных max_admin_volume и min_admin_volume. Эти значения будут инициализироваться (при загрузке программы) из файла настроек, изменить их так же можно будет с помощью клиентов.

Пользовательский класс volume_control наследует функционал базовых классов PGA2310 и leds и полностью определяет регулятор громкости аудиоплеера. Фактически он содержит алгоритм изменения громкости в связке с индикатором на светодиодах.

Я сделал так, что вне зависимости от пределов регулировки громкости светодиоды в индикаторе все равно светятся от 0 до 32. Пользователь (например жена) может закрутить ручку громкости до упора, будут гореть все светодиоды и зеленые и красные, но громкость будет ограничена.

↑ Измерения

Рис 16. Шумы на том же уровне. Это хорошо! Немного подросла помеха от ИБП, наверное, потому что нагрузка на БП 5V выросла, подключена передняя панель.

Далее, на всех графиках воспроизводим синус 1 кГц, 0 dB как и в прошлый раз, и будем крутить регулятор громкости.

Рис. 17. При уровне регулятора громкости 0 dB получил перегруз линейного входа ПК. Чуть-чуть PGA видимо усилила сигнал, поэтому смотрим при -1dB на регуляторе громкости. Сравниваем с рисунком 13 предыдущей моей статьи.

На глаз иголочки чуть-чуть подросли, рост искажений небольшой. В этот момент я понимаю, что я не зря сделал ставку на PGA2310. Всё получилось, все отлично!

Думаю, на этом можно закончить.

↑ Видео регулятора в работе

Демонстрационное видео работы регулятора громкости и индикатора на светодиодах.

↑ Загрузки

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

▼ Файловый сервис недоступен. Зарегистрируйтесь или авторизуйтесь на сайте.

Надеюсь, вам пригодится материал.
Всем спасибо за внимание. Пока!

Электроникой увлекся в старших классах школы.
Потом закончил Минский профтехнический колледж электроники.
Потом «БГУИР» — Белорусский государственный университет информатики и радиоэлектроники. Инженер-электроник вот уже 11 лет.

Часто тянет что-нибудь изобрести.
Люблю программирование (Си, С++).

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Настройки и регулировки