Wine Crossover.app
(wine-6.0)
macOSでWindowsソフトを使うには、Parallels Desktoなどの仮想マシンを使う方法がありますが、今回Windows API を変換して動かす方式のWine を使って、サウンド評価用Windowsソフト(WaveGene,WaveSpectra)をM1-macで動作させてみました。
実は、今までサウンド評価を行う時は、一々Windows PCを立上げてMicrosoft Remote Desktopを経由して、WindowsソフトのWaveGeneやWaveSpectraを使ってM1-MacBook Air (Monterey)で評価していました。
この非効率さを避けるためM1-macでダイレクトにサウンド評価できるアプリが無いか?Apple Storeで物色したもののWindowsソフトのWaveGeneやWaveSpectraに匹敵するものが見当たりませんでした。(例えば、サブスクのSignalScope Xアプリをトライして見たものの、サウンドファイルを直接扱えずサブスクを解除しました)
今更ながら、WindowsソフトのWaveGeneやWaveSpectraがいかに優れたソフトであったかと再認識した次第です。 開発者のefuさんに感謝です。
と言う訳で、M1-macにWineをインストールしてWindowsソフトのWaveGeneとWaveSpectraをM1-macで直接動かすことにした訳です。 (Parallels Desktopなどの仮想マシンを使うには大袈裟すぎるし、仮想マシンを経由するので作業効率的に問題なので今回は見送りとしました)
参考
WaveGeneとWaveSpectraソフトのダウンロード先
http://web.archive.org/web/20171105052121/http://efu.jp.net/
Wine について
今まで、Wineはエミュレータと思っていましたが、インストールしたWine Crossover.appをダブルクリックして立ち上げると「 Wine Is Not an Emulator」(Wineはエミュレータではありません)との表題が現れます。 Wikipediaの説明によれば、「Wineという名称は "Wine" Is Not an Emulator を略した再帰的頭字語であるとも説明される。」とのことでした。
Wine環境を構築するに当たり、ネットで調べると色々な選択肢が出てきます。
- 有償(59$)の「CrossOver Mac」をインストールする方法(価格的にParallels Desktopを使う方が良いかもしれません)
- 「Wineskin」をインストールする方法(Windows OS相当のシステムをパッケージ化するためファイルサイズが大きくなる様です)
- 「Homebrew」を経由してWineをインストールする方法(今回はこの方法を採択。次節で説明します)
「Homebrew」を経由した Wine のインストール
Wineのインストールは、MacOSのターミナルから「Homebrew」を経由してインストールしますので、先ず「Homebrew」のインストールから始めます。 ("Xcode Command Line Tools"がインストールされていない場合、インストール途中で、この Tools も自動的にインストールされます。)
Homebrewとは、Wikipediaによれば『macOS、Linux、Windows Subsystem for Linux」で動作するパッケージ管理システムのひとつで、パッケージ管理システムとは、コンピュータのプログラムを一貫した方法でインストールやアンインストール、ライブラリなどの依存関係を解決する流れをツールによって管理を自動化するシステムである』とのことです。 つまり、macOSのターミナル上で簡単にパッケージのインストールやアンインストールを実行できる様にするツールと言えます。
Homebrew公式サイト
Wineのインストール(手順)
step.1:Homebrewのインストール
Homebrewの公式ページを開き、「インストール」表記の下に示さているコードをコピーします。
ターミナルを起動して、コピーしたコードを貼り付け実行すると、「Homebrew」が自動的にインストールされて行きます。
ターミナル
例; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"インストール途中で、
==> The Xcode Command Line Tools will be installed. (Xcode Command Line Toolsがインストールされます。)と表示されリターンを押して続行します。
==> Installation successful! と表示され、最後に
==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mitsu/.profile
eval "$(/opt/homebrew/bin/brew shellenv)"と表示されるので、echo以下のコードをコピペ・リターンで終了です。ターミナル
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/mitsu/.profile eval "$(/opt/homebrew/bin/brew shellenv)"Homebrewの確認のために
"brew help" と入力して「Homebrew」のhelp内容が表示されればインストールは成功です。
ターミナル
brew help(⏎) ↓ Example usage: brew search TEXT|/REGEX/ brew info [FORMULA|CASK...] brew install FORMULA|CASK... :step.2:Wine のインストール
Homebrewを利用してWineをインストールします。 ターミナルを起動して、brew install –no-quarantine gcenx/wine/unofficial-wineskin のコードを入力します。
インストールが成功すると最後の行に” 🍺 wine-crossover was successfully installed! ”が表示されて終了です。
ターミナル
brew install –no-quarantine gcenx/wine/unofficial-wineskin (⏎) ↓ ==> Tapping gcenx/wine Cloning into '/opt/homebrew/Library/Taps/gcenx/homebrew-wine'... remote: Enumerating objects: 629, done. :🍺 wine-crossover was successfully installed!Wine の確認のために
Finderで アプリケーションフォルダーに移動すると、”Wine Crossover.app ”の存在が確認できる筈です。 更にこの”Wine Crossover.app ”をダブルクリックすると、ターミナルが起動して以下の様に表示されれます。
ターミナル
############################# # Wine Is Not an Emulator ################################## Welcome to wine-6.0. In order to start a program: .exe: wine program.exe .msi: wine msiexec /i program.msiIf you want to configure wine: wine winecfgTo get information about app compatibility: appdb Program Namestep.3:Wine のセットアップ
ターミナルに、wine winecfg と入力してリターンすると、下のwine 設定 画面が表示されます。
当サイトの設定例
- 「アプリケーション」タブの「Windowsバージョン」でWindows7に
- 「画面」タブで、画面の解像度を120dpiにしています。
ポイント
ターミナルからコマンドを入力すれば、Windows付属プログラムが実行できます。
プログラム コマンド 備考 エクスプローラ wine explorer レジストリエディタ wine regedit メモ帳 wine notepad タスクマネージャー wine taskmgr コントロールパネル wine control プログラムの追加と削除
WineでWaveGeneやWaveSpectraを動かす(Driver設定)
WaveGeneとWaveSpectraソフトのダウンロード先から、WaveGeneとWaveSpectraのzipファイルをM1-mac内にダウンロードします。 zipファイルを適当な場所に移動して解凍します。 解凍すると、夫々のフォルダー内にWineアイコンが付いた 🍷WG.EXE 🍷WS.EXE がありますので、exeファイルをダブルクリックするとWaveGene若しくはWaveSpectraが起動します。
なお、『WG.EXEやWS.EXE』は自己実行型のexeファイルですので、インストール作業は不要です。 macOS上でダイレクトに実行できます。
🍷WG.EXEをダブルクリックして起動
WaveGeneを動作させるには、予め、Driver設定を行う必要があります。( 右のタブをクリックして参照してください)
- WaveGene画面の右上にスピーカアイコン・ボタンがありますので、このボタンをクリックします。
- 下の画面の様に赤枠のドライバーをDirect Sound を選択します。 これで、WaveGeneが動作します。
🍷WS.EXEをダブルクリックして起動
WaveSpectraを動作させるには、予め、Driver設定を行う必要があります。( 右のタブをクリックして参照してください)
- WaveSpectra画面の右上にスパナーアイコン・ボタンがありますので、このボタンをクリックします。
- 下の画面の様に【再生/録音】タブで赤枠のドライバーをDirect Sound を選択します。 これで、WaveSpectraが動作します。
数値表示:精度を上げる(✕128)にセット
Wineのサウンド評価ソフトを使って(動作確認)
WaveGeneの動作確認
WaveGeneは特段動作的に問題ないようです。
WaveSpectraの動作確認
WaveSpectra(WS)は、スペクトル描画において若干のパフォーマンス低下が見られました。
リアル音源フィルをWine上のWaveSpectraでスペクトルを描画すると、FFTのサンプルデータ数が多いとフレームレート(fps)が下がりスペクトル描画のレスポンスが悪化しました。
下の表は、WindowsPC(WinPc)とWineの場合のWaveSpectra(WS)のfps比較です。
FFTのサンプルデータ数 | Wine-WS | WinPC-WS |
131,072 | fps≒2 | fps≒20 |
16,384 | fps≒20 | fps≒30 |
スペクトル描画は、実用的には、サンプルデータ数を16,394 以下に下げてfpsを20フレーム/秒 程度にする必要があります。(精度が必要な歪率測定等は、サンプルダータ数を上げて測定する)
実際のリアル音源ファイル【1962年に録音された「オイストラフが弾くJ.S.バッハ: ヴァイオリン協奏曲第1番イ短調 BWV.1041」のレコードからVinylstudioで録音したハイレゾファイル(Wav 24bit 192khz)】を使ってWSでスペクトル描画を収録した約1分の動画を示します。
FFTのサンプルデータ数:16,384のスペクトル動画(約1分)
バイオリンの倍音が20kHzまで伸びているのが観測できています。
Wineを経由するとWaveSpectraソフトでは、リアル音源でのスペクトル描画上のパフォーマンス低下が見られるのでFFTサンプル数を減じる必要があるものの、ピュア音源での歪率測定等はサンプル数を増やして精度を高めれば問題無く、実使用上は充分では無いかと思われました。