リアルタむムLinuxおよびReaperでの2぀以䞊のサりンドカヌドのオヌディオミキサヌ

グルヌプでプレむするずきは、どこかでリハヌサルする必芁がありたす。 自宅で、手元にある゚フェクトを䜿っお独自のミキサヌを組み立おおみたしょう。 そしお手元には、内蔵の2コアオヌディオカヌド、ESI Juli @およびC-Media CM8738を搭茉した2コアコンピュヌタヌがありたす。 録音甚の合蚈6チャンネル。

2チャンネルで十分な堎合、asio4allたたはネむティブドラむバヌを䜿甚しおWindowsのReaperで2チャンネルを混合できるため、読み蟌めなくなりたす。問題なく再生されたす。 すべおの耇雑さは、3枚のカヌドから1぀の仮想マルチチャネルを䜜成するずきに始たりたす。 asio4allを䜿甚するず、リハヌサルでも蚱容レベルの品質で6チャンネルを同時に蚘録するこずは機胜せずカヌドのクロック゜ヌスが異なるため、たれにスロヌダりンが発生するため、このように困難な方法で進む必芁がありたした。



リアルタむムカヌネルを備えたLinuxですべお実行したす。 リアルタむムパッチは望たしいですが、必須ではありたせんが、パッチがなければ、より長い遅延ずそれほど安定しおいない堎合を陀いお機胜したす。 ディストリビュヌションはRemixOSではなくDebianになりたす。たず、䜕が起きおいるのか、䜕かをねじるこずができおも䜕も壊れないかどうかを理解したい、第二にwineasioにパッチを圓おる必芁がある、そしお第䞉に、remixosにはひどいデスクトップがあるからです。 Debianのむンストヌル方法に぀いおは説明したせん。このトピックに぀いおはすでに倚くのこずが曞かれおいたす。 したがっお、デスクトップにDebian 6.0.3を新たにむンストヌルしたした。 デスクトップにはアむコンが衚瀺されないこずを陀いお、ほずんど次のようになりたす。



最初に曎新したすDebianがnetinstallでむンストヌルされおいない堎合。 ルヌトコン゜ヌル[アプリケヌション]-> [アクセサリ]-> [ルヌトタヌミナル]

#aptitude update && aptitude safe-upgrade
      
      





次に、すでにリアルタむムでコンパむルされたpengutronixカヌネルをルヌトコン゜ヌルに配眮したす。

 #wget -O /etc/apt/sources.list.d/pengutronix.list http://debian.pengutronix.de/debian/pengutronix.list #aptitude update #apt-get -q --allow-unauthenticated install pengutronix-archive-keyring #aptitude update #aptitude install linux-image-2.6-rt-osadl-686
      
      





再起動し、unameの衚瀺を確認したす。

 root@debian:/home/vasiliy# uname -a Linux debian 2.6.33.7.2-rt30-1-686 #1 SMP PREEMPT RT Mon Jan 17 14:22:44 UTC 2011 i686 GNU/Linux root@debian:/home/vasiliy#
      
      





次に、オプションでupdate-notifierを削陀したすたたは䜕らかの方法でオフにしたす。

 #aptitude purge update-notifier update-notifier-common
      
      





次に、必芁なパッケヌゞを配眮したす。 1぀はJACKデヌモンです。 オヌディオアプリケヌションが接続するのは圌にずっおです。 そしお圌は、ALSAを介しおサりンドカヌドに接続したす。

 #aptitude install jackd2 qjackctl jackeq
      
      





Audacity、チェック甚

 #aptitude install audacity
      
      





wineasioを収集するパッケヌゞ

 #aptitude install build-essential libjack-jackd2-dev libwine-dev
      
      





そしお、Reaperを実行するWine。 Wineはリポゞトリから配垃するこずも、rtパッチを䜿甚しお自分でコンパむルするこずもできたす。 wineが必芁なストリヌムにリアルタむムの優先順䜍を䞎えるこずができるように、パッチが必芁です。 ぀たり 通垞のワむンでは、アプリケヌションの実行方法に関係なく、すべおのreaper-aフロヌはsched_otherすべおのワむンがschedtoolを介しお実行される堎合はすべおsched_fifoになり、パッチを䜿甚するず、リッパヌはどのフロヌが重芁であるかを刀断したすどのプロセスサりンドそしお、どのスレッドではないかこれはグラフィカルむンタヌフェむスであり、その他すべおです。 芁するに、スケゞュヌラの芳点から芋るず、スレッドはクラスず優先床を持぀こずができたす。 クラスは、sched_fifo、sched_rr、sched_other別名sched_normal、sched_batch、およびその他のクラスです。 サりンドの面で興味深いものが2぀ありたす。これらは普通sched_otherずリアルタむムsched_fifoです。 sched_fifoクラスを䜿甚しお実行されるスレッドは、sched_otherクラスを䜿甚するスレッドによっお䞭断できたせん。 ぀たり sched_fifoの誰かが䜕かをするたで、すべおのsched_otherは倱敗したす。 ほずんどの堎合、sched_fifo-streamsが䜕か、たずえば機噚からの信号を埅぀のは良いこずです。 この堎合、サりンドストリヌムsched_fifoは、着信オヌディオバッファヌがいっぱいになるたで埅機し、バッファヌがすばやく凊理する準備ができおいるずいう信号が到着するず、結果を発信バッファヌに入れお再床埅機したす。 そしお、これらの䌑憩䞭に、グラフィカルむンタヌフェむスなどが描画されたす。

そのため、オプション1、通垞のワむンを入れたす望たしくありたせん

 #aptitude install wine schedtool
      
      





オプション2、ワむン1.2.3をパッチで収集したすパッケヌゞを収集しおむンストヌルする必芁がある正しい方法で、これは正しいdebian-wayではないずすぐに蚀いたすが、少し耇雑です

 #aptitude build-dep wine #exit $wget http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.2.3.tar.bz2 #    winehq.com $tar xjvf wine-1.2.3.tar.bz2 # ,  $cd wine-1.2.3 $wget http://dl.dropbox.com/u/879835/wine-rt-101107.patch #,  .    http://wiki.cockos.com/wiki/index.php/Installing_and_configuring_Wine $patch -p1 -i wine-rt-101107.patch # $./configure --prefix=/usr && make depend && make # make depend ! $su #make install
      
      









Reaper、jackdなどをルヌトからではなく、ナヌザヌから実行するため、制限を調敎する必芁がありたす。そうしないず、オペレヌティングシステムは、それほど倚くの゜フトりェアを起動できず、倚くのメモリを消費し、リアルタむムの優先順䜍を取埗できたせん。 /etc/security/limits.confを線集したす

 #gedit /etc/security/limits.conf
      
      





そしおそこに曞きたす圓然、vasiliyの代わりにシステムにログむンする必芁がありたす

 vasiliy - memlock unlimited vasiliy - rtprio 99 vasiliy - nice -20
      
      





制限を適甚するには、ログむンするか再起動する必芁がありたす。 制限付きですべお問題ないこずを確認したす。

 vasiliy@debian:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 40 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 99 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited vasiliy@debian:~$
      
      





ロックされたメモリの最倧数を無制限に芋お、次に進みたす。 次に、ALSAずJACKを構成しお怜蚌したす。 ALSAで開始し、Audacityを起動しお、蚭定に移動するのが論理的です。



ALSAを遞択し、Audacityで録音し、䜕が機胜するかを芋お、䜕が起こったのかを聞きたすここでは指でゞャックに觊れただけです。



䜕かが機胜しない堎合、たずえば再生されおも曞き蟌みができない怜蚌のためにmp3-shkuをAudacityにむンポヌトできる堎合、たたはノむズが倧きい堎合は、システム->オプション->サりンドのALSA蚭定を確認する必芁がありたす。 私のJuli @では、すべおがすぐに機胜したしたが、ビルトむンカヌドずCメディアカヌドでは問題が発生したした。

C-Media Electronics Inc CM8738rev 10









統合Intel Corporation 82801JIICH10ファミリヌHDオヌディオコントロヌラヌ











興味深いこずに、リニア入力に組み蟌たれたカヌドでさえ、かなり良い信号を出したす。 唯䞀のものは、それが十分に匷力でなければならないずいうこずです、そうでなければ、それはノむズを䜜りたす。 IntelのHDAの[録画]タブである[キャプチャ]の音量レベルは、特に25䜎いため、ノむズが最小になりたした。 たずえば、゚レキギタヌはそのようには曞きたせんが、同じギタヌをプリアンプ私の堎合はART Tube MPに通すず、䜕も埗られず、プログラムの歪みをオンにするこずさえできたす。



次に、JACKを構成したす。 [アプリケヌション]-> [オヌディオずビデオ]-> [JACKコントロヌル]たたはqjackctlタヌミナルからqjackctlを起動し、[パラメヌタ]をクリックしたす。



メむンむンタヌフェむスを遞択したす。ゞュリ@があり、hwにありたす2カヌドのリストず受け取った番号は、/ proc / asound / cardsにありたす すべおのカヌドがpciであっおも、リブヌト埌にサりンドカヌド番号が垞に保存されるずは限りたせん。 リアルタむムモヌドをオンにし、バッファサむズを蚭定し、離散化し、jackdを実行し、 そしお、Audacityを通しお、䜕が機胜するかを確認したすAudacityの蚭定では、JACKに切り替えるこずを忘れないでください。 JACKを介しお他のカヌドの録音および音声出力を確認するこずもお勧めしたす。

そしお今、興味深い郚分が始たりたす。 残りのオヌディオむンタヌフェむスをメむンむンタヌフェむスに接続したす。 それでも、qjackctlを実行し、別のタヌミナルで起動しお曞き蟌みたす。

 $alsa_in -d hw:0 -j hda-intel -p 512 -n 2
      
      





hw0は組み蟌みカヌド、hda-intelは単なるタグです。これなしでも可胜です。512はバッファヌのサむズ、2はその番号です。 バッファヌのサむズず数は最小限の䜜業ずしお遞択されおいたす通垞の䜜業はalsa_inが「delay = <anything>」を垞に衚瀺しないこずを意味したす、私の堎合は512および128のサンプルず2぀のバッファヌであり、悪くはありたせん。 残り残りの音は同じです。





すべおがjackeqを介しお機胜するこずを確認できたすアプリケヌション->オヌディオずビデオ-> JackEq、たたは私のようにjackeqタヌミナルで。 入力ポヌト、出力ポヌトを遞択し、チャンネルの音量、マスタヌ音量を䞊げお、芖聎したす。 このステップでは、JACKおよびalsa_inバッファヌのサむズを詊すこずができたすjackeqを再起動する必芁がありたす。





実際、ある皮のシンプルなミキサヌがすでに存圚しおいたす。 しかし、もっず倚くの゚フェクト、vstプラグむンなどが必芁です。 Ardourをむンストヌルしたり、Windows VSTプラグむンをサポヌトしおArdorを再構築したり、Mixbusをむンストヌルしたりできたす。 これはすべおDAWデゞタルオヌディオワヌクステヌションであり、それらを介しおリハヌサルのためにミキシングするこずはかなり可胜です。 Reaperが奜きだったのは、第䞀に、より銎染みがあり、第二に、優れた組み蟌み゚フェクトがあり、第䞉に、䟿利なミキサヌがあり、メむンミキサヌに゚フェクトコントロヌルノブを配眮でき、第四に、ミキサヌにホットキヌを蚭定できるからですほずんどすべおの堎合、5番目にVSTで動䜜したす; 6番目に、Reaperは垞に進化しおいるラむブ゜フトりェアです。

reaper.fmを䜿甚しおダりンロヌドしおむンストヌルするず、詊甚版を䜿甚できたす。 Reaper自䜓は起動するには時期尚早であり、jack-asioの束はありたせん。 wineasiohttp://sourceforge.net/projects/wineasio/をダりンロヌド、パッチ、コンパむル、むンストヌルする必芁がありたす。 安定版0.9.0をダりンロヌドするか、gitから開発版をダりンロヌドできたす。 gitにあるバヌゞョンは安定したバヌゞョンずは少し異なりたすが、32サンプルのJACKバッファヌから開始されおいるため、ダりンロヌドする方が適切です。

 git clone git://wineasio.git.sourceforge.net/gitroot/wineasio/wineasio
      
      





wineasioをビルドするには、Steinberg ASIO SDKに含たれおいるasio.hファむルが必芁です。 残念ながら、Steinbergはこのファむルの配垃を犁止しおいるため、SteinbergのWebサむトhttp://www.steinberg.net/en/company/developer.htmlからダりンロヌドし、解凍したwineasioのあるフォルダヌに入れたす。 ここで、asio.cにパッチを適甚する必芁がありたす。

 /*    */ This->jack_input_ports = jack_get_ports(This->jack_client, NULL, NULL, JackPortIsPhysical | JackPortIsOutput); /*     : */ This->jack_input_ports = jack_get_ports(This->jack_client, NULL, NULL, JackPortIsOutput); /*     ,  */ This->jack_output_ports = jack_get_ports(This->jack_client, NULL, NULL, JackPortIsPhysical | JackPortIsInput); /*   */ This->jack_output_ports = jack_get_ports(This->jack_client, NULL, NULL, JackPortIsInput);
      
      







このパッチでは、JackPortIsPhysicalフラグを削陀しお、winesioがalsa_inで䜜成した仮想ポヌトを含むすべおのJACKポヌトにすぐに接続できるようにしたす。

コンパむル、むンストヌル

 $make $su #make install #exit $wine regsvr32 wineasio.dll
      
      







Reaperの起動をテストし、wineasioが衚瀺されおいるこずを確認したす。



wineasioはレゞストリを介しお構成されたす。

 $wine regedit
      
      







興味深い蚭定のうち、入力/出力の数のみがここにありたす。珟実の量にもっず䌌たものを眮くこずができたす。 バッファヌのサむズがJACKを決定するように、Fixed buffersizeを「1」のたたにしおおくこずをお勧めしたす。

Reaperを再床起動したす。パッチを適甚したワむンが存圚するかどうかに応じお、起動コマンドは異なりたす。

 $wine 'c:\program files\reaper\reaper.exe' #   ,   sched_other,  0 () $nice -n -20 wine 'c:\program files\reaper\reaper.exe' #    ,     $schedtool -F -p 10 -e wine 'C:\program files\reaper\reaper.exe' #  Reaper   realtime.       ,   . $env WINE_RT=15 WINE_SRV_RT=10 wine 'C:\program files\reaper\reaper.exe' #   , Reaper    ,    .
      
      





wineで最適に動䜜するように蚭定したす。

「環境蚭定->バッファリング->同期にネむティブむベントを䜿甚する」のチェックを倖し、「環境蚭定->倖芳-> UIの曎新」で「垞に遅延」を遞択したす。







さお、必芁な数のトラックをReaperに远加し、録音ずモニタリングのためにそれらをオンにし、゚フェクトを远加しお再生するだけです





あなたのために成功したリハヌサル



PS





䞀般に、リアルタむムカヌネル、リアルタむムパッチを適甚したwine、gitを䜿甚したwineasioバヌゞョンを配眮するこずを怠らないでください。 結果は非垞に良いはずです。



参照

debian.org

pengutronix.de/software/linux-rt/debian_en.html

reaper.fm

sourceforge.net/projects/wineasio

www.steinberg.net/en/company/developer.html

wiki.cockos.com/wiki/index.php/How_to_run_Reaper_in_Wine_on_Linux



All Articles