Attention! Translated article might be found on my English blog.
ラベル Audio の投稿を表示しています。 すべての投稿を表示
ラベル Audio の投稿を表示しています。 すべての投稿を表示

2018年3月21日水曜日

VLCのカラオケ機能の実装を見てみた

vlc-2.2.8/modules/audio_filter/karaoke.c

static block_t *Process (filter_t *filter, block_t *block)
{
    const float factor = .70710678 /* 1. / sqrtf (2) */;
    float *spl = (float *)block->p_buffer;

    for (unsigned i = block->i_nb_samples; i > 0; i--)
    {
        float s = (spl[0] - spl[1]) * factor;

        *(spl++) = s;
        *(spl++) = s;
        /* TODO: set output format to mono */
    }
    (void) filter;
    return block;
}

左 - 右してモノラル化してるだけでした。
終了!

ちなみに、カラオケ機能はオーディオエフェクトウインドウ([ウインドウ]-[オーディオエフェクト...]メニュー)のフィルタータブから設定することができます。



VLCだから凝った処理をしてるのかなと思ったけどそうでもないようです。
逆に言えばこんな単純な処理でも使い物になるって事なんだと思います。

自分もとりあえずこの方法で実装してみるかなあ。


なお、カラオケ(ボーカルキャンセル)の原理と凝った実装方法については下記が参考になります。

参考: ボーカルキャンセラーの使い方 - Art Studio まほろば
参考: CDからボーカルを除去・抽出・移調するソフト/ボーカルキャンセラー2 - Art Studio まほろば

また、VLCのソースはVLC media player source code - VideoLANから入手可能です。
いつの間にか3.0.1が最新になってますね…

2017年10月31日火曜日

Mac用速度可変プレーヤ ListeningHelper-2.1 リリース

Mac用速度変更機能付きオーディオプレーヤ ListeningHelper2.1 をリリースしました。

変更点は以下の通りです。

  • 日本語対応
  • 再生位置スライダのバグ修正
  • チュートリアル画面追加

ダウンロードはこちらから。

2017年10月5日木曜日

Mac用速度可変プレーヤ ListeningHelper-2.0b2 リリース

Mac用速度変更機能付きオーディオプレーヤ ListeningHelper2.0b1 をリリースしました。

変更点は以下の通りです。

  •  10.13で再生位置スライダが表示されない問題の修正
ダウンロードはこちらから。

2017年3月7日火曜日

GME(Game_Music_Emu)のFDS対応版

GMEはFDS未対応のようです。

参考: Game_Music_EmuはFDS未対応です:>FDS対応なのはGameEmuPlayer(foo_gep.dll)の独自拡張ですね:l50 - モナラ

上記サイトによると、kode54という人が独自にFDSを実装しているようでした。
で、少し調べたところ、CogというMac用音楽プレーヤのソースが公開されていました。

参考: Christopher Snowhill / Cog · GitLab

どうやらファイルツリーの ./Frameworks/GME/gme/Nes_Fds_Apu.cpp が
FDSの実装なのではないかと思います。

ちなみにCogというプレーヤは.nsf、.spcなどの再生に使えるので、
素のGMEを使っているAudio OverloadやVLCよりも良いかもしれません。