Motornoise Analyzer

公開、 更新

Motornoise Analyzer

Download (2023-04-01 更新, 14.1 MiB / 14,788,250 bytes)

※ サンプルデータが同梱されています。

概要

 モーター音の解析を補助するアプリケーションです。

更新履歴

2023-04-01
Version 0.2 数値入力コントロール上でのマウスホイール操作による数値変更時における、画面表示更新処理の不必要な繰り返しを排し高速化
2020-04-01
Version 0.1 試験公開

ライセンス

 当アプリケーションには、サードパーティー製ソフトウェアが含まれています。当アプリケーションのダウンロード・使用・再頒布の際には、以下の一覧に示す全てのライセンス条項に同意されたものとします。

ソフトウェア名 ライセンス条項
Math.NET Numerics Math.NET Numerics License (MIT/X11)

動作環境

 .NET Framework 4以降がインストールされているWindows上で動作します。アプリが起動しない場合は、下の一覧よりお手元の端末に最適な.NET Frameworkを選択してインストールしてください。この一覧は、Windows 10では最新版へのアップデート、それ以外のWindowsでは最後のサービスパックが適用されていることを前提としています。

Windowsのバージョン インストール可能な最新の.NET Framework 4.x
Windows XP .NET Framework 4
Windows Vista .NET Framework 4.6
Windows 7 .NET Framework 4.8
Windows 8 .NET Framework 4.6.2
Windows 8.1 .NET Framework 4.8
Windows 10 .NET Framework 4.8

使い方

 まず、独自のパラメーターデータファイルを使用し、モーター音の各成分を定義します。このパラメーターデータの書式に関しては「パラメーターファイルの設定」をご覧ください。実際のパラメーターデータファイルの記述法に関しましては、サンプルデータを参考にしてください。

 既存のパラメーターファイルを流用せずに一から作成するには、WaveSpectraなどの周波数解析アプリを利用してモーター音の周波数解析を行う作業が必要となります。

 パラメーターファイルがある程度形になりましたら、これをアプリにドラッグ&ドロップして読み込ませます。さらに、モーター音の音声ファイルをドラッグ&ドロップして読み込ませます。すると、スペクトログラム上にモーター音の各成分が図示されます。パラメーターファイルと音声ファイルのファイル名が同一の場合、片方を読み込ませるともう片方も自動で読み込みます。

 スペクトログラム上に描かれる図形が正しくピークをなぞるようになるまで、パラメーターの編集とリロードを繰り返します。

メインコントロール

Motornoise Analyzer(コントロール)

周波数

歯車噛合始点

 音声始端における歯車噛み合い周波数を表します。

歯車噛合終点

 音声終端における歯車噛み合い周波数を表します。

磁励音始点

 音声始端における非同期磁励音の基礎周波数を表します。

磁励音終点

 音声終端における非同期磁励音の基礎周波数を表します。

試聴

 音声の再生を開始します。音声は、交互ループ音声として再生されます。再生をやめるには、もう一度ボタンを押します。

リロード

 パラメータファイルの再読み込みを行います。

表示

 スペクトログラムが表示されていない場合、表示します。

小歯車歯数

 モーター出力軸に継手を介して接続される小歯車の歯数をあらわします。

コピー

 現在のパラメーターの共通設定部分をクリップボードにテキストとして出力します。コピーしたテキストを、パラメーターファイルに貼り付けることでパラメーターを更新することができます。

線の描画

 チェックされている場合、該当するモーター音タイプの各周波数成分をスペクトログラム上に描画します。

滑り始点

 音声始端における、誘導モーターのすべりを表します。力行時は正の値、制動時は負の値となります。

滑り終点

 音声終端における、誘導モーターのすべりを表します。力行時は正の値、制動時は負の値となります。

リストビュー

 各モーター音の成分を一覧表示します。

Motornoise Analyzer(リストビュー)

スペクトログラム

 基本的な仕様はPitch Flattenerのそれと同じです。独自の機能として、スペクトログラム上での右ドラッグでマウスカーソルが示す周波数を歯車噛み合い周波数にセットすることができます。両端付近でドラッグを開始すると始点のセットが行われ、その逆は終点のセットが行われます。

Motornoise Analyzer(スペクトログラム)

パラメーターファイルの設定

 モーター音の解析を行うためには、まずCSV(Character-Separated Values)形式のパラメーターファイルを作成する必要があります。一列目に設定項目名を文字列で記述し、二列目以降に設定内容を数値もしくは文字列で記述します。当アプリケーションでは狭義のCSV形式である拡張子が.csvのカンマ区切り形式の(Comma-Separated Values; CSV)のほかに、拡張子が.txtのタブ区切り形式テキストファイル(Tab-Separated Values; TSV)にも対応しています。

 パラメーターファイルには、全てのモーター音成分に対して行う共通設定と、各モーター音成分に対して行う個別設定の二種類があります。

 いくつかのサンプルパラメーターファイルと、対応するモーター音音源のセットを以下からダウンロードできます。パラメータファイルの設定の参考にしてみてください。

ヘッダ

 パラメーターファイルの一行目にはヘッダ文字列『Motornoise Analyzer Parameter Table 1.00』を記述します。

 ヘッダ文字列の後にコロンで区切って文字エンコードを指定することにより、文字エンコーディングを指定して読み込みを行うことができます。文字エンコーディング指定を省略するか、もしくは不正なエンコーディング指定が行われた場合はUTF-8とみなして読み込みを行います。正しいエンコーディングが指定されない場合、文字化けを起こしてデータが認識されない可能性があります。

共通設定

 設定内容は二列目のみに記述してください。それ以外の列に記述した場合は無視されます。共通設定の設定項目名は以下の通りです。この共通設定は、アプリのUI上でも変更が可能なため、最初は設定しなくてもかまいません。

 Beginから始まる項目名とEndから始まる項目名は、それぞれ音声両端における数値を表します。いずれもつかないものは、音声全体で変わらない固定値を表します。

設定項目名概要
SmallGearTeeth小歯車の歯数
BeginGearnoiseFrequency音声始端歯車噛み合い音周波数
EndGearnoiseFrequency音声終端歯車噛み合い音周波数
GearnoiseFrequency歯車噛み合い音周波数
BeginMagnetoneFrequency音声始端非同期磁励音周波数
EndMagnetoneFrequency音声終端非同期磁励音周波数
MagnetoneFrequency非同期磁励音周波数
BeginSlip音声始端すべり
EndSlip音声終端すべり
Slipすべり

SmallGearTeeth

 モーター出力軸に継手を介して接続される小歯車の歯数を指定します。

GearnoiseFrequency

 歯車噛み合い周波数を表します。

MagnetoneFrequency

 非同期磁励音の基礎周波数を表します。

Slip

 すべりを表します。

個別設定

 1列目に以下の一覧に掲載されている特定の文字列が指定されたとき、その行はモーター音の成分を記述するための行となります。

設定項目名省略形概要
MotorNoiseMNモーター回転比例成分
GearNoiseGN歯車噛み合い音
SyncMagnetoneSM同期モード磁励音
AsyncMagnetoneAM非同期モード磁励音

MotorNoise

 モーターの回転に比例する成分の表現に適しています。基本周波数はモーターの回転周波数となります。

GearNoise

 MotorNoiseとは、基本周波数が歯車噛み合い音の周波数となっている点で異なります。

SyncMagnetone

 MotorNoiseにすべりの影響を加味したタイプです。誘導モーターの同期モードにおける磁励音の表現に適しています。

AsyncMagnetone

 インバータ制御の非同期モードにおける磁励音をあらわすタイプです。このタイプのみ、基本周波数は磁励音始点/終点となります。これの側波はSyncMagnetoneと同様に、すべりの影響を受けます。

 さらに2列目以降にパラメーターを記述していきますが、各パラメーターが対応する列番号は固定となっています。

列番号概要
1 (モーター音成分タイプ)
2乗数
3 除数
4 側波
5 名前

乗数

 一列目がMotorNoiseもしくはSyncMagnetoneの場合はモーター回転周波数、GearNoiseの場合は歯車噛み合い周波数、AsyncMagnetoneの場合は磁励音の設定値に掛ける数値を指定します。デフォルト値は1です。

除数

 一列目がMotorNoiseもしくはSyncMagnetoneの場合はモーター回転周波数、GearNoiseの場合は歯車噛み合い周波数、AsyncMagnetoneの場合は磁励音の設定値を除する数値を指定します。デフォルト値は1です。

側波

 0以外の値を指定すると、その成分は側波をあらわすものとなります。

 また、「|」で区切って二つの数値を指定することにより、複数の側波をまとめて定義できます。一つ目は最大の側波番号、二つ目は側波番号の間隔です。例えば「6|4」と記載した場合、側波番号は-6, -2, 2, 6と展開されます。

名前

 モーター音成分を識別するための文字列を指定します。ここで指定された文字列は、モーター音成分リストの最初の列に表示されます。文字列「{$mult}」を挿入するとMultiplierの値に、文字列「{$div}」を挿入するとDivisorの値に置き換えられます。