给你的mpv添加切换左右声道的功能
2021-05-23 本文已影响0人
mudssky
使用mpv的用户脚本可以实现这个功能。
switch-audio-channel.js
,具体可以到我的脚本仓库下载https://github.com/mudssky/mpv-config
这个插件主要是个人在听一些asmr音频时萌发的需求。
因为很多情景下都是对你单边耳朵进行操作的,有时候就一直只攻击你的一只耳朵,这时候你可能就会想把左耳朵和右耳朵切换一下就好了,最简单的方法就是把耳机左右耳换一下。但是有了这个插件,你就节省了这个操作。
还有一个神奇的双耳mix模式,就是两个耳朵都分别混音了左声道和右声道。但是注意,这个模式并没有立体声的效果。两边耳朵都是左声道和右声道的mix,但是结果是失去了立体声的效果。(左右都是100%的音量mix,因此看左右声道一样的视频,比如一般的动漫你会感觉声音变大了。)
个人也不是很清楚其中的原理。
所以如果你想体验两只耳朵被攻击的感觉,建议开两个mpv,一个切换左右声道,同时播放就是立体声了。
feature
- 切换左声道和右声道
- 将左声道和右声道都设置为左声道,或者都设置为右声道
- 将左右声道,变成原来左右声道的mix
快捷键说明
快捷键很方便记忆,
- t toggle
- l left
- r right
- R reset
键位 | 作用 |
---|---|
alt+t | 切换左右声道 |
alt+l | 左右声道都播放左声道 |
alt+r | 左右声道都播放右声道 |
alt+a | 左右声道mix模式 |
shift+alt+r | 重置成立体声双声道 |
"use strict";
;
(function (mp) {
function switchFRtoFL() {
var afstr = 'lavfi=[pan=stereo|c0=c1|c1=c0]';
mp.set_property('af', afstr);
mp.osd_message('swith FR and LR.');
mp.msg.debug(afstr);
}
function switchAllFR() {
var afstr = 'lavfi=[pan=stereo|c0=c1|c1=c1]';
mp.set_property('af', afstr);
mp.osd_message('change all channels to FR.');
mp.msg.debug(afstr);
}
function switchAllFL() {
var afstr = 'lavfi=[pan=stereo|c0=c0|c1=c0]';
mp.set_property('af', afstr);
mp.osd_message('change all channels to LR');
mp.msg.debug(afstr);
}
function mixAll() {
var afstr = 'lavfi=[pan=stereo|FL=FL+FR|FR=FL+FR]';
mp.set_property('af', afstr);
mp.osd_message('change all channels to all');
mp.msg.debug(afstr);
}
function resetAF() {
var afstr = 'lavfi=[pan=stereo|c0=c0|c1=c1]';
mp.set_property('af', afstr);
mp.osd_message('reset AF.');
mp.msg.debug(afstr);
}
mp.add_key_binding('alt+t', 'switchFRtoFL', switchFRtoFL);
mp.add_key_binding('alt+r', 'switchAllFR', switchAllFR);
mp.add_key_binding('alt+l', 'switchAllFL:', switchAllFL);
mp.add_key_binding('alt+a', 'mixAll', mixAll);
mp.add_key_binding('shift+alt+r', 'resetAF', resetAF);
})(mp);