yuran |
|
Темы:
17
Сообщения:
200
Участник с: 09 мая 2011
|
NatrioПричем тут прикладное программирование? Откуда API у микросхемы? API это ПРОГРАММНЫЙ интерфейс, которым оперирую программы юзерспейса, а у микросхем обычно бывают регистры, доступные CPU через шину по определённым адресам, именно ими оперирует драйвер.Вы его собираетесь на ассемблере программировать что-ли? Или вам нужна возможность разобраться? Описание самих процессоров вы едва-ли найдете. А вот какой-нибудь API для работы со звуковой картой вполне можете. Спасибо, эта история проходила перед моими глазами, я даже приводил пример :)Ага, только часть этой истории прошла мимо них. Вы вероятно в этот момент просто спали. :D Иначе фраза “Sound Blaster” у вас не вызывала бы столько удивления. |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
bobart, lumberjack, прошу прощения :) Всё, разделил тему. yura_nВы говорили об обширном опыте работы со звуком. В чём конкретно он заключается? Вы его собираетесь на ассемблере программировать что-ли? Или вам нужна возможность разобраться? Описание самих процессоров вы едва-ли найдете. А вот какой-нибудь API для работы со звуковой картой вполне можете.СО ЗВУКОВОЙ КАРТОЙ в любой ОСи (кроме DOS) работает ТОЛЬКО драйвер, и ничего больше. Все API – по определению той или иной подсистемы ядра или вообще прикладных программ. Чтобы выяснить, как работает аудиокарта, надо изучать её саму, а не программные слои абстракции от неё. Даташиты на DSP для звуковых плат встречаются в сети довольно часто, и некоторые их них я смотрел :) P.S. А вот, кстати, не даташит правда, но довольно интересное описание микросхемы EMU10K1, той самой, что в “SB Live!”, у автора топика про “металлический” звук. http://www.datasheetarchive.com/EMU10K1-datasheet.html |
yuran |
|
Темы:
17
Сообщения:
200
Участник с: 09 мая 2011
|
NatrioЯ говорил о достаточном практическом опыте работы со звуком. А заключается он в обработке аудио материала (и видео, но это уже не в тему). СО ЗВУКОВОЙ КАРТОЙ в любой ОСи (кроме DOS) работает ТОЛЬКО драйвер, и ничего больше. Все API – по определению той или иной подсистемы ядра или вообще прикладных программ. Чтобы выяснить, как работает аудиокарта, надо изучать её саму, а не программные слои абстракции от неё.Подробные материалы о работе конкретных звуковых плат найти далеко не так просто. При желании можно найти технические характеристики, даже структурные схемы. Но принципиальных схем или описаний процессоров днем с огнем не сыщешь. Поэтому я и написал о косвенных средствах. Впрочем есть еще сайт с alsa “дровами”. Можете покопаться в исходниках. :) Но вы увели тему (не ту что сейчас в названии :) в сторону. Вы фактически признали, что система посредством драйвера таки работает с DSP и стало быть не в одном только заполнении буфера заключается весь смысл работы со звуковой картой. И стало быть мы возвращаемся к тому, с чего начали - важности свовременного отклика системы. |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
yura_nНе надо заставлять меня доказывать, что я не верблюд, хорошо? Я говорил только то, что говорил сам, а не то, что вы мне приписали. Что бы вы ни говорили, я программировал звуковую карту на уровне регистров и прерываний, и потому я ЗНАЮ, как это работает. Ваши же представления об этом основаны лишь на УБЕЖДЕНИИ, что ТАК ДОЛЖНО БЫТЬ. Разница между ISA- и PCI-картами главным образом в том, что первые получали данные из буфера в памяти через DMA, а вторые проецируют свой буфер в непосредственно в доступное процессору адресное пространство. В любом случае звуковая карта воспроизводит звук САМА, без участия процессора, который лишь управляет ей и организует АСИНХРОННОЕ пополнение буфера. Иногда это можно даже наблюдать непосредственно – если по каким-то причинам система “зависает” во время воспроизведения звука, часто это приводит к тому, что звуковая карта, лишившись управления, продолжает САМА зацикленно повторять содержимое своего буфера, который перестал обновляться. Вы можете сами воспроизвести такую ситуацию – достаточно во время работы какого-нибудь плеера искусственно вызвать Kernel Panic, нажав Alt+SysRq+c, или если у вас отключены клавиатурные последовательности SysRq, выполнив от рута команду echo c > /proc/sysrq-trigger У меня на SB Live! звук успешно зацикливается :) Что же касается задержки, jack и RT-ядра, то всё просто – если вы действительно обрабатываете реальный звук в реальном времени, то очень полезно уменьшить задержку в буфере, а для этого уменьшить буфер. Уменьшение буфера влечёт за собой повышение требований к оперативности пополнения буфера, а при экстремально коротком буфере (или сочетании просто короткого буфера с высокой загрузкой машины другими задачами) начинает даже требовать RT-ядра. |
yuran |
|
Темы:
17
Сообщения:
200
Участник с: 09 мая 2011
|
NatrioВ точности до наоборот. Вы когда-то программировали, очень давно. И знаете как оно работало тогда. Вы отстали, и сильно. Мои же убеждения основаны на практическом опыте работы с современными звуковыми картами. Я слышу разницу на слух (кстати автор темы, от которой образовалась эта, ее тоже услышал). Между rt ядром, не rt ядром и Windows, на одних и тех-же звуковых картах. При наличии asio/jack и отсутствии. Ваши знания о вопросе, на существующий момент, даже не теоретические, а просто любительские. Разница между ISA- и PCI-картами главным образом в том, что первые получали данные из буфера в памяти через DMA, а вторые проецируют свой буфер в непосредственно в доступное процессору адресное пространство. В любом случае звуковая карта воспроизводит звук САМА, без участия процессора, который лишь управляет ей и организует АСИНХРОННОЕ пополнение буфера.В процессе работы звуковая карта еще и управляется в той или иной мере CPU. Может быть вы наконец подумаете зачем ей вообще DSP и как работают звуковые карты без DSP, то бишь большинство интегрированных? Чем управляются ЦАП-ы, АЦП, синтезаторы? Сами по себе работают что-ли? Что же касается задержки, jack и RT-ядра, то всё просто – если вы действительно обрабатываете реальный звук в реальном времени, то очень полезно уменьшить задержку в буфере, а для этого уменьшить буфер.Ага, все просто. Ну детский сад настоящий. Этот вопрос один из самых мутных и злободневных в звукорежессуре. И времени на его решение обычно уходит предостаточно. Вы бы хоть на форумы тематические сходили бы, что-ли… Он уже буквально исчавкан, но до конца решается лишь по ситуации. |
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Вставлю свои 5 коп. Оба оппонента правы по своему. Но не стоит забывать что есть два вида устройств! 1. думает само, а от проца получает небольшие корректировки. 2. безмозглое, напрягает проц по полной… Все умолкаю, а то еще побьют… )))
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
nafanjaУстройства из п.2 это вообще не звуковые карты, такие штуки презрительно называют “дырками”, и никакие уважающие себя любители хорошего звука таким Г не пользуются :) yura_n, так как вы меня не слышите, и твёрдо считаете, что знаний “продвинутого пользователя”, достаточно, чтобы знать устройство аудиокарты, не читая даташитов, то спорить мне тут не с кем. Разумеется, звуковая карта БЕЗ DSP это вообще не звуковая карта, как я уже сказал выше, и обсуждать их здесь бессмысленно. Я предложил вам эксперимент, который на трёх имеющихся у меня звуковых картах приводит к описанному мной эффекту “зацикливания”. Если вам нечего на это возразить, не надо патетических рассуждений о “любительстве” и “профессионализме”. Пока вы не привели НИКАКИХ доводов, имеющих отношение к программированию аудиокарт, всё это лишь голословные утверждения и ссылки на домыслы и слухи. |
yuran |
|
Темы:
17
Сообщения:
200
Участник с: 09 мая 2011
|
NatrioЯ вам и не собирался приводить НИКАКИХ доводов, имеющих отношение к программированию звуковых карт. Вы забыли о чем вообще шла речь. Это раз. Я не собираюсь “вешать” систему, что доказать вам неивестно что. Это два. И наконец…, вы знаете, есть такой компьютерный прикол, в котором говорится, что хакер может наступить на грабли даже если они лежат в сарае и заперты на замок, а ламер вообще граблей не замечает. Так вот вы не заметите грабли даже если покрасить их в красный цвет, оградить забором и поставить запрещающий знак. У вас совсем нет опыта работы со звуковыми картами. И в то, что вы когда-то программировали их я уже не верю, у вас серьезные проблемы с теорией. Дальнейший спор считаю бесполезным, вы толком не понимаете что я вообще говорю. |
cucullus |
|
Темы:
257
Сообщения:
3438
Участник с: 06 июня 2007
|
нда. ещё одно доказательство того, что никто не опозорит человека лучше, чем он сам! ;) предлагаю тему завершить.
такие дела.
|
yuran |
|
Темы:
17
Сообщения:
200
Участник с: 09 мая 2011
|
cucullusОбычно подобные утверждения принято аргументировать. |