サンプリングレート変換比
このサンプリングレート変換計算ツールは、変換元と変換先のレートを比較し、リサンプリングの計画に必要な正確な比率を返します。変換先を変換元で割り、周波数を増やす処理か減らす処理かを示します。両方の入力が安全な整数であれば、約分した整数比も得られます。44.1 kHzから48 kHzのような一般的な変換の確認に加え、エンコーダー、リサンプラー、メディア処理系、デジタル信号処理を設定する前の検証にも利用できます。
無料で実行
変換比の意味を理解します
サンプリングレートは、信号の1秒間を表す離散的なサンプル数です。別のレートへ変換するときに必要な比率は、変換先のレートを変換元のレートで割って求めます。1より大きい値は変換先で1秒あたりのサンプルが増えることを示し、1より小さい値は減ることを示します。たとえば、毎秒44,100サンプルから48,000サンプルへの変換結果は約1.08843537414966です。両方のレートが安全な整数であれば、整数の分子と分母へ約分した値も返します。この例では160:147となり、有理数によるリサンプリング段を表す一般的な形式です。監査しやすいように、元の入力値も結果に含まれます。入力は必ず同じ単位にそろえてください。44.1と48,000を指定してもkilohertzの自動変換は行われず、まったく異なる比率として計算されます。
増加と減少の判定を確認します
方向の各フィールドにより、数値の比較結果を明確な判断として扱えます。変換先が変換元より高い場合、directionはupsampleとなり、upsampleフラグが真になります。変換先が低い場合はdirectionがdownsampleとなり、対応するフラグが真になります。同じレートの場合は変換が不要なためunchangedとなり、両方のフラグは偽です。この重複した情報により、自動処理側で同じ比較を作り直す必要がありません。ただし、方向は音質、帯域幅、補間フィルターの種類を評価するものではありません。アップサンプリングはサンプル位置を増やしますが、収録されなかった周波数を復元できません。ダウンサンプリングでは、エイリアシングを防ぐため、通常は間引きの前に適切なローパスフィルターが必要です。この機能は比率だけを計算し、音声処理やフィルター選択は行いません。
音声処理の流れで結果を利用します
返された比率は、リサンプラーの設計、メディア変換の記録、設定の検証、補間と間引きに使う有理数係数の選定に利用できます。整数の場合、概念上は分子を補間係数、分母を間引き係数として扱えますが、実際の実装では別の段構成になることもあります。有限で正の小数も受け付けますが、両方が安全な整数でない限り、約分した分子と分母は省略します。これにより、浮動小数点値から得た不正確な分数を正確であるかのように表示しません。計算は決定的で、ネットワーク、保存領域、乱数、時刻を使用しません。0、負数、無限大、欠落したフィールド、数値ではない文字列は拒否されます。自動化したAPI呼び出しは1件あたり$0.002です。呼び出す前に両方の単位を統一し、コーデックやフィルターの制約は実際の音声処理システムで適用してください。
活用例
音楽用リサンプラーを設定します
44.1 kHzの音声を48 kHzの制作工程へ変換する際の160:147という比率を計算します。
書き出し設定を検証します
指定された出力レートが元のレートを増やすか、減らすか、維持するかを判定します。
メディア変換を記録します
変換元、変換先、比率、方向を処理ジョブとともに保存し、後から確認できるようにします。
よくある質問
リサンプリング比はどのように計算しますか?
変換先のサンプリングレートを変換元で割ります。1より大きければ増加、1より小さければ減少です。
2つのサンプリングレートが同じ場合はどうなりますか?
比率は1、方向はunchangedとなり、upsampleとdownsampleの両フラグは偽になります。
この機能は音声ファイル自体をリサンプリングしますか?
いいえ。比率だけを計算します。音声のデコード、サンプル生成、アンチエイリアスフィルターの適用は行いません。
分子と分母が省略されることがあるのはなぜですか?
両方が安全な整数の場合だけ返すためです。小数に誤った精度を持たせず、正確な整数比だけを示します。
APIリクエストの料金はいくらですか?
APIリクエストは1件あたり$0.002です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/audio/sample-rate-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"source_sample_rate":44100,"target_sample_rate":48000}'const res = await fetch("https://api.kit.forhosting.com/audio/sample-rate-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"source_sample_rate": 44100,
"target_sample_rate": 48000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/audio/sample-rate-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"source_sample_rate": 44100,
"target_sample_rate": 48000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/audio/sample-rate-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"source_sample_rate":44100,"target_sample_rate":48000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"source_sample_rate":44100,"target_sample_rate":48000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/audio/sample-rate-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"source_sample_rate": 44100,
"target_sample_rate": 48000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "audio.sample_rate_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 200 |
max_minutes | 180 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |