クイックスタート - TypeScript/Node.js CLI版(Windows専用)
最速で動かすための手順書です。
前提条件
- Windows 10 または Windows 11
- オーディオデバイスが接続されていること
手順
1. Node.jsのインストール
- Node.js公式サイトにアクセス
- LTS版(推奨版)のWindowsインストーラーをダウンロード
- ダウンロードしたインストーラー(
.msiファイル)を実行 - インストールウィザードに従ってインストール
- すべてデフォルト設定でOK
2. インストールの確認
コマンドプロンプトまたはPowerShellを開いて、以下のコマンドを実行:
node --version
npm --version
バージョン番号が表示されればOKです。
3. ビルドツールのインストール(必要な場合)
ネイティブモジュールのビルドに必要です。以下のいずれかの方法でインストールしてください:
方法1: winget を使用(推奨) PowerShellを管理者権限で開き、以下を実行:
winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
方法2: Visual Studio Build Tools を手動インストール
- Visual Studio Downloads にアクセス
- “Build Tools for Visual Studio 2022” をダウンロード
- インストーラーを実行し、「C++ によるデスクトップ開発」ワークロードを選択
- インストール(10-15分程度かかります)
注意: インストール完了後、コマンドプロンプトまたはPowerShellを再起動してください。
4. リポジトリのクローンと移動
git clone https://github.com/cat2151/cat-oscillator-sync.git
cd cat-oscillator-sync\src\typescript\cli
5. 依存パッケージのインストール
npm install
注意: 初回インストール時、ネイティブモジュールのコンパイルが行われます。 数分かかることがあります。
6. ビルド
npm run build
7. 実行
シンプル版
npm start
スムーズ版
node dist/main.js smooth
操作方法
- プログラムが起動したら、マウスを動かしてください
- 音が出れば成功です!
- X軸: マスター周波数 (40Hz - 600Hz)
- Y軸: スレーブ周波数 (100Hz - 2000Hz)
Ctrl+Cで終了
トラブルシューティング
エラー: “node-gyp のビルドに失敗しました”
原因: C++ビルドツールがインストールされていません
解決方法: PowerShellを管理者権限で開き、以下を実行:
winget install --id Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
インストール完了後、コマンドプロンプトまたはPowerShellを再起動し、再度 npm install を実行
エラー: “Cannot find module”
原因: 依存パッケージがインストールされていないか、ビルドされていません
解決方法:
npm install
npm run build
音が出ない
解決方法:
- Windowsの音量設定を確認
- 既定のオーディオデバイスが正しく設定されているか確認
- 他のアプリケーションでオーディオが正常に動作するか確認
- PCを再起動してみる
マウスが認識されない
解決方法:
- コマンドプロンプトまたはPowerShellを管理者権限で実行してみる
robotjsを再インストール:npm uninstall robotjs npm install robotjs
次のステップ
よくある質問
Q: インストールに時間がかかるのはなぜですか?
A: speaker と robotjs はネイティブモジュールであり、初回インストール時にC++コードのコンパイルが必要です。
通常、5-10分程度かかります。
Q: 管理者権限が必要ですか?
A: ビルドツールのインストール時は必要ですが、プログラムの実行自体には通常必要ありません。 ただし、マウス位置の取得で問題が発生した場合は、管理者権限で実行してみてください。