FC2ブログ

<< 前のページ | 次のページ >>

solved: Cannot open shared library /usr/lib/alsa-lib/libasound_module_pcm_pulse.so

Ubuntu Studio 8.04 にて。

$ aplay -Dpulse foo.wav
ALSA lib pcm.c:2106:(snd_pcm_open_conf) Cannot open shared library /usr/lib/alsa-lib/libasound_module_pcm_pulse.so
aplay: main:546: オーディオオープンエラー No such file or directory

Synaptic などで libasound2-plugins をインストール。

$ aplay -Dpulse foo.wav
ALSA lib pcm.c:2145:(snd_pcm_open_noupdate) Unknown PCM pulse
aplay: main:546: オーディオオープンエラー No such file or directory

~/.asoundrc が無かったので、新規に作成し以下の内容にする。

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

これで aplay -Dpulse foo.wav で音が出るようになった。再起動はたぶん不要。

参考(外部リンク)

雑メモ: Krita でタブレットペンの追従が遅い時に確認すべき設定箇所

設定箇所 2つ

その1

デスクトップで右クリック → 背景の変更 (またはコマンド gnome-appearance-properties) → 外観の設定 → [視覚効果]タブ

[効果なし] と [通常効果] から選択。 [追加効果] については略。

その2

Krita のメニューから 設定 → Kritaを設定 → 表示

ここで OpenGL の有効/無効を選択。

結果

自分の環境で試したところ、以下のような結果になりました。

効果なし + OpenGL無効(チェックなし): 
  カーソルの追従が遅くなる場合がある。

効果なし + OpenGL有効(チェックあり): 
  問題なし。

通常効果 + OpenGL無効(チェックなし): 
  カーソル追従が遅くもっさり。実用にはつらい。

通常効果 + OpenGL有効(チェックあり): 
  カーソルの追従には問題ないが画面がちらつく。

環境など

Ubuntu Studio 8.04
Wacom BAMBOO MTE-450
Krita 1.6.3

その他

カーソル追従の遅延があまりにひどくて私は「Kritaは(まだ)使えない」 と結論してたんですが、 ycumsさん に教えてもらってこの設定に気づきました。感謝!

libsndfile でコンプレッサもどき

やっつけ。動作説明は図とソースを見てください。以上。

2008-11-16 LADSPAプラグイン化してみました → http://docs.google.com/Doc?id=d26vnfx_10767nz53cz

/*
20081005
gcc comp-modoki.c -lsndfile -o comp-modoki
comp-modoki  file_in  file_out  lv1  lv2

file_in を読み込んで 1フレームずつ読み、
コンプレッサ処理もどきをしてfile_out に移し替える
入力ファイルのフォーマットは 16bit, ステレオ(チャンネル数=2)とする。
*/

#include <stdio.h>
#include <stdlib.h>
#include <sndfile.h>

void comp_proc( double* val, double lv1, double lv2 ){
//  printf( "%.4f  %.4f  %.4f  \n", *val, lv1, lv2 );
  if( *val < lv1 && -lv1 < *val ){
    *val = *val * ( lv2 / lv1 );
  }else{
    if( *val > 0 ){
      *val = ((*val-lv1) * (1-lv2) / (1-lv1)) + lv2 ;
    }else{
      *val = ((*val+lv1) * (1-lv2) / (1-lv1)) - lv2 ;
    }
  }
}

int main( int argc, char** argv ){
  char* file_in  = argv[1] ;
  char* file_out = argv[2] ;
  double lv1 = atof( argv[3] );
  double lv2 = atof( argv[4] );

  SNDFILE* sfr;
  SNDFILE* sfw;
  SF_INFO sinfo;

  sinfo.format = 0;

  // ファイル開く
  sfr = sf_open( file_in, SFM_READ, &sinfo );
  sfw = sf_open( file_out, SFM_WRITE, &sinfo );

  sf_count_t count = 1;
  double val[ (int)count * sinfo.channels ];

  int ch;
  int a = 0;
  sf_count_t read_num;
  while(1){
    read_num = sf_readf_double(  sfr, val, count) ;
    // printf( "% 4d:  L: %0.2f  -  R: %0.2f  -  %6d \n", a/44100, val[0], val[1], (int)read_num );

    if( read_num != count ){ 
      // ファイル終端まで達したらループ抜ける
      break; 
    } else {
      // 処理して書き込む
      for( ch=0; ch<sinfo.channels; ch++ ){
        comp_proc( &val[ch], lv1, lv2 );
      }
      sf_writef_double( sfw, val, count) ;
    }

    a++;
  }

  // ファイル閉じる
  sf_close( sfr );
  sf_close( sfw );

  return 0;
}

2008-10-05 間違ってたので一部修正。

Linux: ファイルマネージャから Timidity の ncurses インターフェイスで MIDIファイルを再生する

Nautilus、Konqueror でファイル一覧を眺めつつ、その中から選んでダブルクリックないし コンテキストメニューから選択して再生させたい。 「これどんな曲だったっけ?」みたいな時にちょろっと使いたい。

最低限、一時停止とボリューム調節くらいはできるようにしたい。

Ruby/Qt あたりで GUIフロントエンドとかごにょごにょできるかな?などと思ったものの さっさと使いたいのでもっと簡単な方法を探す → そういえば Timidity の ncurses インターフェイスってのがあったような → 使ってみた → これでいいんじゃない?

という経緯で…。以下シェルスクリプトです。

#!/bin/bash

## $1 だとファイル名にスペースが入ったとき動かない。
mididir=`dirname "$*"`
midifile=`basename "$*"`

cd $mididir
rxvt -e timidity -in "${midifile}" 
# その他オプションはお好みで。

最初 gnome-terminal、konsole を使ってみたけど、どうも上手くいかなかったので (konsole に関しては擬似端末の権限がどうとか) rxvt を使うことに。

適当なとこに置いて、ファイルマネージャで MIDIファイルに関連付けしてできあがり。


Firefox のアドオン ViewSourceWith に登録しておけば、Firefoxで見ているページ内の MIDIファイルへのリンクから再生できます。 たぶん内部的にはローカルに一旦保存してから開いてます。


キーボード h でキーバインド等のヘルプが出ますが、以下適当に抜粋。

s  一時停止

V/Up   音量上げる
v/Down 音量下げる

r/Home  曲の先頭から演奏

>  再生スピード上げる
<  再生スピード下げる

+  キー上げる
-  キー下げる

t  トレースモード ON/OFF

ちなみに自分の環境は Ubuntu Studio 8.04 です。

MIDIキーボードを Ubuntu Studio + LMMS に繋いでピコピコした音で弾く

Ubuntu Studio 8.04 で試しました。たぶん素の Ubuntu でもほとんど同じだと思います。

$ uname -a
Linux squirrel 2.6.24-19-rt #1 SMP PREEMPT RT Thu Aug 21 02:08:03 UTC 2008 i686 GNU/Linux

機器

とりあえず今回自分が使ったものを挙げておきますが、お好きなもの・お持ちのものでどうぞ。

キーボード。

MIDI-USBケーブル。

Ubuntu Studio のインストール

省略。だいたい Ubuntu と一緒です。

日本語入力

$ sudo apt-get install anthy scim-anthy

一応。日本語でメモとか取るために。

接続

キーボードの MIDI-OUT ~ UX16 ~ パソコン の USB となるように繋ぎます。

INとOUTを間違えないようにしましょう。 UX16 だと、差し間違えていなければケーブルに付いているランプが点滅します。

LMMS

$ sudo apt-get install lmms  # インストール
$ lmms  # 起動

初回起動時には設定ウィンドウが出ますが、後で変更できるのでスキップしても大丈夫です。

バッファの設定

メニューから [ Settings - Show settings dialog General settings - BUFFER SIZE ] でバッファのサイズを小さくしておきます。

とりあえず、 最小値 Frames: 64 Latency: 1.5ms に設定し [ OK ] を押します。

ほとんどの変更は再起動するまで反映されません、とのことなので [ OK ] を押して LMMS を一旦終了させ、再起動します。

音色とMIDIの設定

ウィンドウ左上のここをクリック

ドラッグ&ドロップで BitInvader をソングエディタに追加。

鍵盤のアイコンをクリックして [ MIDI input - 20:0 UX16 MIDI 1 ] (お使いの機器を選んでください)

この状態で MIDIキーボードを弾くと、サイン波が出ます。

では、音色をピコピコした矩形波に変えましょう。

BitInvader の音色設定ウィンドウ右側から矩形波をクリック(★1)。

これだけでもいいのですが、ノイズが混じって耳障りなので [ Interpolation ] を有効にしておきます(★2)。
また、音量はウィンドウ上側の VOLUME で調節してください (★3、ツマミをクリックして上下にドラッグするか、ツマミにカーソルを合わせてマウスホイール上下)。

これで準備完了です!思う存分ピコピコしてください!

おまけ

エンベロープは [ ENV/LFO/FILTER ] タブで設定できます。 デフォルトでは無効になっていますが、図の赤枠内の部分をクリックするとエンベロープが効くようになります。

以上。

関連記事

参考(外部リンク)



** ホームに戻る

<< 前のページ | 次のページ >>