Pull to refresh

Шаг 8: Звук

Configuring Linux *
Есть множество путей настроить вывод звука. Я выделю три: ALSA, OSS и PulseAudio.

Я опишу эти технологии, но рекомендую на первое время оставить ALSA. Этот материал будет полезен если определенное приложение потребует OSS или PulseAudio.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 24K
Comments 39

Звук по сети

Configuring Linux *
Стоит у меня дома большой комп, используется в основном как телевизор. Кино смотрим на ноутбуке, ибо монитор не сильно больше, а стоит далеко от дивана. Поэтому приходится подключать к ноутбуку либо наушники, либо вторые колонки, либо ползать под стол и вытаскивать из компа шнур. Надоело.

Звуковые серверы в *nix есть давно, arts, esd — классика. Сейчас стандартом заслуженно становиться pulseaudio, в Ubuntu он устанавливается с релиза 8.04, а в Fedora с 8.
Читать дальше →
Total votes 53: ↑48 and ↓5 +43
Views 13K
Comments 26

Pulseaudio в Ubuntu — звук по сети (и не только)

Configuring Linux *
Translation
Update/Disclaimer: эта хня уже не актуальна т.к. в 8.04 оно завёрнуто в пульс по дефолту. В 7.10 есть какие-то макросы в asoundconf на эту тему. Остальные дистрибы тоже ползут в этом направлении.


Этой осенью я делал презентацию для OSU Open Source club про сервер звука PulseAudio, заменяющий ESD, но с кучей новых дополнений и трюков.
К сожалению, с тех пор я не смог заставить его заработать снова, и не мог до тех пора, пока не обновился до Feisty Fawn. Я наконец разобрался как это делается.

Почему PulseAudio?



Сначала, немного мотивации. Зачем сейчас использовать сервер звука? Вроде бы ALSA нормально работает. Есть три причины почему стоит установить PulseAudio:
  • Самая главная — PulseAudio может прозрачно воспроизводить звук по сети, вне зависимости от настоящего расположения компьютера. Что это значит? В
    сущности, вы жмёте Play на ноуте и звук идёт из колонок вашего десктопа.
  • Старые программы использующие OSS могут быть настроены чтобы работать корректно, при этом остальные звуки будут воспроизводиться в это же время.
  • Ещё не реализованая, но очёнь клёвая штука: звук может быть настроен для каждого приложения по-отдельности. Сейчас можно управлять этим вручную, но будет очень здорово, когда это будет автоматически, основываясь на классе источника. Например, музыка сделается тише, когда вы принимаете VoIP вызов. Кое-кто работал над этим в качестве своего проекта Google SoC, но не ушёл особо далеко (и по-моему, его реализация всё равно надуманная).


Читать дальше →
Total votes 1: ↑1 and ↓0 +1
Views 10K
Comments 5

HDR podcast #7

Lumber room
  • о записи скринкастов;
  • о проблемах с PulseAudio;
  • о переходе с wifi на провода;
  • об отсутствии параметров для OpenID;
  • о торрентах, распределённом DNS и пользе закрытия нелицензионного контента.
Total votes 3: ↑1 and ↓2 -1
Views 215
Comments 0

PulseAudio, часть 1: управление из командной строки

*nix *

Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa :)

В статье я с самого начала расскажу что это такое и как оно работает, а так же:
  • Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
  • Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
  • Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
  • Как управлять громкостью и усиливать тихий сигнал (!);
  • Как сделать Skype громче музыки?

И представлю своё решение, призванное упростить управление PulseAudio ;)
Любопытно!
Total votes 112: ↑106 and ↓6 +100
Views 129K
Comments 83

MPD, домашнее аудиохранилище

Sound
Sandbox
Хотел бы рассказать как на днях решил задачу организации домашнего аудиохранилища.

Для начала, что имеем:

1) стационарный компьютер(ОС — ArchLinux);
2) ноутбук, к которому часто подключается домашняя акустика (ОС — ArchLinux x64);
3) фонотеку ~ 500 Гб, которая находиться на (1).

Что хотелось бы получить в результате (задачи):

1) централизованную библиотеку, к примеру, чтобы созданный на одной машине список воспроизведения был доступен и на другой тоже;
2) возможность управления воспроизведением с любого компьютера;
3) возможность выводить звук на аудиовыход любого компьютера, к примеру, работая на стационарнике и управляя с него слушать музыку на акустике подключенной к ноуту.

Реализация.
Читать дальше →
Total votes 33: ↑28 and ↓5 +23
Views 7.9K
Comments 13

Распределенный аудиоплеер на Odroid U2

Configuring Linux **nix *

Однажды я заметил, что довольно много времени я провожу на кухне, куда звук от колонок, расположенных в комнате доходит плохо. И тогда мне захотелось сделать хороший бесшумный плеер, способный синхронно воспроизводить музыку в нескольких комнатах. Конечно проблему можно было решить простым поворотом регулятора громкости, но этот способ был отброшен как негуманный по отношению к соседям. Другой важный момент заключался в том, что я хотел использовать те же колонки для вывода звука с компьютера. Зачем мне иметь несколько комплектов аккустики в одной комнате?
Пост получился довольно длиннный, так как я старался уделить внимание соображениям, по которым я выбирал то или иное решение.
Читать дальше →
Total votes 77: ↑73 and ↓4 +69
Views 60K
Comments 49

Создаём сетевую звуковую карту с преферансом и поэтессами

Open source *
Вдохновленный топиками раз и два, решил соорудить нечто похожее.

В наличии:
— Один усилитель с колонками
— Один стационарный компьютер
— Один ноутбук
— Желание слушать интернет радио независимо от двух предыдущих пунктов и перетыканию проводов

В результате родился план собрать «audio card over ethernet». Исследовав вопрос совместимости оборудования, я выбрал роутер TP-link MR3020 и USB аудио-карточку Creative SB Play.

Что из этого получилось:


О том, как это получить, добро пожаловать под кат.
Читать дальше →
Total votes 123: ↑119 and ↓4 +115
Views 110K
Comments 94

Настройка e-mu 0204 usb в ubuntu GNU/linux

Configuring Linux *
Tutorial
Пару дней назад купил я себе внешнюю звуковую карту e-mu 0204. Купил с рук, за 2 т.р. Владелец был счастлив, я то же. Оба думали, что надули друг друга. Стоит железка в магазине 4,5 т.р. Принес домой подрубил, звук сказочный. Но, обнаружился косяк. В непредсказуемые моменты времени слышны были тихие пощелкивания и перерывы звука. У меня отличные наушники ATH-SJ55. Соответствуют карточке по уровню, непонятно почему это вдруг началось. Разбираемся как исправить. Да, сразу отмечу, все эти проблемы описаны в инструкции!!! Так что весь ор вокруг карточки говорит лишь о том, что орущие просто ее не открывали. Инструкции у меня в комплекте не было, я в интернете ее позже нашел. Все настройки в статье все равно понадобятся.
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Views 37K
Comments 25

Распределенный музыкальный плейер на Raspberry Pi

Configuring Linux *

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

(Да, пост во многом пересекается с постом Распределенный аудиоплеер на Odroid U2, но чуть проще в настройке)
Читать дальше →
Total votes 108: ↑105 and ↓3 +102
Views 95K
Comments 52

Skype 4.2.0.13 — минорный релиз с долгожданным фиксом

Instant Messaging *
После 8 месяцев с момента предыдущего релиза, выходит новая минорная версия Skype.
Казалось бы, зачем писать об этом на хабрахабре, ведь версия-то минорная? На самом деле, это, пожалуй, одно из самых важных обновлений за последние годы:
  • Добавлен workaround для хрипов PulseAudio 3.x и 4.x
PulseAudio сейчас есть практически в любом дистрибутиве по умолчанию, и, на моей памяти Skype — единственное приложение, которое плохо с ним работало. Постоянные хрипы, шуршания, треск. Надеюсь, больше такого не будет.

Это не единственное изменение в новой версии:
  • Починено редкое падение приложения при открытии чата из-за несуществующего смайла
  • Починено падение на Ubuntu/Debian x86_64 из-за отсутствующей зависимости libasound2-plugins:i386
  • Починен набор номера на диалпаде (иногда не работал)
Total votes 84: ↑71 and ↓13 +58
Views 38K
Comments 100

Разговорное радио на коленке

Open source *
В определённый момент, страдая от лени обновлять новостной блог про OpenStreetMap, я решил сделать еженедельную передачу про проект. Вместо трёх часов вымучивания текста — часик пообсуждать со знакомыми участниками OSM новинки и актуальные вопросы. Отличная идея, порадовались и разошлись. Через полгода со словами «ну блин хватит бездельничать, давайте послезавтра звоните в скайп» я начал разбираться, как в этом вашем линуксе записать звук с микрофона и скайпа, одновременно передавая его в интернет. Эта история — про настройку PulseAudio, про скайп и мамбл, и про удивительный JACK. Оказалось, поднять собственное радио с гостями в эфире проще, чем нарисовать для него логотип.
Читать дальше →
Total votes 53: ↑51 and ↓2 +49
Views 35K
Comments 27

Давим шумы средствами PulseAudio

Configuring Linux **nix *
image
Часто вижу, как владельцы ноутбуков жалуются на шумы микрофона в Linux, в то время как под Windows их меньше, либо же они вообще отсутствуют. Как правило, виноват в этом производитель, установивший самый дешевый микрофон и/или кодек из возможных, надеясь на сглаживание отвратительного качества железа программными средствами.
К счастью, в Linux есть замечательный аудиосервер PulseAudio, с помощью которого можно сделать аудио с вашего микрофона заметно качественней.

Способ #1

Для того, чтобы использовать встроенный модуль подавления шума и эха PulseAudio, работающий по алгоритму webrtc или speex, для какой-то конкретной программы, достаточно запустить ее с переменной окружения:
PULSE_PROP="filter.want=echo-cancel"

И весь ваш звук магическим образом будет избавлен от шумов и эха!
Читать дальше →
Total votes 39: ↑38 and ↓1 +37
Views 69K
Comments 38

Микширование звука в Cubian

Qt *Development of communication systems *
Когда передо мной встала задача проиграть параллельно несколько аудио-файлов на Cubian, я ещё об этом не догадывался. Уже много лет в линуксе проблема микширования звука отсутствует: и ALSA умеет это нативно, и множество саунд-серверов предлагают свои услуги на любой вкус и кошелёк.

Оказалось, что проблема есть, и она обширнее, чем я предполагал изначально.
Два вопроса и один ответ о микшировании звука
Total votes 10: ↑8 and ↓2 +6
Views 13K
Comments 7

Обзор и программирование под стационарное интернет радио

Open source *C *Development for Linux *
Tutorial

Несколько лет назад я уже выкладывал статью о том как из роутера сделать сетевую звуковую карту. Тот вариант требовал наличия активного источника звука и колонок. Переносной вариант выглядел бы слишком громоздким, потому было решено приобрести готовый продукт. По причине доступности и как самое дешевое из возможных вариантов (50 евро) я выбрал renkforce IR 1.


image


Из ключевых характеристик мне были важны следующие:


Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views 13K
Comments 14

Заметка: Контроль звуковых выходов для программ

Configuring Linux *Sound
Tutorial

Иногда надо иметь отдельный виртуальный "выход" для звука из некоторых программ. Например, на стриме через OBS. Эта программа не поддерживает такое "нативно", но это возможно сделать с помощью PulseAudio.


Делается это с помощью null sinks и модуля loopback, про которые я немножко расскажу.


Понадоблятся утилиты pactl и pavucontrol, которые должны быть установлены.

Читать дальше →
Total votes 5: ↑5 and ↓0 +5
Views 1.3K
Comments 4

Audio API Quick Start Guide: Playing and Recording Sound on Linux, Windows, FreeBSD and macOS

Programming *C *Development for Linux *Development for Windows *Sound
Tutorial

Hearing is one of the few basic senses that we humans have along with the other our abilities to see, smell, taste and touch. If we couldn't hear, the world as we know it would be less interesting and colorful to us. It would be a total silence - a scary thing, even to imagine. And speaking makes our life so much fun, because what else can be better than talking to our friends and family? Also, we're able to listen to our favorite music wherever we are, thanks to computers and headphones. With the help of tiny microphones integrated into our phones and laptops we are now able to talk to the people around the world from any place with an Internet connection. But computer hardware alone isn't enough - it is computer software that really defines the way how and when the hardware should operate. Operating Systems provide the means for that to the apps that want to use computer's audio capabilities. In real use-cases audio data usually goes the long way from one end to another, being transformed and (un)compressed on-the-fly, attenuated, filtered, and so on. But in the end it all comes down to just 2 basic processes: playing the sound or recording it.

Today we're going to discuss how to make use of the API that popular OS provide: this is an essential knowledge if you want to create an app yourself which works with audio I/O. But there's just one problem standing on our way: there is no single API that all OS support. In fact, there are completely different API, different approaches, slightly different logic. We could just use some library which solves all those problems for us, but in that case we won't understand what's really going on under the hood - what's the point? But humans are built the way that we sometimes want to dig a little bit deeper, to learn a little bit more than what just lies on the surface. That's why we're going to learn the API that OS provide by default: ALSA (Linux), PulseAudio (Linux), WASAPI (Windows), OSS (FreeBSD), CoreAudio (macOS).

Read more
Rating 0
Views 576
Comments 0