Плейлист увы не скролится , обложка статическая - не масштабируется.И обложку можно подобрать для машины
Список разделов › foobar2000 › Есть вопрос!
Плейлист увы не скролится , обложка статическая - не масштабируется.И обложку можно подобрать для машины
В том-то и дело, что реальную АЧХ тоже нужно знать, чтобы учитывать изменение её восприятия при изменении громкости. И, если тонкомпенскция осуществляется программно, то программа должна учитывать эти данные. И регулировать громкость в таком случае можно только программно. Это, повтгрюсь, если нужна правильно работающая тонкомпенсация. Ну а для того, чтобы просто сделать эквалайзер "галочкой", такие сложности не нужны, конечно.Joice:Не сочтите меня занудой, но что за проблема измерить максимальное и минимальное звуковое давление в любой системе? Это проще, чем снять АЧХ.
Насчет масштабирования заметил, плейлист проверить нет возможности, но думаю при желании все вопросы решаемы. Данная обложка очень понравилась и если бы нужно было поставил себе в машину. Но предпочитаю качественные проигрыватели в "классическом" исполнении. Стоит не первый год хорошая голова с неплохим встроенным усилителем и кучей настроек. Тонкомпесация имеет три уровня настроек, при включении и глухой слышит разницу. В программном исполнении ничего даже близкого не слышал.seriousstas:Плейлист увы не скролится , обложка статическая - не масштабируется.
Самая "свежайшая" от 2012.07.16 - https://yadi.sk/d/Kn4Ef72tM4_oWwduzzy:Еще есть всеми забытый плагин foo_dsp_vlevel
https://hydrogenaud.io/index.php?topic=22057.0
это конечно не совсем то что нужно, но я им пользуюсь в машине самое то, но он иногда валит фубар. Есть версия посвежее
var dsp_active_name = "";
var dsp_str = fb.GetDSPPresets();
var dsp_arr = JSON.parse(dsp_str);
var dsp_count = dsp_arr.length;
function get_dsp() {
dsp_active_name = "";
dsp_str = fb.GetDSPPresets();
dsp_arr = JSON.parse(dsp_str);
dsp_count = dsp_arr.length;
for (var i = 0; i < dsp_arr.length; i++) {
//tt(">>> dsp presets name # " + i + ": " + dsp_arr[i].name);
if (dsp_arr[i].active) {
dsp_active_name = dsp_arr[i].name;
}
}
tt('>>> dsp presets count = ' + dsp_count);
tt(">>> dsp active name = " + dsp_active_name);
};
//get_dsp();
function get_dsp_idx(dsp_name) {
for (var i = 0; i < dsp_arr.length; i++) {
if (dsp_arr[i].name == dsp_name) {
return i
}
}
};
function on_dsp_preset_changed() {
get_dsp();
};
var vol_lvl = Math.ceil(fb.Volume);
function on_volume_change(val) {
//---
// 0 is max
// -100 is min
vol_lvl = Math.ceil(val);
if (isNaN(vol_lvl))
vol_lvl = Math.ceil(fb.Volume);
if (vol_lvl == 0) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp 0")); // set dsp preset 0
};
if (vol_lvl == -5) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -5")); // set dsp preset -5
};
if (vol_lvl == -10) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -10")); // set dsp preset -10
};
if (vol_lvl == -15) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -15")); // set dsp preset -15
};
if (vol_lvl == -20) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -20")); // set dsp preset -20
};
if (vol_lvl == -25) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -25")); // set dsp preset -25
};
if (vol_lvl == -30) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -30")); // set dsp preset -30
};
if (vol_lvl == -35) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -35")); // set dsp preset -35
};
if (vol_lvl == -40) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -40")); // set dsp preset -40
};
if (vol_lvl == -45) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -45")); // set dsp preset -45
};
if (vol_lvl == -50) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -50")); // set dsp preset -50
};
if (vol_lvl == -55) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -55")); // set dsp preset -55
};
if (vol_lvl == -60) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -60")); // set dsp preset -60
};
if (vol_lvl == -65) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -65")); // set dsp preset -65
};
if (vol_lvl == -70) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -70")); // set dsp preset -70
};
if (vol_lvl == -75) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -75")); // set dsp preset -75
};
if (vol_lvl == -80) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -80")); // set dsp preset -80
};
if (vol_lvl == -85) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -85")); // set dsp preset -85
};
if (vol_lvl == -90) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -90")); // set dsp preset -90
};
if (vol_lvl == -95) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -95")); // set dsp preset -95
};
if (vol_lvl == -100) {
tt(">>> vol = " + vol_lvl);
fb.SetDSPPreset(get_dsp_idx("dsp -100")); // set dsp preset -100
};
};
on_volume_change();
function tt(t) {
console.log(t);
};
Спс.Azaza:Подробнее тема развита здесь
Ну, пресеты можно и от балды сделать, без измерений.HankH:Со скриптом и массой точных измерений для пресетов довольно заморочено.
Про WOK там же в теме сказано - при изменении громкости ползунком регулировки громкости WOK не будет работать.HankH:Потому понравился простотой метод с LOUDNESS VST BY WOK.
Поставил сам плагин и его адаптер для F2K. Подкючил.
Но, толи стар стал, и уши совсем не слышат разницы. Толи лыжи не едут.
For it to work correctly with fb2k, volume should be changed before this VST. But volume bar changes volume after DSP. So it is needed to add to DSP chain some plugin that can change volume and use it instead of volume bar. Otherwise, correction level will be fixed regardless of volume.
Захотелось-таки проверить из спортивного интереса.Azaza:Про WOK там же в теме сказано - при изменении громкости ползунком регулировки громкости WOK не будет работать.
Задержка изменений в звуке после изменения настроек DSP зависит от величины выходного буфера. Того, который File->Preferences->Playback->Output->Buffer lengthHankH:При этом возникает довольно продолжительная задержка после перемещения движка до реального изменения громкости.
Можно назначить горячие клавиши для открытия DSP Manager.HankH:И ещё момент.
Для работающих c Column UI, связанный с дополнительным путешествием по интерфейсу, чтобы вызвать Amplify configuration для управления уровнем.
Именно так и обстоит.Azaza:Задержка изменений в звуке после изменения настроек DSP зависит от величины выходного буфера. Того, который File->Preferences->Playback->Output->Buffer length