Настройка звуковой карты ноутбука.
Всем хорошо известно, что ноутбук является весьма удобным подспорьем в музыкальном хозяйстве. Не буду здесь пускаться в описание его достоинств - их обладатели и так всё это знают. Но как то так издавна повелось, что в плане работы со звуком недорогие модели ноутбуков считаются более ущербными, по сравнению с их стационарными собратьями. Я сейчас имею в виду возможности их встроенного звука и не рассматриваю возможности подключения внешней звуковой карты. И производители ноутбуков старательно участвуют в закреплении этого стереотипа, усердно занимаясь урезанием возможностей встроенного звука аппаратными и программными методами. В подтверждение данного тезиса я решил написать эту статью с изложением собственного скромного опыта по расширению функционала звуковой карты недорогого ноутбука.
Профессионалы мне, конечно, могут бросить упрёк, мол нечего там улучшать - купи получше оборудование и будет тебе счастье, а ноутбуки под это не "заточены". Согласен, что не "заточены", а скорее "затуплены", но спорить не собираюсь. У каждого в жизни могут случиться разные ситуации, всех не предусмотришь, когда ноутбук может выручить. Поэтому, всегда хочется иметь вещь, которая реализует максимум заложенных в неё изначально возможностей.
Началось всё с того, что у меня появился ноутбук Lenovo G550 - недорогая модель, которая меня вполне устраивала. Встроенный звук в нём выполнен на чипе Conexant CX20561, звучание вполне приличное, на слух - не хуже, чем в стационарном компьютере. Но через некоторое время, при более близком знакомстве, выяснилось, что ни одна программа, способная работать с драйвером ASIO, не могла его использовать - звука не было. Эксперименты с различными настройками ни к чему не привели, а только выявили дополнительные проблемы. Я думаю, не нужно объяснять, что этот драйвер значит для компьютерной музыки и обработки звука в реал-тайме. Поэтому я тут же принялся искать причину, вернее лекарство от этого недуга.
Рассчитывая получить быстрое и лёгкое решение от умных людей, я, как обычно, обратился к интернету. Да, я нашёл много различных упоминаний о проблемах с этим кодеком, но все они касались процесса установки драйвера и полного отсутствия звука везде. У меня же ситуация была противоположная - установка драйвера прошла без проблем, звук везде был (через DirectSound и WaveOut). Проблемы с этими драйверами позже обнаружились только в рабочей станции Reaper. Драйвер же ASIO у меня не работал нигде и ни в какую. И вот по этой проблеме я упоминания не нашёл нигде, хоть и очень хорошо искал.
Сначала ко мне пришла "страшная" мысль, что мой ноутбук с пожизненным дефектом. Следом другая мысль - попробовать поменять по "гарантии" в магазине. Но как объяснить причину? Для продавца, скорее всего, это будет бредом. На какое-то время я смирился с судьбой, изредка делая попытки вновь найти причину. Так продолжалось почти год, в течение которого я перепробовал всё, что приходило в голову: пробовал другие программы, менял различные настройки в них и в системе, ставил другие версии драйверов - всё было тщетно. Я опускал руки, но через какое-то время, с новыми идеями и новым энтузиазмом, вновь пытался покорить неприступную крепость. Это постепенно позволило накопить мне достаточно опыта и однажды, я эту проблему всё же решил!
Кто-то, наверное, скажет: - "Фу ты, стоило ли оно того? Продал бы этот ноутбук, купил другой и живи радуйся". Но, во-первых, это немалая потеря денег из семейного бюджета, во-вторых, жена и сын уже привыкли к нему и не хотели с ним расставаться из-за какого-то там ASIO - их всё устраивало, ну а для меня это стало уже почти "делом чести" - доказать себе, что не зря ношу голову на плечах + немного жаль уже потраченного времени. В результате всё решилось ко всеобщему удовольствию.
А в интернете по данной проблеме до сих пор так ничего и нет. где-то глубоко у меня, конечно, остаётся крупица сомнения, что это индивидуальный дефект и мои изыскания будут никому не интересны. Но накопленная мной информация и познания, всё же в большей степени убеждают меня, что это закономерность. Так или иначе, но почти половина этой статьи уже написана, вспомогательное видео записано, отступать поздно, придётся идти до конца. В конце концов, как справедливо писали классики марксизма, "практика - критерий истины", и узнать, прав я или нет, я смогу только опубликовав этот материал.
Итак, от "лирики" перейдём к "физике". Сегодня речь пойдёт не обо всех, а о вполне конкретной встроенной звуковой карте, выполненной на чипе Conexant CX20561-Z12. Это звуковой кодек, работающий по стандарту High Definition Audio, и очень широко используется во многих бюджетных моделях ноутбуков разных производителей (Acer, Compaq, Lenovo, HP, Dell и др.). Учтите, что всё, сказанное ниже, относится к работе в ОС Windows XP 32-bit, т.к. в других ОС используются другие версии драйверов, которые мной не тестировались за ненадобностью. Там, я наслышан, тоже свои проблемы, но конкретно об этой я тоже ничего не встречал. Предполагается, что звуковой драйвер у вас уже установлен и "нормально" работает, т.е. устройство "Conexant CX20561 SmartAudio HD" или "High Definition Smart Audio 221" (отображаемое название зависит от версии драйвера) отображается в диспетчере устройств на вкладке "Звуковые, видео и игровые устройства" и конфликтов не имеет, а нормальный звук в большинстве приложений есть, за исключением тех, что используют драйвер ASIO4All. Проблемы с самой установкой драйвера я здесь не рассматриваю, т.к. по ним много разной (и не всегда полезной) информации есть в сети.
Помочь нам в решении нашей проблемы сможет только реестр, как это обычно и бывает в ОС Windows. Дело в том, что все свои настройки драйвер хранит именно там, и к большинству из них нет доступа через интерфейс пользователя. Настроек там много, назначение некоторых понятно, некоторых не совсем, но я в результате своих изысканий определил, что нам поможет всего одна из множества. Для тех, кто уже знаком с реестром, я напишу путь к интересующему нас ключу:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96C-E325-11CE-BFC1-08002BE10318}\00??\Settings\OEM
На месте знаков "??" у вас должно быть двузначное число - на каждом ноутбуке может быть разное (зависит от порядка добавления аудиоустройств в систему). Это вам предстоит определить самостоятельно, просматривая параметры подключей "00??" перед которыми есть значок "+", пока не найдёте тот, в котором упоминается наше аудиоустройство Conexant. У меня, например, это оказался ключ с номером "0013". Кто-то суеверный может подумать, что именно в этом причина плохой работы драйвера, но уверяю вас - это не так. Хочу заметить, что если вы ранее несколько раз переустанавливали драйвер для этого устройства, иногда возможны случаи что в реестре остаётся ещё и ключ от старой версии, но под другим номером "00??". Тогда вам дополнительно придётся выяснить, какой из них является актуальным, анализируя информацию из этих ключей.
В ключе ОЕМ находим параметр "NumOfSoftStream". Его значение - это 4-х байтовое двоичное число, записанное в шестнадцатиричном виде. У меня (наверняка, и у вас) его значение выглядит как "01 01 00 00". Наша задача - изменить всего один разряд, чтобы стало так - "0f 01 00 00". Судя по названию параметра, он отвечает за количество программных потоков, используемых драйвером. Казалось бы, всё просто и понятно, но сложность заключалась в том, что драйвер адекватно реагирует только на такое значение параметра, а не произвольное, отличное от исходного. Если принять во внимание полное отсутствие какой-либо информации, на что этот параметр конкретно влияет, общее количество возможных комбинаций и необходимость каждый раз делать перезагрузку компьютера, чтобы увидеть изменения, то это вообще чудо, что мне удалось найти требуемое значение без декомпиляции текста самого драйвера (да и то, не факт).
Как бы там ни было, этот этап уже позади и теперь можно воспользоваться его результатами. Напоминаю, что для вступления изменений в силу обязательна перезагрузка, т.к. аудиодрайвер работает на уровне ядра системы и считывает часть своих настроек только при начальной загрузке Windows. Для тех, кто не знаком ещё с реестром Windows или не чувствует достаточно опыта в этом вопросе, я записал "небольшой" видеоурок (минут этак на 40), где наглядно показал, как всё сделать, плюс - некоторый обмен личным опытом по той же теме, который может кому-то пригодится. Видеоурок записан в разрешении 1366х768, т.е. в полный экран ноутбука, и оказался слишком большим для закачки на сайт. Поэтому он помещён на "облако" и здесь дана ссылка. Там архив с ехе-файлом - это видео, запакованное вместе с плеером. Скачайте (56 МБ), проверьте его антивирусом и можете запускать просмотр. Жду ваших отзывов.
Видеоурок (ссылка на внешний сайт)
За время своих экспериментов я перепроверил множество драйверов этого устройства, предназначенных для разных моделей и производителей ноутбуков - все имели один и тот же недостаток. Они на самом деле все практически одинаковы, т.к. драйвер пишется обычно под конкретное устройство или его разновидность, а не под ноутбук в целом. Поэтому вам вполне может подойти драйвер, который изначально позиционируется для какой-то другой модели ноутбука. Справедливости ради скажу, что уже после того, как я решил проблему сам, мне попался один вариант драйвера, который не под какую конкретную модель ноутбука не предназначался, но устанавливаться штатными средствами Windows не хотел (не совпадал идентификатор устройства в файле .inf). Не знаю для какой модификации он предназначался (видимо для каких-то "белых" людей) - это был тот же файл драйвера, но параметр "NumOfSoftStream" уже имел в нём нужное нам значение. Может быть вам повезло и у вас именно такой. А те, кто понимает, где это находится, вполне могут сами исправить inf-файл своего инсталлятора и в дальнейшем использовать уже исправленную версию.
В заключение скажу, что после близкого знакомства с драйвером этой звуковой карты, у меня осталось стойкое убеждение, что некоторые её полезные возможности сильно урезаны именно на уровне настроек драйвера. У меня, например, запись возможна исключительно с микрофона (встроенного или внешнего), т.е. я не могу элементарно захватить и записать звук из какой-нибудь программы или системные звуки. В реестре есть параметры драйвера, которые смутно напоминают о возможности это исправить, но здесь опять встаёт проблема, о которой я говорил выше - полное отсутствие достоверной информации и огромное количество вариантов значений параметров. Здесь целое непаханное поле для энтузиастов-экспериментаторов. Мой энтузиазм сейчас немного поутих, поэтому пока я выкручиваюсь с помощью дополнительной виртуальной звуковой карты virtualAudioCable, позволяющей коммутировать программные аудиопотоки произвольным образом.
Из аппаратных урезаний - стереоканалы единственного внешнего микрофонного входа оказались наглухо запараллелены в моно-режим уже внутри корпуса ноутбука, что лишает возможности подать внешний стереосигнал для записи или обработки. Имеющиеся у самого чипа ещё пара линейных стереовходов заживо похоронены внутри корпуса. ну в общем, производитель постарался наславу! При Сталине за такое бы, наверное, расстреляли, а у буржуев это называется - ценовое позиционирование. Приходится привыкать к реалиям наших дней и либо переплачивать за то, что тебе очень нужно, либо самому копаться и разгребать искусственные недоделки. Внутрь ноутбука я, конечно, пока не лезу, хотя мысли такие меня посещают всё чаще. Как знать, что будет дальше? Ведь будущее всё ещё не определено ...
Вот взглянул, на всё написанное, и понял: хороший получился пример ..., как раздуть из мухи слона - уметь надо. Задумывалось всё, как небольшая заметка, а вышло как всегда. Видно, таланта нет.
С уважением, freedaw. Специально для сайта www.agentstvo-prazdnik.ru