ZX スペクトラムの 1 ビットピッパによるデジタルオーディオ

2026/09/28 3:30

ZX スペクトラムの 1 ビットピッパによるデジタルオーディオ

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

要約▶

Japanese Translation:

このテキストは、システム単一の簡素なビーパーを最適化されたソフトウェアタイミングで精密に操作し、高品質なデジタルオーディオを実現する ZX スペクトラムプロジェクトを記録しています。シャドウレジスターを利用した

EXX
指示および厳格なメモリ制限内でのポインタ管理により、著者は 16kHz の再生レートを達成し、もともとの低忠実度の 8kHz 出力を大幅に向上させました。これは、スピーカーの慣性による初期の制限を克服し、97 マイクロ秒から 170 マイクロ秒間のパルス幅を最適化することで、きついトーンではなく滑らかな遷移を実現したためです。開発には、C コンパイラーの有効的な使用を妨げる激しいレジスター圧力のためにアセンブリ言語で 2 回の完全な書き換えが必要とされ、また PC と異なり専用のハードウェアタイマーを使用せず(NOP 指示によって微調整された遅延を実現)、音量は波データを事前に処理する代わりにジャンプテーブルの値を変更して「内蔵増幅」を提供する独自ロジックテーブルで実装されました。検証により、デモが本物の 48K マシン(gmc および Omni 128 ビルドによって確認)、Spectaculator などの現代ハードウェア、Fuse、EightyOne、Zesarux、Clock Signal、Zesarux を含むエミュレーター上で動作することが確認されました。この手法では全使用可能な RAM をサンプルデータに割り当てる必要があり、システムクラッシュを防ぐためにシャドウレジスターからの退出時に慎重な処理が必要とされますが、これは新規かつ効率的なオーディオ合成法を確立します。Dmitry Milk の「CORE5」や Michael J. Mahon の Apple IIe 用の RTSynth(および Class Apples アルバム)などのプロジェクトに触発されたこのアプローチは、スペクトラムという「黄金期」のシステムにおける直接ハードウェア能力を活用しており、他の 8 ビットアーキテクチャでしばしば必要な重い回避策を避けます。

本文

ZX スペクトラムの 1 ビットビープ音を高品質なデジタルオーディオへ:究極のリビルドプロジェクト

ZX スペクトラムシリーズを締めくくる最終章として、あらゆる種類の ZX スペクトラムで搭載されている単純な 1 ビットのビープ音を、高品質なデジタルオーディオへと変換する技術の開発を行いました。その結果は非常に良好でした。

成果と検証環境

  • 画期的な音質向上
    • 先週公開したデモリールの再生音がこれであり、以前の単純な PCM 再生システムとの差は**「天上地下」**と言えるほどです。
  • ハードウェア・ソフトウェアの双方での動作確認
    • オリジナルハードウェア: デモプログラムの正常動作を確認済み。
    • 現代のリビルト機(クラオン): 「gmc」氏(マストドンアカウントを通じて 48K スペクトラムで動作確認)と、トム・ハート氏(オミニ 128 システムで結果を得た)により検証済み。
  • エミュレーターでの互換性
    • 上記のデモは
      Fuse
      を用いてキャプチャしていますが、以下のプラットフォームでも正常に動作します。
      • EightyOne
      • Zesarux
      • Spectaculator
      • Clock Signal

技術的な課題と制約

この技術の実用性にはいくつかの限界が存在します。

  • 音量の問題: 外部アンプを接続していないハードウェア上で再生すると、出力音量が非常に小さくなります。
  • メモリ容量: サンプルの長さや品質を維持するには、必要な RAM が**「ほぼ全て」**を占めてしまいます。
  • 開発の難易度:
    • 動作するものを手に入れるまでに2 回の完全な書き換えが必要でした。
    • 設定したタイミング制約にギリギリの状態で収める必要があり、従来使用したことないテクニックを駆使しました。
    • アセンブリ言語での作業が必須であり、C 言語でのコンパイルサポートでは対応不可能でした(厳密なタイミング指令列とレジスタ圧力の両立のため)。

開発の歩み:誤った試みから突破へ

先行の研究と基本原理

  • DOS 時代の Eric the Unready や Star Control II における PC スピーカーの活用経験から学んだ技術背景です。
  • 物理的な基本原理: 回路の電容とスピーカーの質量により、信号の遷移とコーンの振動には時間がかかります。これを巧みに利用することで、より細かく変動する音波を得ます。
  • PC の容易な I/O と独立したハードウェアタイマーとは異なり、スペクトラムではソフトウェア上でサンプリングレートとパルス幅を制御する必要があります。

誤った試み 1:実際の遅延ループ

  • 計算結果: スペクトラム CPU(約 3.5MHz)で 125 マイクロ秒は 438 サイクルに相当します。
  • アプローチ: 4 ビット PCM データを読み込み、スピーカー ON/OFF を行い、その間に NOP ループで遅延させる方式。
  • 結果: 耳にすることは鋭い高音の笛声のみ。単に 8kHz のトーンを発生しただけであり、音源としての機能不全でした。

誤った試み 2:動的遅延

  • 改善策: 固定された長い NOP ストリームではなく、計算されたジャンプによる微調整可能なプログラム遅延を採用。6502 アーキテクチャのトリックも検討しましたが、4 サイクル精度で十分でした。
  • 発見: 結果は主に 8kHz トーンですが、その裏に音声クリップのささやきがうっすらと聞こえるようになりました。技術の有効性が示唆されました。
  • 要因: スペクトラムのスピーカーが PC よりも軽量であること、および 4 ビット信号内の値が約 20 マイクロ秒のダイナミックレンジに対応できることが判明しました。

道を見つけること(Blip Buffer の発見)

  • Fuse
    エミュレーターのソースコード調査により、オーディオ信号の滑らかにする**「Blip Buffer システム」**が存在することが分かりました。
  • 重要な洞察: システムの物理的な慣性(スピーカーが動き始め減速するまでの時間)を無視して 8kHz よりも長い遷移時間を必要としており、これは 4〜7 サンプル(97〜170 マイクロ秒)に相当します。

Sawtooth から Sample へ

  • 自己改変コードの最適化:
    • 各パルスを 2 回送信するマクロ方式を採用し、ジャンプテーブルで切替を行うことで、ロジックを厳格かつ効率的にしました。
    • pcmstep
      マクロを用いて、スピーカー ON → NOP 遅延 → スピーカー OFF のサイクルを実現。
  • レジスタ管理の革新:
    • 16 ビットカウンターとポインタとの競合問題を解決するため、**シャドウレジスタ(EXX)**を活用して通常レジスタを解放しました。
    • これにより16kHz のサンプリングレートに合わせることが可能になりました。
  • メモリ容量の対策:
    • 16kHz で約 40KB に及ぶクリップが 32KB メモリに収まらない問題に対し、
      pcmstep
      を各パルスで 2 回送信することで回避しました。
  • 振幅補正とシステム安定化:
    • ジャンプテーブル内で増幅とクリッピング(値から 5 を引いて 3 倍など)を事前に行い、エミュレーターでの出力を確認しました。
    • 終了時のシステムクラッシュを防ぐため、シャドウレジスタ内の値を保護するコードを追加しました。

ファイナルな再生コード

  • 構成:
    playwav
    ルーチンが割り込み制御とシャドウレジスタの保存/復元を行い、メインループを呼び出します。
  • タイミング制御: 全体のループを 438 サイクルとし、スピーカー ON/OFF のタイミングを厳密に制御(サイクル 219 と 438 で OFF)。
  • ジャンプテーブル: 32 バイト境界に整列させ、キャリーオーバーを防ぎながら内蔵増幅機能を持たせています。

関連する研究と比較

Dmitry Milk の Beeperdrive や Michael J. Mahon の RTSynth システムなどの成果と比較検討しました。

  • SoftSoniq と CORE5 エンジン:
    • Dmitry Milk は GitHub で「CORE5」エンジンのコードを公開しており、より高度なシンセサイザー機能(256 個のブランチ、8 ビットオーディオ)を実現しています。
    • 高速化テクニック: HL レジスタを再利用してスタックポインターを間接的に呼び出しターゲットとする手法など、Dmitry のコードには驚くほど効率的な Z80 テクニックが含まれていました。
  • Mahon の RTSynth:
    • Apple IIe 向けのシステムであり、異なる CPU(6502)ですが類似したアプローチを取っています。
    • PC スピーカーと同様の原理ですが、Apple の制御ロジックは単純化されています。

今後の可能性と評価

技術的拡張性

  • C64との連携: C64 ではランレングス符号化された 4 ビット PCM を 1MHz の 6502 で 16kHz に変換するスキームも可能です(ただし 14 サイクルの制約が残ります)。
  • マルチトラック: 逆方向に進み、信号をさらに細かく分割することで 5 ビットまたは 6 ビットのサウンドへ拡張可能ですが、4 ビットで十分であることを考慮して今回は見送りました。
  • フルミュージックエンジン: Softsoniq エンジンのような音楽再生への拡張も検討されましたが、既に同様のプロジェクトが存在するため、今回の範囲に留めました。

ZX スペクトラムの評価

  • バランスの良さ: システムが強力になるにつれて一般的になった複雑な処理(C64/Amiga 型)とは異なり、スペクトラムは**「あなたが望むものを直接求めて得られる」**シンプルさが特徴です。
  • スイートスポット: 生パワーと控えめ仕様の間で極めて快適なバランスを備えており、ユーザーに親しみやすく能力を利用できる点で優れています。

このプロジェクトにより、1 ビットのビープ音が高品質な音楽体験へと生まれ変わることを証明しました。

同じ日のほかのニュース

一覧に戻る →

2026/09/30 4:30

米国郵政当局が偽造郵便ラベル販売サイトを閉鎖しました。

## 日本語訳: 9 月 24 日、2026 年、米国郵政検査サービス(USPS)およびパートナーとなる連邦機関は、パキスタンのカーネワール出身の33歳ファヘーム・アフラムに対する起訴状に基づき、LabelsBank.com ドメインを没収し、同サイトを閉鎖するための裁判所命令を発令した。アフラムは、合法的な USPS 配送サービス料金を回避させるため、5,100 万件を超える偽造 USPS 郵便ラベルを5,000 人以上の顧客に販売していたとされる不正ウェブサイト運営容疑で告訴された。同スキームでは、パッケージの重量、サイズ、宛先にかかわらず、ラベルあたり通常2ドルという固定価格で課金され、USPS の確認された損失は1億2,600 万ドルを超えている。調査当局は、同サイトが正当なパッケージ仕様を無視し、顧客が公式費用を回避できるよう、低価格(ラベルあたり最低2ドル)で偽造ラベルを販売していたことを突き止めた。 アフラムは、米国に対する詐欺共謀罪1件、偽造郵便切手ラベルの製造・販売罪5件、電信詐欺罪4件の容疑に直面している。マイアミ支部の郵政検査官らは、アフラムの起訴に伴い同ドメインを没収した。フロリダ南区米国検察官のジェイソン・A・レディング・キニョネス氏によると、この事件は「正当な費用を回避するため、減額された価格で偽造切手をオンラインで販売する」とされるスキームである。マイアミ支部郵政検査官のブラジスミール・ロホ氏は、「私たちの影響力は国境を超えている」と強調し、「どこから活動しても、郵政サービスを欺こうとする者どもが法廷に立たされることを示している」と述べた。今回の没収により、さらにの財務的損失を防ぎ、消費者が無自覚的に偽造商品を購入するのを防止した。当局は、同ウェブサイトは閉鎖され、アフラムに対する連邦での起訴が行われたことを確認した。すべての刑事事件において、これらの容疑はあくまで告発であり、被告人が有罪と証明されるか、またはそれまでは無罪推定を受けるのが原則である。この取り締まりは、類似のオンラインラベルリングに対する抑止となり、そのような活動は深刻な連邦上の結果をもたらす可能性があると再確認するものでもある。

2026/09/30 0:44

PS5 リラップス_EXPloit_

## Japanese Translation: 本ドキュメントは、PlayStation 5 のファームウェアバージョン 7.00 から 13.60 までのexploit に係る技術ガイドを提供し、Primary DNS を 45.56.67.85 と設定し、ペイロード配信のためにポート 9021 でリスニングすることを要する。その手法は Python の `serve.py` をローカルで実行するか、提供された HTTPS URL を訪れることで実現される。exploit は WebKit の脆弱性を活用しており、ブラウザ段階では JSC の情報漏洩と構造クローンオブジェクトプールの不整合を用いて typedarray を破損させ、カーネル段階ではアドレス漏洩と aio_multi_wait UAF レースを組み合わせることで完全な読み書きアクセスを実現する。両段階の安定性問題のため、成功には複数回の試行が必要な可能性がある。本プロジェクトは多数の貢献者をクレジットしており、目的は教育的研究および許可されたテストに限定されると明確にし、システムクラッシュ、データ損失、オンラインサービスの恒久的な禁止、デバイス所有権またはテスト認可がない機器に対する法的制限といったリスクについても警告している。

2026/09/29 21:43

デリーが電気損失を 50 パーセントから 5 パーセントに削減した方法

## Japanese Translation: デリーは電力グリッドの歴史的な変革を遂げ、頻繁な停電に悩まされ高次な信頼性を欠いていたシステムから、約 2300 万人の住民に高い安定性を供給する堅牢なインフラへと進化しました。この転換の具体例として、2026 年 8 月の独立記念日にフマイーンの陵が完全に明かりを灯したことが挙げられます。これは、二年前ほど前には市全域を麻痺させた深刻な停電と鮮明な対比を成します。当時の家計は毎日の停電により学校への送迎バスに乗り遅れたり、出勤が遅れるなどの影響を受けました。 グリッドの悪化は 1980 年代から 1990 年代にかけて進行し、大規模な財政不足を引き起こしてインフラ投資を停滞させるに至りました。2002 年初頭には老朽化した設備と窃盗による損失が 50% を超えていました。これを逆転させるためにデリーは州営の公用事業を解体し(BSES とタタ・パワーの創設)、一連の改革を実施しました:約 5 km の架空送電線を実地ケーブルに置き換える、SCADA デジタル監視システムを導入する、トランスフォーマーを更新し、コンデンサーバンクを設置する、送電線の窃盗対策として絶縁化する、デジタルメータリングを導入して請求詐欺を終息させるなどです。これらの取り組みは 2002 年の技術的・商業的損失が 50% を超えていたのを、現在の 5–6% にまで削減すると同時に、グリッドの信頼性指数を約 70% から 99.9% 以上に引き上げました。これはフランスやベルギーと同等の水準です。 現在、デリーのピーク需要は史上最高纪录である 8,748 メガワットに達しており、公用事業は石炭、天然ガス、水力発電といった多様な地域発電源を活用しながら、中央または州からの購入も実施しています。継続的な戦略には屋上太陽光の採用、詐欺検出のための人工知能の活用、コミュニティ参加プログラム(スラム地区で電気を収集する女性「アバス」による請求書配布など)、そして 24 時間・7 日体制のカイスクおよびモバイルアプリといった利便性の高い支払いオプションが含まれています。究極的には、これらのアップグレードにより家計および企業への日常的中断は消滅し、電気自動車などのモダンテクノロジーに必要な安定した電力供給を可能にしました。

ZX スペクトラムの 1 ビットピッパによるデジタルオーディオ | そっか~ニュース