🛠️ToolsShed

音圧レベルコンバーター

dBm、dBu、dBV、dBW、dBSPL間でオーディオレベルを変換します。

Electrical Audio Levels

dBm0 dBm = 1 mW (into 600 Ω = 0.775 V)
0
dBu0 dBu = 0.775 V ≈ 1 mW into 600 Ω
0
dBV0 dBV = 1 V (−2.21 dBu)
-2.2185
dBW0 dBW = 1 W = 30 dBm
-30

Acoustic Sound Pressure Level (SPL)

Note: SPL uses a different reference (20 µPa) and cannot be converted to electrical units.

Pascal (Pa)
1.0024 Pa
dBSPLSound Source
0Threshold of hearing
20Rustling leaves
40Quiet room
60Normal conversation
80Busy traffic
94Typical SPL measurement reference
110Rock concert front row
120Jet engine at 100m
140Threshold of pain

よくある質問

コード実装

import math

# Audio level unit conversions (electrical, 600Ω reference)
# All conversions go through watts as base

def dbm_to_watts(dbm: float) -> float:
    return 0.001 * 10 ** (dbm / 10)

def watts_to_dbm(w: float) -> float:
    return 10 * math.log10(w / 0.001)

def dbu_to_watts(dbu: float, impedance: float = 600) -> float:
    volts = 0.7746 * 10 ** (dbu / 20)
    return volts ** 2 / impedance

def watts_to_dbu(w: float, impedance: float = 600) -> float:
    volts = math.sqrt(w * impedance)
    return 20 * math.log10(volts / 0.7746)

def dbv_to_watts(dbv: float, impedance: float = 600) -> float:
    volts = 1.0 * 10 ** (dbv / 20)
    return volts ** 2 / impedance

def watts_to_dbv(w: float, impedance: float = 600) -> float:
    volts = math.sqrt(w * impedance)
    return 20 * math.log10(volts / 1.0)

def dbw_to_watts(dbw: float) -> float:
    return 10 ** (dbw / 10)

def watts_to_dbw(w: float) -> float:
    return 10 * math.log10(w)

# SPL conversions (acoustic, different domain)
def dbspl_to_pa(dbspl: float) -> float:
    return 20e-6 * 10 ** (dbspl / 20)

def pa_to_dbspl(pa: float) -> float:
    return 20 * math.log10(pa / 20e-6)

# Convert from dBm to all electrical units
dbm_in = 0  # 0 dBm
w = dbm_to_watts(dbm_in)
print(f"Input: {dbm_in} dBm")
print(f"  dBW:  {watts_to_dbw(w):.4f}")
print(f"  dBu:  {watts_to_dbu(w):.4f}")
print(f"  dBV:  {watts_to_dbv(w):.4f}")
print(f"  dBm:  {watts_to_dbm(w):.4f}")

# SPL reference level
print(f"\n94 dBSPL = {dbspl_to_pa(94):.4f} Pa")
print(f"20 µPa = {pa_to_dbspl(20e-6):.1f} dBSPL (threshold of hearing)")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.