kotonoha_pcg@気ままに雑記

kotonoha_pcgが気分次第で様々な事を書き置きます.別館:http://tukdua.hatenadiary.jp/

JACKサーバに替える

 こんにちは.4月に入り,そろそろ体力無しでは色々ときつい季節になりました.というのも,冬場はオフシーズンで自転車乗りませんが,春夏秋は毎日乗ります.その関係でよく筋肉痛になるのが日常茶飯事です.慣れればなんともないんですけどね.今回はPulseAudioからJACKサーバに替えた話.備忘録の要素がかなり強いかなぁ.

動機

 元々flac音源を多く使っていました.そこで,flacだけでなくmp3でももうちょっと高音質で聴きたいなぁ,という思いを持ち始めたので,いっそのことカーネルともども替えてしまえば良いと考え,替えました.

作業

カーネル

 Synaptic パッケージマネージャ(要スーパーユーザー権限)からカーネルとモジュールに飛び,パッケージ一覧から"linux-lowlatency-hwe-16.04"をマークしてインストール指定.依存関係を含める.適用後,再起動.

JACKサーバ

 簡単に書くと,jackd2/jackd,qjackctlを各依存関係含めてインストール.再生プレーヤ(ここでは愛用しているAudacious)の出力設定を任意の出力からJACK出力に変更します.

JACK

 例にもれずGNUのような再帰的頭字語,"JACK Audio Connection Kit"というらしい.詳しいことは投げるとして,つまりサウンドサーバの一種.たぶんUbuntuなどでデフォルトに設定されている(特に手を加えなくても音が出る)ならPulseAudioを使っているはず.ALSAからデータをPulseAudioサーバに送り,またALSAはPulseAudioサーバを利用してサウンドデバイスにデータを送る,というのがかなり大雑把な説明か.他に音楽を再生しつつ,横でブラウザゲームが出来てかつその効果音も一緒に聞こえるのはこれの所為.

qjackctl

 JACKのQtフロントエンド.本来JACKの設定等はコマンドであり,また設定項目も多いが,これをGUIで行える.はっきり言って楽なのでとりあえず聴きたいなら使うべき.Ubuntu Japanese Team Wikiの項目が細かく書かれている.
https://wiki.ubuntulinux.jp/UbuntuStudioTips/Application/qjackctl

qjackctl

 此処から先は私の設定例を載っけておきます.設定から設定→パラメータ,Advancedそれぞれを次に設定.ここからは面倒だから画像載せます.
f:id:kotonoha_pcg:20170403140017p:plain
f:id:kotonoha_pcg:20170403140029p:plain
ここで,設定→パラメーターでのサンプルレートが後述するサンプリング周波数コンバーターのレートと合致していないと音が出ない(周波数がそもそも違う値なので噛み合わない,という方が良いのだろうか).
1枚目のインターフェース,2枚目の出力デバイスは私の場合です.詳しくいうと前者はサウンドカード(であると推測している),後者はHDA Intel PCH.
最後に"その他".
f:id:kotonoha_pcg:20170403140352p:plain

Audacious

 qjackctlを立ち上げておく.Audaciousの設定で,オーディオタブから出力プラグインを"JACK出力"に変更.
f:id:kotonoha_pcg:20170403135014p:plain
 プラグインはエフェクトのみについて,それ以外はお好みで.エクストラステレオ0.6,ダイナミックレンジコンプレッサー0.5/0.4,BS2Bはデフォルト,サンプリング周波数コンバーターは高品質sinc補間/96000Hz.レートマッピング無し.
特に最後のサンプリング周波数コンバーターは,ここでのレート設定がqjackctlで設定したサンプルレートと合致していないと再生できない罠に嵌った記憶がある.BS2Bは聴く曲によって変更しますが,それ以外は概ねこの通りです.

まとめ

 今回はPulseAudioサーバからJACKサーバへと変更を行いました.ここではあくまで音楽を聴くときはJACK起動した上でAudacious,それ以外はJACKサーバを閉じてデフォルトのPusleAudioサーバから出力,というように分けています.その他,例えば双方の共存などを行いたい人は他を探してみると良いと思います.

参考サイト

夜な夜な涙とともにパンをかじった。: Jack インストールと設定・3分クッキング
例えばサウンドデバイスの設定(適切なサウンドドライバの調査),ここより詳細な設定や話が書かれている.ここではJACKとPulseAudioとの共存は行わない(あくまで適材適所)ので,そういった場合は参照するべきだろう.

私の筆記具について

 先日,万年筆を購入してきました.だいぶ書くのにも慣れてきたので,それも兼ねて筆箱やその中身を書きます.

筆箱

 運搬時の問題などから高校の時には筆箱を持たないということも有りましたが,今は普通に使っています,今使っているのはLIHIT LABさんのこれ.

ペンケース[2ウェイタイプ]|製品情報|株式会社リヒトラブ
黒か茶か橙かの三択だったので,茶を選択しました.ハサミとかは流石に大きい物は入りませんが,無駄に多いシャーペン替え芯ケースやステープラー,のり,カッターナイフや何本かの筆記具が入れられるだけはあります.利点といえば細長い形状をしているので,バックパック等の限られた空間にさっと入れることが出来ることでしょうか.2年目ですが,特にぶっ壊れたとか生地が切れた・裂けたということは無いので,耐久性はある方だと思います.

 高校時代に筆箱を持たなかった最もな理由は,その分の空間が惜しいからでした.周りから山岳部みたいと揶揄される大きさではあったものの(そもそもその大きさには敵わない),いくつかの参考書や教科書,特に冬期はブランケットを入れるだけでメインポケット・サブポケットは使えなくなるために筆記具は裸でそれの前面ポケットや胸ポケットに差して運搬することが多かったです.後は雨とかかなぁ.

筆記具

 ペン好きかどうかは自覚はありませんが,昔鉛筆を使用していた頃から変わっていたとは若干思います.

シャープペンシル

 中・高・現在とよく使っている筆記具.最近はあまり出番なし.

  • グラフシリーズ

 中2で手にしたグラフギア500から始まり,同1000,グラフ1000 forPROと一貫して0.3mmを使っています.特にグラフ1000 forPROはグラフギアに比べれば取り回しが容易であり,先端の視界も良好なため,2B芯を入れて作図,HBを入れて一般筆記とどちらでも使える点が好きかな.グラフギア1000は会津大学でCSSC2014に参加した時に売店で買ってから使っていました.ダブルアクション式で結構重く,筆記にしか使っていなかったと記憶しています.

 本格的に0.3mmを主軸に使い始めた機種です.初期はスタンダードを,それ以降はハイグレードを使っています.クルトガエンジンは確かに使い易いと感じています:現にこれ以外を主力として使っていたのは数えるほどしかありません.小学校で鉛筆につける持ち方プニュグリップなどをグリップに嵌めておくと楽になります.アルファゲル型も0.3mmが出てくれたら良いんだけどなぁ.
人に貸す必要が出てくる場面は今まで何回かあったので,一応0.5mmのラバーグリップタイプも入れてありますが,私が使うことはまずありません.

  • オレンズシリーズ,デルガードシリーズ

 買ってみたはいいものの,使いみちがなく机で眠ってます.0.2mm芯もアインシュタイン芯以外の芯(例えばHi-uni芯)があれば検討するんですが,現状国内製品では無いので微妙というところです.デルガードは本当に何故買ってしまったんだろう.筆圧がバキバキ芯折るほど強くないので,謎です.

  • 万年CIL

 今年1月3日に買ったもの.今回万年筆を買い,改めて万年筆っぽいデザインだなぁと思いました.特徴的なペン先のラインによってグラフ1000 forPROなどと同様,視界は良い方です.万年筆のように後ろの方に重心がくるので,それ以外のクルトガハイグレードやグラフ/グラフギア系のような低重心よりは慣れが必要かもしれませんが,筆記性は確かなものと感じます.また,必ずしも使用するものでもない消しゴムが邪魔にならないこと,手帳などに挿した時の利便性もちょうどいい.流石に長時間の筆記が快適かどうかは疑問が有りますが,46年も製造/使用され続けているだけの理由はあります.

ボールペン

 最もよく使っている筆記具.書類書きにも普段のノートにもレポートにも万能に使える.

 中二から使用.途中で同じuniのユニボールシグノを使った時も有りましたが,最終的にこっちに戻ってきています.最終的に径は0.38mmに落ち着きました.滑らかな筆記性能を求めるなら,油性ボールペンの中では実質一強ではないかと思います.確実さは証券用ボールペンとかが上かと思いますが.スタイラスとスタンダードを使っていますが,スタイラスは定期的に交換する前提なら長く使えています.

 こすると消えるアレ.筆記感も悪く,もう使うことはないと思います.書類にも使えないし.偶にニュースでそういうのを見ますが,フリクションの特性をよく理解せずに使っている辺り不安になります.勿体無い.

万年筆

 ここまで来てようやく主題です.先週土曜日,秋田某所の文房具店でPILOTのCOCOON(F)を買ってきました.kakunoを買うという選択肢もあったし,kakunoとCOCOON両方買うという選択肢も存在したと思うのですが,金銭的な面というよりも実物を見て溢れ出るスタイリッシュさに押されて購入しました.色は黒がどうだろうと思っていたのですが,店頭でそれしか在庫が無かったブルーを見て,それほど明るくなく落ち着いた質感と色味で,必ずしも黒でなくても良いのではと思いました.試し書きはkakunoより重いボディ(それはそう)のおかげで滑るような書き味,指の先で書いていたボールペンと違って手全体で書くというのを感じました.字幅は0.5mmくらいのボールペンとほぼ同一でしょうか.インキはカートリッジ(純正 黒)を挿してもらいましたが,コンバータも使えるようなので,慣れたら使ってみたいなぁ.色彩雫朝顔や月夜が面白そうです.
 ネット上だとクリップが安っぽいとか言われてましたが,逆にこのくらいが良いのではないかと思います.というのも,あくまでエントリーモデルでありこの価格帯なので,クリップに装飾性を求める人はまず買わないと思うからです.またこのボディのスタイリッシュなデザインに対してシンプルなクリップを付けることに意味が有り,逆に装飾性が高いクリップはデザインにも依りますが似合わないなぁ,とも考えます.いずれにしても,過度な装飾性や高級感も無く,実質的に最初の一本として購入するには適切だと感じました.書き味などはこの限りでは無いと思います.
 また,紙については心配していましたが,少なくとも家で使っているコピー用紙では引っかかりも殆ど無く,スムーズに書けています.ノートとしてはボールペンなどに有効なモレスキンのノートは残念ながら万年筆には不向きらしいので,選択肢としてはMDノートとかですかね.LIFEノーブルノートの紙を万年筆購入時2枚ほどサービスしてもらえたので少し書きましたが,このレベル固有なのか,大きな違いは判りませんでした.後はコクヨのCampusノートブックの書き味を確かめたいところです.

修正用具

  • 消しゴム

www.pentel.co.jp
 これのブラックとプラス WAIR-IN消しゴムを使っています.前者は消字性能と減り具合のバランス,後者は消字性能に特化している,という感じです.また,昨日ぺんてるのクリックイレーザー・ハイパーレイザーが届いたのでこれも使っています.こちらはまだ評価中ですが.

まとめ

 以上です.万年筆自体は久々に書いてることが楽しいと感じましたし,メンテナスを怠らなければ文字通り何年も使えそうです.COCOONにはF/Mしかないので,EFやそれら以外の太さを求める人はカスタム74などを選べば良いのではないでしょうか.私は現時点ではFで十分と思いますし,EFだとカリカリ感が気になりだすのかなぁ,とも思っています.

vimrcを慌ててバックアップする

 昨日の夕方,界隈でGitHubの話が出ていたのをさっき思い出し,急いで更新しました.
github.com
 内容は,ここvimを書くという文を書いたな,あれは嘘だ - kotonoha_pcg@気ままに雑記で書いたものと同じです.コミットからどこが無くなったとか新しくどこを追加したとか見れるので,ローカルやDropBoxなどで管理するよりもかなりdiffを取りやすいです.

fedoraに環境変えたのでangolmoisのコンパイルやり直し

11ヶ月くらい前,こんなのを書いた.
kotonoha-pcg.hatenablog.com
今回はfedoraでやり直したので,それを書く.ライブラリ名が違うというのが主な要因.apt系だと慣れてるのもあるかもしれないが,基本的にパッケージ名+バージョン(バージョン名,devel等)で入れることができた一方,dnfでは検索結果は出してくれますが,先述した記事の内容ほどでは無い.例えば,pkg-configと打ってたものは-無しのpkgconfig,libsdl1.2-devはSDL-1.2.15-21.fc24.x86_64になっていた(libの有無は未検証).

主にインストールするリストは

dnf install pkgconfig SDL-1.2.15-21.fc24.x86_64 SDL-devel-1.2.15-21.fc24.x86_64 SDL_mixer-devel-1.2.12-11.fc24.x86_64 SDL_image-devel-1.2.12-14.fc24.x86_64

以上.これに加えてsmpegを入れようと思ったのだが,それっぽいのが確認できなかったのでrpmパッケージを取ってきて入れた.smpeg-devel-0.4.5-2.1.x86_64.rpmとsmpeg-0.4.5-2.1.x86_64.rpmを任意の所に入れてインストールする.あとはmakeした.

警告

今までの状態でmakeすると,次のような警告が出る.

[root@localhost angolmois]# make
cc -Os -Wunused -Wall -W -std=c99 angolmois.c `pkg-config --cflags --libs sdl SDL_image SDL_mixer` `smpeg-config --cflags --libs` -o angolmois
angolmois.c:254:19: 警告: ‘DIRSEP’ defined but not used [-Wunused-const-variable=]
 static const char DIRSEP = '/';
                   ^~~~~~

DIRSEPは定義されてるけど使えない(or使われてない?).ソース見ると182行目と254行目に同じ文があり,前者は'\\',後者は'/'だった.DIRSEP自体は他に検索文字列が見つからず,179行目に#ifdef _WIN32とあるので,無視しても問題ないか,と結論した.

スクショ

何故かデフォルトのフルスクリーンが動作せず,明示的なフルスクリーンオプション--fullscreenもダメだったので,-wオプションをつけてウィンドウモードで動かす.小さくてやや見辛い.GENOSIDE BMS StarterPackageに入ってた記憶がある,P*Light氏のPoppin' Shower/hyperのスクショ.スコアがゼロなのは2回前の記事の通り,スクショが撮れなかったから手動で取ったため.
f:id:kotonoha_pcg:20170109185613p:plain
一応この後のでこれもクリアしたし,他のBMSファイルでも問題なく動作する(仕様なので当たり前)ので,-wしてプレイしていれば特に問題は無い.マウスカーソルも操作できる.

vimを書くという文を書いたな,あれは嘘だ

今年一年で何回か()vimrcを書き換える機会があったので書いてました.やっとプラグインを入れるというのがどういうことか理解できた年だと思います.少なくとも昨年のようなにわか未満よりは吸収しているはず….今回の記事はその中で良いなと思ったこと,vimrcの中身,あと使ってるプラグインを書いていきます.

1. vimrc
vimrcは偶に確認したり,他に良さそうな書き方がないか調べて追加する程度です.偶に,とは言えないほどの頻度で書き換えてる時もありますが,ある程度区切りをづけることも大事(とサバイバルマニュアルに書いてあった)なので,暫く他の作業,なるべく環境設定以外の作業をするようにしています.例えば,11月後半や12月初期はQtを書いていました.
以下,.vimrc.文字化けが怖いので,コメントの後にひらがなで書かれているのがこの記事で付け足したコメントです.英語は気にしないで(切実)

"互換性を無くす
set nocompatible
"change character code
set fenc=utf-8
"not create backup file
set nobackup
"not create swap file
set noswapfile
set showcmd
set hidden
"編集中の行でなくてもbackspaceで削除できるようにする
set backspace=indent,eol,start
"編集中の行をハイライト
"highlighting current cursor line
set cursorline
"編集中の列をハイライト
"highlighting current cursor corumn
set cursorcolumn
"インデント関係
"setting indent
set autoindent
set smartindent
"インデントに合わせて折り返し
set breakindent
"プラグイン:lightlineのため
"statusline ever indicate
set laststatus=2
set autowrite
"set list
set wrapscan
set showmatch

filetype plugin on
filetype indent on

"setting to vim-indent-guides
"機能しているかどうかよく分からない‥
"If starting Vim, indent auto on.
let g:indent_guides_enable_on_vim_startup = 1
"コピペ
"setting copy and paste
set clipboard=unnamed,autoselect
"Key binding for open .vimrc
nnoremap <Space>. :<C-u>tabedit $MYVIMRC<CR>

set background=dark
set noexpandtab
set tabstop=4
set shiftwidth=4
set number
set title
"確か無くても良いような覚えがあるけど,他の環境やプラットホームでも使い回しているので書く
"set ruler
set t_Co=256

"colorscheme setting
colorscheme molokai
"setting of syntax
syntax on
"記号とかを使った時,行のずれを修正する
"use multi-byte character setting(for japanese?)
set ambiwidth=double


2. 色々
a. colorscheme
colorschemeは,基本molokaiを使ってました.monokaiも考えたんですが,どちらが見易いかにcolorschemeを設定する意義があると考えた結果,こうなりました.これが使えない環境(Ubuntu Server等GUIterminalがデフォルトでは使えない環境)ではelflordを使っていました.やっぱりlight系には慣れません.

b. cursolline&column
これは12月前後に追加しました.行だけのは前から使っていましたが,列は知りませんでした.変なエラーで毎回修正するのが億劫になっていたのも影響かもしれません.コーディングしてコンパイルしててエラー吐かれた時に,列情報を出力されることがあり,そういったときにピンポイントで探すことができて良かったな,と思ったことが何度もありました.

3. プラグイン
a. vim-processing
学校の授業で,javaの前にprocessingをやったので,これを使いました.はっきりいって,processingがなんだったのかあまり覚えていません.色々やろうとしたけどやれませんでした….この時はまだvim7.4でしたが,自分のPCではなったので香り屋版のGVim,~/.vim以下にフォルダ作って投げた記憶があります.今は必要最低限のプラグイン管理機能が付いた(vim8.0.x~)ので安心ですね().
github.com
因みに,processing-IDEの標準の編集画面はほぼ使ってません.使い辛かったから.

b. lightline.vim
powerlineの強化版みたいなやつ.今どこいるのかわかりやすくて好きです.色変えようとしたんですが分からなかったので俺はやめました.書いてあることはちゃんと読もうね!
github.com

c. syntax系
2種類ほど.vim-css3-syntax,vim-javascript-syntaxの二つ.一応どちらも入ってないように感じたので.cssは多分1,2は入ってるだろうけど3は入ってないと判断.html5に対応したインデントも入れてますが,5の機能を使う事はなさそうな気がします;;

github.com
github.com
github.com

一応,ちょこちょこhtmlやjavascriptは書いてます.勉強しないと書けないからね.

以上です.