|
| Notices |
Welcome to the DriverHeaven.net forums. You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today! If you have any problems with the registration process or your account login, please contact contact us. |
 |
Aug 1, 2006, 01:05 PM
|
#1
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
Передискретизация 44.1кГц => 48кГц
Тут возник такой вопрос. Известно, что на креативовских карточках сигнал с частотой дискретизации 44.1кГц аппаратно передискретизируется (рессемплируется, если кому так ближе) в 48Кгц. Из-за посредственного качества аппаратной передискретизации давно придумали делать эту операцию программно. Например - существует плагин к винампу HQSoftProc SoftwareResamping.
Хочу понять, как обстоит с этим дело в kX драйвере, есть ли там такая встроенная возможность, или для этого есть соответствующие DSP? Нашёл такой плагин как Stereo Decimator - это не оно?
|
|
|
Aug 2, 2006, 09:50 AM
|
#2
|
|
d/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,234
Rep Power: 0
|
передискретизация происходит до DSP
|
|
|
Aug 2, 2006, 11:54 AM
|
#3
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
понятно. а встроить такую функцию в драйвер не планируется, чтобы не править эту неприятность сторонним софтом?
|
|
|
Aug 2, 2006, 01:23 PM
|
#4
|
|
d/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,234
Rep Power: 0
|
ну да - как-бы подразумевается что дело драйвера управлять железом и не заниматься тем что могут делать сторонние программы (просто чтобы не плодить лишних сущностей) - ну правда есть пара исключений - но с ресемплингом именно так - кому надо тот использует это в плеере (благо в большинстве плееров это доступно) - кому не надо не использует (и не страдает от лишнего груза)
|
|
|
Aug 2, 2006, 03:27 PM
|
#5
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
Например, в Appolo такой возможности нет, можно только поменять разрядность  . Вообще говоря - это болезнь как раз карточек, для которых разработан драйвер. Тогда как плейеры пишутся более глобально. В свете этого - опциональная возможность изменения на глобальном уровне была бы очень кстати.
|
|
|
Aug 2, 2006, 05:08 PM
|
#6
|
|
d/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,234
Rep Power: 0
|
>Например, в Appolo такой возможности нет
а аполо винамповские плагины разве не понимает?
ну в принципе я могу еще с десяток мыслей привести почему ресемплинг в драйвере делать вредно - но не думаю что стоит продолжать...
|
|
|
Aug 2, 2006, 05:55 PM
|
#7
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
Quote:
|
Originally Posted by Max M.
а аполо винамповские плагины разве не понимает?
ну в принципе я могу еще с десяток мыслей привести почему ресемплинг в драйвере делать вредно - но не думаю что стоит продолжать...
|
Только Input плагины, а передискретизация - это Output плагин.
Я имею в виду не буквально в kx.sys - это может быть некая dll, прикрученная к микшеру (т.е. - на user level).
P.S. Вообще говоря - эффект от такой передискретизации более чем разительный:
Quote:
|
Originally Posted by HQSoftProc Software Resampling Plugin
Testing results:
using SBLive! to resample to 48000:
19KHz IMD=20%
18KHz IMD=10%
16KHz IMD=5%
14KHz IMD=1%
You don't believe me ...???? I've included in component pack generated tones
used in my test versions of 44100Hz and 48000Hz ... Should sound the same !!!
using my component for KernelPrecision=100 (that means kernelsize 16000 samples
at resampling to 48000Hz):
19KHz IMD=0.01%
18KHz IMD=0.001% ; can't measure less than this
16KHz IMD=0%
CPU Load:
<35% on Duron 825MHz for KernelPrecision 100
<22% on Duron 825MHz for KernelPrecision 50
<15% on AthlonXP2000+ for KernelPrecision 120
|
В связи с этим немного удивительно скептическое отношение к предложению решить эту проблему глобально, чтобы не зависить от приложения - источника звука.
Last edited by adsh; Aug 2, 2006 at 06:09 PM.
|
|
|
Aug 3, 2006, 04:50 AM
|
#8
|
|
d/h member-shmember
Join Date: Dec 2002
Location: Evil Empire
Posts: 2,234
Rep Power: 0
|
>Я имею в виду не буквально в kx.sys - это может быть некая dll
в том и дело что звук попавши в кернел уже в юзер левел не возвращается
(и никакие дллки и сам микшер к нему доступа не имеют) - то есть это надо делать на самом самом низком уровне и при этом с расчетом на 64 одновременно работающих экзепляра ресемплеров (поскольку драйвер может получить 64 буфера и при этом понятия не имеет откуда они пришли - то есть нужна еще какая-нибудь мутная логика включать не включать) - тд и тп...
А в плеере это сто строчек кода (80 из них тупо копируются)... а у драйвера совсем другие задачи и куча проблем и без этого...
В данном случае я бы сказал что это проблема Аполло - если в нескольких программах из той же серии есть некая возможность, а в рассматриваемой программе нет, и эта возможность для кого-то очень важна, то этот кто-то сносит рассматриваемую и юзает любую из тех что предоставляют нужную функциональность...
Это бесконечный спор.. (при этом решение не я принимаю и делаю не я - это всё к Жене - но он, я думаю, даже спорить не будет - просто скажет нет и все ;)
по цифрам - ну... это отдельный разговор - мы уйдем в глубокие дебри выясняя как нужно интерпритировать эти абстрактные проценты в физическом мире на реальных сигналах (что хуже это и так все знают)
Last edited by Max M.; Aug 3, 2006 at 05:07 AM.
|
|
|
Aug 3, 2006, 12:30 PM
|
#9
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
Логика у меня была такая - если драйвер предназначен для определённых карт, имеющих определённые проблемы, то логично было бы попробовать исправить в нём эти проблемы, путём ввода опциональной настройки (решение проблемы в kernel level, кроме описанных выше минусов имеет один плюс - меньшее потребление ресурсов). Если есть аргументированный ответ - никто и не будет спорить. В общем - пусть разработчик решает, я этой темой лишь хотел обратить на это внимание и прощупать почву.
P.S. А какие приличные плейеры, кроме старого (v. 2.95) Winamp поддерживают софтверную передискретизацию?
|
|
|
Aug 10, 2006, 01:29 PM
|
#10
|
|
DriverHeaven Newbie
Join Date: Oct 2005
Posts: 6
Rep Power: 0
|
Quote:
|
Originally Posted by adsh
Логика у меня была такая - если драйвер предназначен для определённых карт, имеющих определённые проблемы, то логично было бы попробовать исправить в нём эти проблемы, путём ввода опциональной настройки (решение проблемы в kernel level, кроме описанных выше минусов имеет один плюс - меньшее потребление ресурсов). Если есть аргументированный ответ - никто и не будет спорить. В общем - пусть разработчик решает, я этой темой лишь хотел обратить на это внимание и прощупать почву.
P.S. А какие приличные плейеры, кроме старого (v. 2.95) Winamp поддерживают софтверную передискретизацию?
|
Почему кроме v.2.95? Все винампы цепляют этот плагин. Плюс ко всему эмуляция винампа для поддержки его плагинов присутствует во многих плеерах.
|
|
|
Aug 10, 2006, 05:05 PM
|
#11
|
|
DriverHeaven Newbie
Join Date: Jul 2006
Location: Киев
Posts: 10
Rep Power: 0
|
Quote:
|
Originally Posted by EugeneM
Почему кроме v.2.95? Все винампы цепляют этот плагин. Плюс ко всему эмуляция винампа для поддержки его плагинов присутствует во многих плеерах.
|
Разумеется. Версия 2.95 была приведена как пример "приличного" плейера - более поздние мне не нравятся из-за ихлишней пересыщенности наворотами.
После многих экспериментов я нашёл оптимальный плейер. Это - Foobar2000 от одного из авторов Winamp (противника всяких ненуждных наворотов). Там передискретизация является стандартным компонентом плейера.
|
|
|
|
|
|