試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Hydrogenドラムマシンの概要と幾つかのメモ(バージョン0.9.4時点)

Hydrogenはドラム演奏を行うソフトウェア。演奏パターンを必要なだけ作成し、これらを組み合わせて曲(ソング)を組むという形式をとる。
具体的な使い方については別記事で扱う。

GUIの表示が見づらい場合の対処

環境によるのかも知れないが、バージョン0.9.4ではツールチップが真っ白になって読めないことがあり、設定ダイアログで外観を変えてもうまくいかない。

しかし、外観の設定で「GTK+」を選択してGTK+ 2のテーマを用いる設定にする*1と、GTK+のテーマによってはダイアログの文字が読みにくくなってしまうが、Hydrogenの見栄えに合うような暗めの色のテーマを環境変数GTK2_RC_FILESに設定して起動するとツールチップも含めてうまく表示できるようになる。その際、GUI部品のスタイルもそのGTK+のテーマのものとなる。
下は「Aurora-Midnight」テーマを使用した場合における端末や「アプリケーションの実行」からの起動例。

env GTK2_RC_FILES=/usr/share/themes/Aurora-Midnight/gtk-2.0/gtkrc hydrogen


出力先サウンドシステム

Hydrogenが対応する出力サウンドシステムは

  • JACK Audio Connection Kit
  • ALSA
  • OSS
  • PortAudioライブラリによる選択

で、JACKでは演奏位置同期(JACKトランスポート)にも対応しており、別のJACKトランスポート対応アプリケーションと同時に音を鳴らしたり、別のアプリケーション上で同期しながら録音したりすることができる。
ALSAOSSの場合は音声の出力がそれらのサウンドシステムから出力されるのみで同期を行ったりはできないが、このアプリケーションはALSAMIDIポートを作るので、ALSA MIDI対応のアプリケーション*2からMIDI信号で制御することはできる。
また、曲(ソング)全体をWAVE形式に書き出すこともできる(「Project - ソングのエクスポート」)。

LASH(LASH Audio Session Handler/旧LADCCA)サポートについて

LASH(関連記事)サポートを有効にしてビルドした場合にLASHセッション内のアプリケーションとしてLASHの管理ツール*3からプロジェクトが選択されたときに起動されるようになるのだが、バージョン0.9.4の時点ではHydrogen側がLASH関係のコマンド行引数を処理できずにうまく起動できていないようだ。

server.c:154:server_send_event: sending server event with type 3
server.c:750:server_main: recieved event of type 3
project.c:820:project_restore: attempting to restore project in dir '[プロジェクトディレクトリ]'
project.c:862:project_restore: resored project with:
project.c:863:project_restore:   directory: '[プロジェクトディレクトリ]'
project.c:864:project_restore:   name:      '[プロジェクト名]'
project.c:865:project_restore:   clients:
project.c:870:project_restore:   ------
project.c:872:project_restore:     id:          '[ID文字列]'
project.c:873:project_restore:     working dir: '[作業ディレクトリ]'
project.c:874:project_restore:     flags:       16777218
project.c:875:project_restore:     argc:        1
project.c:876:project_restore:     args:
project.c:878:project_restore:       0: 'hydrogen'
project.c:889:project_restore:     no alsa patches
project.c:893:project_restore:     jack patches:
project.c:897:project_restore:       [ID文字列]:out_L -> system:playback_1
project.c:897:project_restore:       [ID文字列]:out_R -> system:playback_2
hydrogen: unrecognized option '--lash-project=[プロジェクト名]'
hydrogen: unrecognized option '--lash-server=localhost'
hydrogen: unrecognized option '--lash-id=[ID文字列]'

Hydrogen 0.9.4 [[ビルド日]]  [http://www.hydrogen-music.org]
Copyright 2002-2008 Alessandro Cominu

Hydrogen comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details

Usage: hydrogen [-v] [-h] -s file
   -d, --driver AUDIODRIVER - Use the selected audio driver (jack, alsa, oss)
   -s, --song FILE - Load a song (*.h2song) at startup
(以下略)

(「Hydrogenドラムマシンの基本的な使い方(バージョン0.9.4時点)」に続く)

関連記事:

使用したバージョン:

  • Hydrogen 0.9.4
  • LASH 0.5.4
  • Qt 4.5.3
  • GTK+ 2.18.3

*1:Qt4のバージョン4.5以上でGTK+のテーマがQt4で使えるようになっている・「Qt 4.5でGTK+ 2のGUIスタイルが使用できることに気付く」も参照

*2:Wineでオーディオ出力先をALSAにしたときのWindows向けMIDIアプリケーションも含む

*3:LASH本体付属のLASH Control Panel(lash_panel)や別プロジェクトのGLASHCtl