搞乐理的人都这么幽默吗?好久没有笑这么开心了。https://www.youtube.com/watch?v=ebWiF3XW4dU
打印机debug记录
起因:20年买的一台inkjet,现在打印黑白会花,但是彩打没有问题。有时间的时候试过几次在线客服,感觉非常垃圾。于是花了一两个小时自己debug。思路/收获如下:
前记:原来Qoto的Markdown支持还是不是那么好多行代码好像转行不是很顺利的样子,numbered list也好像显示不出来?算了,总之先这样发上来吧。
另外,我对繁体字的耐受度真的是上了一个台阶。这还是多亏自己寒假的时候学了一段文言文,强迫自己接受繁体字作为自己的文字之一,而不是总抱着“这是香港台湾那边使用的文字,我能转换就转换,不能转换就眯着眼睛看”的心态。心态一变化以后繁体字立刻就不那么难读了。慢慢读根据上下文多猜一猜,总能看得懂的。
迁移到Linux之后其实没有怎么打过中文,因为电脑的使用还是以学业为重。不过昨天晚上得闲,尝试翻译一点日语的时候,我彻底被日语和中文的ibus默认输入法整疯了。具体问题如下:
经过搜索引擎的帮助,我找到了一个名为Rime的输入法。
直接用apt install ibus-rime
就装上了,装上以后重启了一下电脑,也能用。今天的日程也不太满,我还是可以腾出一两个小时玩一玩config.yaml
的。那么我就开始了。
经过一些调试,我发现最大的问题就是——其实是一个feature不是bug——Rime输入法因为在Windows,MacOS和Linux上全都有版本,网上的教程经常也搞不清楚到底在说哪个版本。就连Rime自己的说明书也在不同发行版的问题上很模糊。在Linux的这个版本应该叫“中州韵”(多么好听的名字),而许多说自己在用中州韵的人其实都是在用Windows(小狼毫)或者MacOS(鼠须管)。Linux由于输入法系统iBus的一些问题,自定义皮肤是没有办法正常设置的(参考这个帖子的血泪教训)。正常情况下设了自定义皮肤也会被iBus覆盖。我在这上面可能浪费了一个小时,不过幸亏发现了前人经验,没有钻牛角尖浪费更多时间。
于是唯一可以设定的就是诸如一次显示7个备选这种简易的设定。
patch: 1 "menu/page_size": 7 2 "switcher/hotkeys": 3 - "Control+grave" #另外默认的F4我好像用不了,就单独设成了Ctrl+`
现在打字就已经顺畅许多了,应该是因为Rime的词频数据比iBus默认的更好吧。之后我还有几个想设的东西:
1的设置方法参考这篇帖子,建立文件luna_pinyin_simp.custom.yaml
:
patch: "switches/@0/reset": 1 # 初始的 ascii mode 设置为「西文」
2的设法在官方doc里有说明。虽然官方doc上没有说clear
这个选项,但是稍微研究了一下评论区以后写了如下的代码:
patch: ascii_composer/switch_key: Shift_L: noop Shift_R: clear
3的设法:
需要去下载IPA、日语之类的输入法。IPA下载方式如下:
curl -fsSL https://git.io/rime-install | bashcd plumbash rime-install ipabash rime-install custom:add:schema=ipa_xsampa
其实一个输入法也就是一个.dict.yaml
文件和一个.schema.yaml
文件(或者更多的文件),手动拷贝也可以,效果一样。另外我又从这两个链接分别下载了日语假名和汉字。下载之后我却发现好像并不太适合,毕竟我大多数时候只想打比较正常的日语,于是又经过搜索引擎的帮助,找到了一个支持比较正常的日语输入的github Repo。安装以后我相信我近期不太会头痛了。
最后既然把输入法都装全了,就可以设4了:
schema_list: # 對於列表類型,現在無有辦法指定如何添加、消除或單一修改某項,於是要在定製檔中將整個列表替換! - schema: luna_pinyin_simp - schema: luna_pinyin - schema: japanese - schema: ipa_xsampa - schema: terra_pinyin - schema: jap_poly
(其中2、4都在default.custom.yaml
中设定)。
好久不来。来存一个档,Linux系统使用苹果SuperDrive的方法:https://kuziel.nz/notes/2018/02/apple-superdrive-linux.html
前记:这是2017年底写的一篇文章。整理文件的时候翻出来,想不起来当时是不是故意模仿中学时代语文课上读的鲁迅。现在很久不用社交媒体了,也不知道X君在A校是否学有所成。
学校新开张了一个学习中心,而我成为了第一批在那里工作的人。
人来来往往,我每周在前台坐三个小时。有人来,我就给他们记下学习目标;有人走,我就问问他们作业做得怎么样。看起来很有意义的工作,但人大多缄口不言,我也识趣地寒暄两句,便放他们做作业去,继续做我的微积分。偶尔抬起头便看到他们坐在座位上刷手机,便也再次识趣地笑笑,然后仿佛没看见似的转过头去。
X君就是来学习的人之一。一走进来,我身旁的同事就笑着迎上去——
“你的衬衫真好看!”
X君就笑,给我的同事讲衬衫的裁剪云云。东拉西扯最后终于谈到作业,X君说:
“我就是来写论文的,我现在知道我要写什么了,我只是需要无尽的时间把它写下来。你们有空屋子没有,我去那边写,写不完我就不走。”
我说有,我带你去。来到一间有黑板的屋子。打开灯。“这间可以吗?”
X君笑,好啊。
我看X君安顿下来,就要走。X君突然说,你们能不能每半个小时来看我一下,免得我走神太远。
我说,好。
回到前台,继续做我的微积分。这道题很有趣,做得我昏天黑地。再抬头,已经过了许久了,我想起X君。拿起水瓶,去接了趟水,回来的时候顺路敲了敲X君的门。
“论文写得怎么样了?”
X君笑:“我前一会儿还挺有效率的。”
我看看黑板,上面写满了一个完整的提纲,但提纲的每个标题下面什么也没有。
我就问X君论文的题目是什么。于是话题延展到X君的课程,年级,专业,未来规划。X君原来在申请转学,转到另一个在X君的专业数一数二的A校。
“我跟你说,如果A校不要我,我已经完全不会在意了。那样的话我就在我们学校学。我本来以为A校和其它顶尖的学校不一样,结果去面试才知道,A校的人也那么不可一世。一举一动都在说,我们跟你在的那个学校不一样。”
我在A校上过课。教我的老师和周围的同学都对我好,也不在意我不是A校的学生。但我也听说过其他在A校上课的人说过类似的话。我将此归因为我运气好。又或者是我从未期冀过我是A校学生的水平吧。于是讪笑着答应,说,我们这个学校的这个专业也挺好的,因为离A校近,资源都有,又不是著名的A校,所以压力不大,大家甚至还是愿意互相帮助的。X君说,是吗?那我就放心了。
又寒暄了良久。我想起我的微积分。“那你赶快写论文吧,我不烦你了。有什么问题随时来找我!”
X君答应。
许多天过去,X君成了略微熟识的人。在不同的地方遇到,都能自然地聊一会天。一天,我百无聊赖地刷手机,看到X君更新了一条动态:
“2018年将要开始在A校学习。”
嗯……这里要怎么发带标题的博文呢?正好写这篇文章测试一下。
这两天study break的时候在玩Frescobaldi,因为其中几个插件都比较老了,有一些虫需要捉。这里就把捉虫的一些心得写下来。对于遇到类似问题的人希望能抛砖引玉;对于对此类细节没有太多兴趣的人,也可以看个开心吧。
记得Frescobaldi是当年修音乐史专业课时,巴洛克时期讲的第一个人。我对LiliPond这个Latex与打谱软件的结合其实已经瞻望很久了,而看到竟然有一个软件的名字在玩如此合我口味的梗,我就下载了。
(我的配置是AMD 4000 series以及PopOS 20.10。PopOS官方商店里竟然就有Frescobaldi,当时装系统的时候就开心地下载了,不过半年以后才有时间来玩它。此时Frescobaldi的版本号是3.1.2。)
刚打两行谱就受不了了——系统默认的color scheme里的高亮让我根本看不见原文。所幸这个问题很好解决,随便搜一下就找到了一个GitHub Repo,里面分享了许多常见theme。我随便下了一个nord。
之后发现预览出来的乐谱不是白纸了,变成深蓝了……于是找到设置(Edit → Preferences),在Fonts & Colors → Base colors → Preview background 找了一个比较接近与白色、又不会对比度太大的颜色。
然后开始学习打谱。软件自带的User Guide很好用,大多数东西都说得很清楚。然而写完两句想听一下的时候,遇到了前所未有的困难。
我找到了playback窗口,但是点击播放的时候虽然显示在一个小节一个小节地走,却完全没有声音。升级到PopOS 20.10以后,我的声卡其实经常断断续续不能识别(Zoom的时候别提有多乌龙了…)。于是我最开始以为是声卡的老毛病犯了。今天早上先花了半个小时确定声卡没有问题,然后才开始慢慢查MIDI播放的问题。
首先在AskUbuntu之类的网站上能看到许多类似的问题,但都是2014,甚至2008年左右提出的。稍微试了一下,好像也完全不能解决我的问题。后来发现Frescobaldi的wiki上专门有一篇讲MIDI Playback的:于是我也去装了libportmidi0,fluidsynth,qsynth和timidity(均为sudo apt-get install
)。它们之间的关系:
QSynth is a GUI of FluidSynth. They are both more actively maintained than timidity. (Note: the wiki page seems to say that either FluidSynth or Timidity would work, but based on this and what ended up working for me, both are probably necessary.)
Timidity (and probably FluidSynth) is an external midi synthesizer.
接着要把他们启动起来。
cp /usr/share/applications/qsynth.desktop ~/.config/autostart
这行可以让QSynth开机的时候自动启动。(后来想想,我并不想在下次声卡不识别、反复重启修声卡驱动的时候每次都要关QSynth……之后有时间写个脚本让它在我用Frescobaldi之前运行就可以了。)
我最开始以为有QSynth就不需要Timidity了,绕了不少远路。后来发现Timidity也要,所以也要启动它一下。这个稍微有些麻烦了,因为有点兼容性的问题,不过按照这个网页所指导的那样。我把相关的部分在这里也存个档:
To start TiMidity in daemon mode once, you can use the following command:
timidity -iA
To do so, write a timidity.service file in ~/.config/systemd/user/ like that one :
sudo nano /etc/systemd/user/timidity.service
Add the following lines to timidity.service
[Unit]Description=TiMidity++ DaemonAfter=sound.target[Service]ExecStart=/usr/bin/timidity -iA -Os[Install]WantedBy=default.target
Then enable the service with:
sudo systemctl --user enable timidity.service
如果直接输入 sudo /etc/init.d/timidity start
,会显示 sudo: /etc/init.d/timidity: command not found
。类似地如果直接输入 systemctl --user start timidity
也会显示 Failed to start timidity.service: Unit timidity.service not found.
。所以照着上面的方法建立一个.service
file还是必要的。之后 systemctl --user start timidity
就可以成功运行了。最后输入 timidity -iA
,这个窗口就被这个进程占着了。
然后去调试QSynth。最开始它的log如图一。
我没有意识到这背后的问题,照着这个error message搜了半天……现在点击Setup → Audio。Audio driver那里应该选的是jack。把它改成alsa。然后点击Restart。
现在回到Frescobaldi(可能需要重新打开一下Frescobaldi),再进入设置→ MIDI Settings。
【见图二】
把Player output改成如图所示(可能需要先点击Refresh)。其它的一些接口可能也可以,我之后再试着玩。
然后回到文件,可能需要重新compile一下(Ctrl+M)。之后MIDI Playback就有声音啦~
呵呵,现在Export Audio(把MIDI转换成wav)还是会报错,说Could not start timidity
。我什么时候再继续捉虫吧。
最初想装Linux系统的时候一大犹豫就是Sibelius用不成了。现在我已经欢快地用代码打起了谱。这里再废话几句用了Linux小半年的一些感慨。
曾经听一人说“Linux is great if you don’t care about your time”。我最开始开始使用Linux的时候心下还惴惴,但越来越觉得Linux是需要一个学习的过程。长期来看,这样的投资也会回报越来越多,因为长久发展的趋势大概是会对Linux的生态越来越好的,电脑上比较新的、现在还兼容不是很好的配件,到了之后也会越来越支持;而像windows和mac就恰恰相反,Outlook如果有个奇怪的bug就只能祈祷它尽快修复、苹果要是出了新系统并对旧系统停止支持就只能去买新机器。反正我是很享受这一波Mac换M1芯片,我不用继续追求它新发布的产品了。
所以我直到我的电脑下次声卡坏掉之前都是很满意的。
另:买新电脑其实并不是一个很好的换Linux的契机,因为顶配的一些东西太新了(要不就是太proprietary了),会不支持,还搜不到这个解决方案。我要是当时知道这个,可能能省去现在的许多麻烦。不过长远看来,这也算是投资吧。
不记得是在安装jack还是Qsynth的时候了,有一个东西会要求确认给不给它realtime priority。我只查到一个这个,当时就给了(尤其是我的电脑也只有我一个人用),后来有看到有人说其实不用给也不应该给的。总之这个就留作一个亟待解决的问题了,万一未来的某一天我电脑因为这个死机了的话,我会回来更新的。
围棋煮酒到天明。