搞乐理的人都这么幽默吗?好久没有笑这么开心了。https://www.youtube.com/watch?v=ebWiF3XW4dU
打印机debug记录
起因:20年买的一台inkjet,现在打印黑白会花,但是彩打没有问题。有时间的时候试过几次在线客服,感觉非常垃圾。于是花了一两个小时自己debug。思路/收获如下:
- inkjet的墨盒就是会干的,尤其是放久了的情况下。所以如果很在意这种事情,本来就应该买一台激光打印机。
- 打印机自己可以进行的操作有clean printhead(其中有两个档位;第一档清洁后如果不满意,还有一个深度清洁),clean smear,以及align printer。如果打印一个测试页面,上面大概有一些指示去进行哪一种清洁。对于我来说,好像最有用的一种就是clean printhead,而且多做几次,不要觉得一次就完了。
- 另外还有一种手动清洁:把有问题的墨盒拿出来,用一块干净的抹布或者一次性纸巾(尽量选不掉渣的那种,也就是眼镜布、湿纸巾那个材质)把出墨的那里擦干净。
- 另外,墨盒还有一个面上有铜色的一些小点。那就是前文所说的printhead。这部分我是用95%丙醇和眼镜布仔细擦了一下,而且似乎是最有用的一步操作。往打印机装墨盒的那个位置看进去,打印机上也有对应的小铜点。我也用同样的方法清洁了那个位置。
- 虽然不是很清楚机理,但align printer好像留到最后一步再做才有道理。否则墨盒拿进拿出之后又要重新align。
- 最后,[打印机要尽量放在一个稳定的平面上。否则,打印机本身的倾斜和不稳定会影响打印质量。](https://www.reddit.com/r/printers/comments/nkx02x/hp_7510_ink_smear/)也就是说,不要把打印机塞在犄角旮旯或者放在看起来就不平的椅子上。似乎这也很大程度上改善了我的问题。
- 以及,平常要注意打印机落灰的问题。平常不用的时候盖好布,并且把能关上的部位都关上。
- 最后吐槽一下,不停地打印测试页面也花了我十多张纸,感觉实在是太浪费了。
# 输入法倒饬之Rime
前记:原来Qoto的Markdown支持还是不是那么好多行代码好像转行不是很顺利的样子,numbered list也好像显示不出来?算了,总之先这样发上来吧。
另外,我对繁体字的耐受度真的是上了一个台阶。这还是多亏自己寒假的时候学了一段文言文,强迫自己接受繁体字作为自己的文字之一,而不是总抱着“这是香港台湾那边使用的文字,我能转换就转换,不能转换就眯着眼睛看”的心态。心态一变化以后繁体字立刻就不那么难读了。慢慢读根据上下文多猜一猜,总能看得懂的。
-----
迁移到Linux之后其实没有怎么打过中文,因为电脑的使用还是以学业为重。不过昨天晚上得闲,尝试翻译一点日语的时候,我彻底被日语和中文的ibus默认输入法整疯了。具体问题如下:
1. 中文输入法里有特别不着边际的emoji,而且巨大无比(其它的字号都是我设定的20,而emoji字号至少有90+,还特别难看)。
2. 日文要不就是英式键盘,要不就是kana键盘,总之没有办法用罗马字打任何东西。我也没学过kana键盘,根本不知道我在做什么。
经过搜索引擎的帮助,我找到了一个名为Rime的输入法。
直接用`apt install ibus-rime`就装上了,装上以后重启了一下电脑,也能用。今天的日程也不太满,我还是可以腾出一两个小时玩一玩`config.yaml`的。那么我就开始了。
经过一些调试,我发现最大的问题就是——其实是一个feature不是bug——Rime输入法因为在Windows,MacOS和Linux上全都有版本,网上的教程经常也搞不清楚到底在说哪个版本。就连Rime自己的说明书也在不同发行版的问题上很模糊。在Linux的这个版本应该叫“中州韵”(多么好听的名字),而许多说自己在用中州韵的人其实都是在用Windows(小狼毫)或者MacOS(鼠须管)。Linux由于输入法系统iBus的一些问题,自定义皮肤是没有办法正常设置的(参考[这个帖子的血泪教训](https://www.cnblogs.com/hellxz/p/10198540.html))。正常情况下设了自定义皮肤也会被iBus覆盖。我在这上面可能浪费了一个小时,不过幸亏发现了前人经验,没有钻牛角尖浪费更多时间。
于是唯一可以设定的就是诸如一次显示7个备选这种简易的设定。
```yaml
patch:
1 "menu/page_size": 7
2 "switcher/hotkeys":
3 - "Control+grave" #另外默认的F4我好像用不了,就单独设成了Ctrl+`
```
现在打字就已经顺畅许多了,应该是因为Rime的词频数据比iBus默认的更好吧。之后我还有几个想设的东西:
1. 把初始设定改成英文。毕竟电脑打英文更多。
2. 把简易的切换改成右Shift而不是左Shift。左Shift经常会按到,会触发切换。
3. 加入日语输入法,再也不头疼。
4. 更改选单:删掉仓颉、注音这一类我不用的东西。加入日语、IPA等我会用的东西
1的设置方法参考[这篇帖子](https://www.cnblogs.com/keatonlao/p/12983158.html),建立文件`luna_pinyin_simp.custom.yaml`:
```YAML
patch:
"switches/@0/reset": 1 # 初始的 ascii mode 设置为「西文」
```
2的设法在[官方doc](https://gist.github.com/lotem/2981316)里有说明。虽然官方doc上没有说`clear`这个选项,但是稍微研究了一下评论区以后写了如下的代码:
```yaml
patch:
ascii_composer/switch_key:
Shift_L: noop
Shift_R: clear
```
3的设法:
需要去下载IPA、日语之类的输入法。IPA下载方式如下:
```
curl -fsSL https://git.io/rime-install | bash
cd plum
bash rime-install ipa
bash rime-install custom:add:schema=ipa_xsampa
```
其实一个输入法也就是一个`.dict.yaml`文件和一个`.schema.yaml`文件(或者更多的文件),手动拷贝也可以,效果一样。另外我又从这两个链接分别下载了日语[假名](https://github.com/lotem/rime-kana)和[汉字](https://github.com/biopolyhedron/rime-jap-poly)。下载之后我却发现好像并不太适合,毕竟我大多数时候只想打比较正常的日语,于是又经过搜索引擎的帮助,找到了一个支持比较正常的日语输入的[github Repo](https://github.com/gkovacs/rime-japanese)。安装以后我相信我近期不太会头痛了。
最后既然把输入法都装全了,就可以设4了:
```yaml
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校学习。”
# Frescobaldi捉虫记录
嗯……这里要怎么发带标题的博文呢?正好写这篇文章测试一下。
这两天study break的时候在玩Frescobaldi,因为其中几个插件都比较老了,有一些虫需要捉。这里就把捉虫的一些心得写下来。对于遇到类似问题的人希望能抛砖引玉;对于对此类细节没有太多兴趣的人,也可以看个开心吧。
记得Frescobaldi是当年修音乐史专业课时,巴洛克时期讲的第一个人。我对LiliPond这个Latex与打谱软件的结合其实已经瞻望很久了,而看到竟然有一个软件的名字在玩如此合我口味的梗,我就下载了。
(我的配置是AMD 4000 series以及PopOS 20.10。PopOS官方商店里竟然就有Frescobaldi,当时装系统的时候就开心地下载了,不过半年以后才有时间来玩它。此时Frescobaldi的版本号是3.1.2。)
## 界面与基本操作
刚打两行谱就受不了了——系统默认的color scheme里的高亮让我根本看不见原文。所幸这个问题很好解决,随便搜一下就找到了一个[GitHub Repo](https://github.com/frescobaldi/frescobaldi-themes),里面分享了许多常见theme。我随便下了一个nord。
之后发现预览出来的乐谱不是白纸了,变成深蓝了……于是找到设置(Edit → Preferences),在Fonts & Colors → Base colors → Preview background 找了一个比较接近与白色、又不会对比度太大的颜色。
然后开始学习打谱。软件自带的User Guide很好用,大多数东西都说得很清楚。然而写完两句想听一下的时候,遇到了前所未有的困难。
## Playback与需要的许多插件
我找到了playback窗口,但是点击播放的时候虽然显示在一个小节一个小节地走,却完全没有声音。升级到PopOS 20.10以后,我的声卡其实经常断断续续不能识别(Zoom的时候别提有多乌龙了…)。于是我最开始以为是声卡的老毛病犯了。今天早上先花了半个小时确定声卡没有问题,然后才开始慢慢查MIDI播放的问题。
首先在AskUbuntu之类的网站上能看到许多类似的问题,但都是2014,甚至2008年左右提出的。稍微试了一下,好像也完全不能解决我的问题。后来发现Frescobaldi的wiki上专门有[一篇](https://github.com/frescobaldi/frescobaldi/wiki/MIDI-playback-on-Linux)讲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](https://www.reddit.com/r/Ubuntu/comments/255lrj/frescobaldi_midi_player/) and what ended up working for me, both are probably necessary.)
>
> Timidity (and probably FluidSynth) is an external midi synthesizer.
接着要把他们启动起来。
```bash
cp /usr/share/applications/qsynth.desktop ~/.config/autostart
```
这行可以让QSynth开机的时候自动启动。(后来想想,我并不想在下次声卡不识别、反复重启修声卡驱动的时候每次都要关QSynth……之后有时间写个脚本让它在我用Frescobaldi之前运行就可以了。)
我最开始以为有QSynth就不需要Timidity了,绕了不少远路。后来发现Timidity也要,所以也要启动它一下。这个稍微有些麻烦了,因为有点兼容性的问题,不过按照[这个](https://askubuntu.com/questions/1237960/how-to-use-timidity-in-ubuntu-18-04)网页所指导的那样。我把相关的部分在这里也存个档:
> 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++ Daemon
After=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。我只查到一个[这个](https://askubuntu.com/questions/29318/can-it-be-harmful-to-grant-jackd-realtime-priority),当时就给了(尤其是我的电脑也只有我一个人用),后来有看到有人说其实不用给也不应该给的。总之这个就留作一个亟待解决的问题了,万一未来的某一天我电脑因为这个死机了的话,我会回来更新的。
围棋煮酒到天明。