やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Linuxで音を鳴らす(ソフトシンセ+仮想MIDIキーボード)

新たにハードを購入せず、PCとキーボードだけで音を出す。

開発環境

概要

  • PCのキーボードをMIDIキーボードにして音高を入力する
  • ソフトシンセで再生する音を作る

これでシンセもMIDIキーボードも購入せず、PCだけで音を再生できる。

参照

種別 ソフト名
MIDIポート接続 aconnectgui
ソフトシンセ amSynth 参考
ソフトMIDIキーボード vkeybd

インストール

aconnectgui

シンセとMIDIキーボードを接続するGUIツール。

f:id:ytyaru:20170831145503p:plainf:id:ytyaru:20170831145507p:plainf:id:ytyaru:20170831145511p:plainf:id:ytyaru:20170831145515p:plainf:id:ytyaru:20170831145645p:plainf:id:ytyaru:20170831145757p:plain

グラフィカルな ALSA シーケンサ接続マネージャ
 
acconectgui は、ALSA シーケンサシステム上の既存の二つのポートの接続と
切断のための、グラフィカルなユーティリティです。任意の許可権限を持つポート、 例えば、aseqview で作成したポートなどは、あらゆる
(MIDI) デバイスポートに 接続可能です。

acconectgui は、acconect 用のフロントエンドであり、acconect のソース上に
直接書かれており、オリジナルのソースには手を付けておらず、二三個の ifdefs を追加し、gui
部分にいくつかのコールを追加しただけです。全く同じ機能を 供給していますが、グラフィカルなユーザインターフェイスを持っています。

Homepage: http://www.iua.upf.es/~mdeboer/projects/aconnectgui/
aconnectgui (バージョン 0.9.0rc2-1-9) がインストールされます
libfltk1.1 (バージョン 1.1.10-17) がインストールされます

amSynth

ソフトシンセ(音源)。

f:id:ytyaru:20170831143243p:plainf:id:ytyaru:20170831143246p:plainf:id:ytyaru:20170831143253p:plainf:id:ytyaru:20170831143259p:plainf:id:ytyaru:20170831143448p:plainf:id:ytyaru:20170831145322p:plain

2 個のオシレータソフトウェアシンセサイザー
  
amSynth features:
    * two analogue-style audio oscillators, featuring:
         o sine wave
         o saw/triangle wave with adjustable shape
         o square/pulse wave with adjustable pulsewidth
         o noise generation
         o "random" wave (noise with sample & hold)
         o oscillator sync
         o of course, detune and range control
   * mixer section with ring modulation
   * analogue-style low-pass filter
         o 24dB/octave curve
         o dedicated ADSR envelope
         o cutoff and resonance control
         o keyboard pitch tracking
   * amplifier with dedicated ADSR envelope
   * modulation LFO
         o up to 58Hz modulation
         o routable to all sections (pitch, filter, amplifier)
   * Effects
         o High quality stereo reverb (freeverb)
         o Distortion/crunch
   * Easy navigation and manipulation of presets
   * Stand-alone OSS or ALSA Midi/Audio client
amsynth (バージョン 1.3.2-2) がインストールされます
liblo7 (バージョン 0.28-3) がインストールされます

まだ音は出ない。MIDIキーボードからの入力が必要。

仮想 MIDI キーボード

midi keyboardで検索

f:id:ytyaru:20170831152211p:plain

色々なアプリがあるようだ。

アプリ名 インストール時
vmpk インストール時、何かを削除する必要があったのでやめた。
vkeybd これをインストールした

vmpk

f:id:ytyaru:20170831152138p:plainf:id:ytyaru:20170831152339p:plain

jackなんちゃらは削除したくない。よく知らないが、参考サイトで名前を見た。使うかも知れない。インストールは辞める。

vkeybd

vkeybdはPCのキーボードをMIDIキーボードにできる。マウスで鍵盤を押したり、キーボードのCを押下するとドの音が出る。C,B,NキーでC,E,Gの長三和音が出せる。

f:id:ytyaru:20170831152428p:plainf:id:ytyaru:20170831152550p:plainf:id:ytyaru:20170831152622p:plainf:id:ytyaru:20170831152725p:plainf:id:ytyaru:20170831152951p:plainf:id:ytyaru:20170831170059p:plainf:id:ytyaru:20170831170103p:plainf:id:ytyaru:20170831170107p:plain

仮想 MIDI キーボード
  
このプログラムにより、Linux の AWE32 ドライバ、OSS MIDI シーケンサ、又は ALSA MIDI
シーケンサを利用でき、キーボード又はマウスを使って X11 上で "再生" できる"仮想" キーボード (音楽の種類) を提供します。
libtcl8.5 (バージョン 8.5.15-2ubuntu1) がインストールされます
libtk8.5 (バージョン 8.5.15-2ubuntu3) がインストールされます
tcl8.5 (バージョン 8.5.15-2ubuntu1) がインストールされます
tk8.5 (バージョン 8.5.15-2ubuntu3) がインストールされます
vkeybd (バージョン 1:0.1.18d-2) がインストールされます

まだ音は出ない。音源(ソフトシンセ)と接続が必要。

aconnectguiでamSynthとvkeybdを接続する

いよいよ音を出す。

種別 ソフト名
MIDIポート接続 aconnectgui
ソフトシンセ amSynth
ソフトMIDIキーボード vkeybd

上記3アプリを起動した時のaconnectguiは以下のようになる。

f:id:ytyaru:20170831153354p:plain

amSynthとvkeybdの表示が出ている。これを接続する。マウスでドラッグ&ドロップする。virtual keyboardの▷からamSynthの▷へ。

f:id:ytyaru:20170831155637p:plainf:id:ytyaru:20170831155641p:plainf:id:ytyaru:20170831155651p:plain

f:id:ytyaru:20170831161401p:plain

所感

楽しい。タイムラグがないのが良い。

  • キー押下から発音までのタイムラグがゼロ!(WindowsXPのときはかなりラグって使い物にならなかった)
  • キーを押し続けると音割れや何度も叩く音がする……
  • 和音の確認ができた(同時6音)
    • 鍵盤数が足りない(11)
      • 転回形の確認ができないor転回形しか使えない
      • 13thテンション・ノートが打てない
  • リズムを刻むのが難しい(私にリズム感がないから。シーケンサが欲しくなる)
  • 毎回接続が必要なので面倒
  • PCメモリ1GBだと他の作業ができない

音割れがひどい。ソフトシンセを変えたら改善されたりしないだろうか。

PCキーボードの限界

PCキーボードの音域は1オクターブ分(12鍵盤)のみ。

PCキーボードは横1列11,12,13個しかない。1オクターブ12音とすると1オクターブ分しかない。黒鍵盤と合わせると1オクターブ分の音に2行使うことになる。すぐ上に別のオクターブを配置できない。その更に上となると遠すぎる。vkeybdは2行分しか配置していない。

MIDIキーボードの必要性が体で理解できた。少なくとも仮想MIDIキーボードではタイムラグがないことがわかったのでMIDIキーボードにも期待できる。

シンセサイザを使いこなせない

ピアノの音がなかった。出したい音が出せない。他のシンセを探したり勉強する必要がある?

https://www.youtube.com/watch?v=8z-SSxMgvcc