「嘘を言う耳でそれを見てください。」

2026/01/10 9:23

「嘘を言う耳でそれを見てください。」

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

この記事は、画像処理のテクニック(短時間ウィンドウで平均化してダウンサンプリングする、ローリング平均フィルタでぼかす、ビット深度を減らす、遅延コピーを加える、ウィンドウ付きFFT解析を行う)を音声に適用し、ピクセレーション、ノイズ除去、エコー、フランジャー、コーラス、フェーザー、ピッチシフトなどの創造的効果を実現する方法を示しています。

  • ダウンサンプリングは「音声ピクセレーション」を作り、ステップ波形アーティファクトによって金属音が生じます;ぼかしフィルタでこれらを除去します。
  • ビット深度の低減は高周波ノイズ(ハイス)を導入し、デジタル→アナログ変換器はローパスフィルタリングでマスクします。
  • 遅延・減衰コピーはエコーや位相効果(フランジャー、フェーザー、コーラス)を生成します。
  • 周波数領域編集は画像圧縮でよく使われますが、音声ではほとんど使用されません;しかしそれがボコーダー、オートチューン、その他のスペクトルツールの基礎です。

単純に全音声FFTを行うとスペクトラムがぼやけるため、信号はHann(sin²)ウィンドウで20–100 msスライスに分割する必要があります。半相重畳(cos²)ウィンドウを使えば sin² + cos² = 1 により完全再構成が可能となり、クリックフリーの周波数領域編集(ピッチシフトなど)が実現します。

記事は教育目的で再帰FFT関数の簡易C実装も提供し、画像FFTで低周波成分をシフトする課題(犬の画像例)を示すことで、音声と画像のスペクトル操作の違いを強調しています。

今後の研究としては、高品質ピッチシフトが支配的なボーカル周波数を追跡し、無声音子音を補正する方法(簡略化された手法から脱却)を提案しています。これらの洞察は、オーディオエンジニアや開発者がデジタル→アナログパイプライン、創造的効果、および自然な音楽制作・消費機器向けピッチシフトツールを設計する際に役立ちます。

本文

過去数週間、私は侵襲的な考えを離せませんでした:ラスター画像とオーディオファイルは非常に似ている――それらはアナログ測定の連続であるため――同じ変換を両方に適用したらどうなるだろうか?


ダウンサンプリング

データストリームを n サンプルずつのバケットに分割し、各バケット全体を単一の平均値に置き換えるとどうなるでしょうか。

for (pos = 0; pos < len; pos += win_size) {
    float sum = 0;
    for (int i = 0; i < win_size; ++i) sum += buf[pos + i];
    for (int i = 0; i < win_size; ++i) buf[pos + i] = sum / win_size;
}

画像の場合、結果は見た目に優れたピクセルアートになります。
音声の場合……ヘッドホンを装着すると驚きの体験が待っています。

モデルイメージは犬「スカイ」。曲の抜粋はエフィー・パッセロによる “It Must Have Been Love” のカバーです。

オーディオ形式に精通していれば、低サンプリングレート特有のマuffledで中立的な再生になると予想したかもしれません。
しかし「音声ピクセル化」フィルターは不快な金属調のオーバートーンを追加します――波形の階段状パターンが元々存在しなかった広帯域ノイズを生成するためです。

アーティファクトの修正

ジグザグ波形にローリング平均フィルタ(ピクセル化画像のぼかしと同等)を適用します:

/* ... */

ビット深度の低減

44.1 kHz のサンプリングレートは維持しつつ、各サンプルのビット深度を下げる場合は?

/* signed int16_t バッファを仮定し、偶数 n なら n+1 レベルを生成 */
for (int i = 0; i < len; ++i) {
    int div = 32767 / (levels / 2);
    buf[i] = round(((float)buf[i]) / div) * div;
}

答えは「はい」と「いいえ」の両方です:注入された誤差が平均周波数を高め、ハス(ざらつき)を生み出し、尖音ではなくなります。
画像の量子化よりもオーディオで品質損失ははるかに早く起こります。


遅延コピーの追加

画像を壊すようなオーディオフィルタも試せます:

for (int i = shift; i < len; ++i)
    buf[i] = (5 * buf[i] + 4 * buf[i - shift]) / 9;

写真の場合、小さなオフセットはぼかし、大きなオフセットは「ダブル露光」効果を生みます。
音声ではエコーやフェーザー・クロスサウンドのような位相シフト効果が現れます。


周波数領域解析

有限長信号はすべて正弦波に分解できます(DFT/FFT)。
画像では編集用途であまり使われず、主に圧縮、特徴検出、ノイズ除去に利用されます。

音声では周波数領域技術がボコーダーやオートチューンなどを可能にします。

C でのシンプルな FFT 実装

void __fft_int(complex *buf, complex *tmp,
               const uint32_t len, const uint32_t step) {
    if (step >= len) return;
    __fft_int(tmp, buf,          len, step * 2);
    __fft_int(tmp + step, buf+step,len, step * 2);

    for (uint32_t pos = 0; pos < len; pos += 2*step) {
        complex t = cexp(-I*M_PI*pos/len) * tmp[pos+step];
        buf[pos/2]          = tmp[pos] + t;
        buf[(pos+len)/2]    = tmp[pos] - t;
    }
}

void in_place_fft(complex *buf, const uint32_t len) {
    complex tmp[len];
    memcpy(tmp, buf, sizeof(tmp));
    __fft_int(buf, tmp, len, 1);
}

変換はほぼ定常的な信号で最も効果を発揮します。
したがって、トラックを短いウィンドウ(20–100 ms)に分割して扱います。


ウィンドウ化と重ね合わせ

単純なウィンドウ FFT はウィンドウ境界でクリック音を生む可能性があります。
ハン窓を使用します:

y(t) = sin²(t),  t ∈ [0, π]

これにより波形の端部がゼロになるよう減衰します。

不連続を避けるため、半分シフトしたウィンドウ(cos²(t))も計算します。
再構築は次の通りです:

out₁(t) = in(t) · sin²(t)
out₂(t) = in(t) · cos²(t)
out(t)  = out₁(t) + out₂(t) = in(t)·[sin²(t)+cos²(t)] = in(t)

ハン窓の減衰は打ち消されますが、端部での不連続は除去されます。


実践的な応用

このテクニックを使えば、周波数領域で安全に編集できます――例えばボーカルのピッチシフトなど。
(サンプルコードは簡易例を参照)

犬の画像も変換してみました:低周波成分を高いビンへシフトすると不自然なエッジが生じ、逆に低くすると特徴的なぼかしになります。


まとめ

  • ピクセル化(ダウンサンプリング)は画像では良好ですが、音声では階段状アーティファクトによる金属調ノイズを生成します。
  • ローリング平均フィルタや適切なウィンドウ化でそのアーティファクトは除去できます。
  • ビット深度の低減はマuffledではなくハス音(高周波誤差)を生じさせます。
  • 重ね合わせとハン窓は周波数領域編集に不可欠です。

ぜひ実験してみてください――まだ多くの可能性が広がっています!

同じ日のほかのニュース

一覧に戻る →

2026/01/10 1:49

**Flockが米国の監視インフラのパスワードを53回ハードコードした**

## 日本語訳: **要約:** Flock SafetyのデフォルトArcGIS APIキーが誤ってクライアント側JavaScriptバンドルに埋め込まれ、同社のArcGISマッピング環境と50個のプライベートアイテムへの無制限アクセスが漏洩しました。キーは複数のサブドメインにわたる53件の公開フロントエンドバンドルに出現し、リファラーやIP制限が設定されていませんでした。この問題は約12,000件のデプロイメントに影響を与えました:~5,000件の警察署、~6,000件のコミュニティデプロイメント、および~1,000件の民間企業。 リスク対象となるデータには、監視インフラ(カメラ在庫、ドローンテレメトリー)、法執行位置情報(パトロールカーGPS、ボディーカム位置)、人・車両検出アラート、ホットリスト検知、CADイベントレイヤー、Flock911インシデント文字起こし/音声、およびカメラ登録者の個人情報が含まれます。キーのメタデータは「portal:app:access:item」権限を50件持っており、多数または千単位の機関からのデータを集約している可能性があります。 2025年11月13日に別途報告された重大脆弱性により、未認証でFlock Safetyの本番環境(「Flock Safety Prod」)にスコープされた有効なArcGISトークンをミントできる問題が存在しました。この欠陥は2026年1月7日現在でもパッチ適用されておらず、デフォルトキーとトークンミントの脆弱性は、ほぼ100万件の利用可能クレジットを持つアクティブサブスクリプション下で機能していました。 この漏洩により、Flock Safetyが主張するCJIS、SOC 2 Type II、ISO 27001、およびNIST標準へのコンプライアンスは損なわれます—これらの主張は監査報告で裏付けられたことがありません。実際に悪用例として、ジョージア州(Steffman)、カンザス州(Nygaard)、フロリダ州(Brown)の警察長官がFlockカメラを利用して個人をストーカーした事例が報告されており、システムの乱用への脆弱性が示されています。上院議員ロン・ワイデンは公にFTCによるFlock Safetyのサイバーセキュリティ実務調査を要請しています。 外国情報機関は通信を傍受せずとも大規模に移動データを収集でき、国内では強制、脅迫、ハイプロファイル標的への影響操作といったリスクが存在します。トークンミント欠陥は2026年初頭まで未修正であり、警察署、コミュニティデプロイメント、民間企業を脅かし、法執行技術に対する公衆の信頼を侵食しています。

2026/01/10 4:33

**タイトル:** RTX 5090 vs. Raspberry Pi:ゲームに使えるのか? **概要:** - **RTX 5090** – 4K解像度で高フレームレート、レイトレーシングやDLSSを駆使したハイエンドデスクトップGPU。 - **Raspberry Pi** – 超低消費電力のSBC。VideoCore IVまたはVI GPUは極めて軽量なゲームやエミュレーションしか処理できない。 **結論:** RTX 5090は本格的なゲーミングに最適で、Raspberry Piは単純なインディータイトルやレトロクラシックを動かす程度の性能しか持たず、RTX 5090とのパフォーマンス差は埋められない。

## Japanese Translation: Raspberry Pi 5に外部NVIDIA RTX 5090 GPUを接続してゲームをプレイすることは技術的には可能ですが、ほとんどのユーザーにとって実用的ではありません。Pi 5のPCIe Gen 2 ×1インターフェース(約500 MB/s)は帯域幅を制限し、FEXエミュレーション下でのCPUは2008年型Core 2 Quadに匹敵するため、Cyberpunk 2077などの最新ゲームは720pでも<16 FPSしか出せずプレイできません。RTX 5090を接続してもフレームレートが16 FPSを超えることは稀です。一方、Beelink MINI‑S13のようなIntelベースのSBCは多くのタイトルで50+ FPSを達成し、Windows/WINEゲームにおいてARMボードよりも優れた性能を示します。Radxa ROCK 5BはPi 5よりコア数とPCIe帯域幅が増えていますが、FEXオーバーヘッドのため古いゲームで22–23 FPSに留まります。 ARMボードではNVIDIAドライバパッチ(例:@mariobalanca の作業)が必要で、DXVK を無効化(PROTON_USE_WINED3D=1)して特定タイトルを動かす必要があります。負荷時の電力消費はPi 5が9 W未満、一方Beelinkでは約30 Wです。これらの数値にはGPU消費は含まれていません。Portal 2 のような非常に古いゲームは、Pi 5とRTX 5090で4K解像度でも60 FPS以上を実現できます。 Valve の次世代 VR ヘッドセットや統合 GPU を備えた NVIDIA SoC などの将来の ARM プラットフォームが Linux ゲーミング性能を向上させる可能性はありますが、現在の構成で本格的にプレイすることは推奨されません。低電力ゲーマーは非常に古いタイトルなら Pi 5 を利用できるかもしれませんが、高フレームレートを求めるユーザーは Intel ベースの SBC を選ぶでしょう。メーカーは PCIe 帯域幅とドライバサポートの拡充に注力することで、ARM ゲーミングの実用性を広げられる可能性があります。

2026/01/10 4:15

Show HN:ロケット発射と軌道シミュレーター

## Japanese Translation: **改訂概要** テレメトリログは、打ち上げが開始直後(T+00:00:00)であることを示しています。この瞬間にステージ 1 の状態が表示され、すべての主要な飛行パラメータが初期値になっています: * 高度 = 0 km、下方向距離 = 0 km * 速度 = 0 m/s(垂直 = 0 m/s、水平 = 0 m/s) * 加速度 = 0 G;Max Q = 0 kPa;動圧 = 0 kPa * 空気抵抗係数 = 0.00;マッハ数 = 0.00 * 質量 = 0 kg;残り燃料 = 0 % * 推力 = 0 kN * ピッチ角度 = 90°(目標値と現在値) * Apoapsis = 0 km、Periapsis = 0 km ログには「MISSION EVENTS」セクションも含まれ、ピッチプログラムでは目標ピッチと現在ピッチがともに 90° と記載されています。これらの基準値はミッションコントロール、シミュレーター、およびエンジニアリングチームにとって重要であり、逸脱すると安全性を損なったり性能予測に影響を与える可能性があります。

「嘘を言う耳でそれを見てください。」 | そっか~ニュース