Skip to content

Releases: satotaka0409/Onta

音多 Audio Engine

Choose a tag to compare

@satotaka0409 satotaka0409 released this 16 Oct 13:46

1. 「音多」とは何か

1.1 概要

音多(Onta)は、ファイルを音声信号として送受信するアプリケーションです。

送信側でファイルを音声化し、受信側でその音声から元ファイルを復元します。

想定としては、カセットテープにPCのファイルをデジタルデータとして録音。

再生して取り込むと、元のファイルを復元する。

要するに、USBメモリの代わりをカセットテープでやろうというプロジェクトです。



50年ほど昔のパソコン聡明期。パソコンの性能は今とは比べ物にならないほど貧弱でした。

メインメモリは16Kバイト(16Mバイトじゃないですよ)。8ビットCPUでクロックは4MHz程度。

家庭用テレビに画面を映して、にじんだ画面でゲームなどを楽しんでしました

この時代、プログラムなどのデータはどこに保存していたかというと、カセットテープに音として記録していました。

カンサスシティスタンダードなどの規格が生まれ、ハドソンやASCIIなどの出版社からは

各種パソコン用ゲームがカセットテープとして売られていました。

このころの転送速度は600ボー、およそ60バイト/秒 程度です。

1Mバイトのデータを記録するには、約4.6時間かかります。

また、少しのテープの傷や磁性体の剥がれがあれば使えなくなってしまいます。

これを現代技術を使って速度と信頼性を追求しようというのがこのプロジェクトの狙いです。



ファイルを丸ごと記録するのが、このアプリの中心です。

これに加えて、ストリームと性能測定という二つの使い方があります。

ストリームは、曲をデジタルデータの流れとしてテープへ連続記録するモードです。

ファイルのように先頭から揃える必要はなく、曲の途中から再生しても受信できます。

曲タイトル、アーティスト、ジャケ写も一緒に繰り返し記録するので、再生すると画面に表示されます。

性能測定は、カセットデッキやテープ、ケーブルがどこまで使えるかを見るモードです。

単音やスイープ、音多と同じOFDMの波形を流して、周波数特性や歪み、ワウフラッター、変調の限界をグラフで確認します。

こちらはファイルの保存や履歴には残りません。録音の前に経路を確かめるための画面です。



画面のギミックにもこだわってみました。

FFTグラフ エラー率グラフ IQグラフ などの各種グラフがリアルタイムで動き出します。

性能測定ではオシロスコープ、リサージュ、ワウフラッターのメーターも加わります。

見ていてワクワクするような画面に仕上がったと思います。

ファイル画面を見て「にやり」としてしまう方は、その手の専門家ではないでしょうか。



現代の信号処理の要素が詰まっているので、これから通信技術を学ぼうとしている方にも良い勉強材料になると思います。

このアプリには OFDM(直交周波数分割多重方式) QAM(直交振幅変調) 誤り訂正符号 などの現代の通信技術が使われています。

これらの技術は、地デジ、スマホ、Wifi などの生活インフラに直結していて、毎日お世話になっている技術です。

1.2 主な用途

  • WAVファイルを使ったオフライン送受信
  • 音声デバイスを使ったリアルタイム送受信
  • 送受信の履歴確認と結果追跡
  • 音楽のストリーム録音・再生(曲の途中からでも受信できる)
  • デッキやテープ、ケーブル経路の性能測定

1.3 音多でできること

  • ファイルを音声信号として送信する
  • WAVファイルまたは音声入力から受信し、元ファイルを復元する
  • 送受信履歴を確認する
  • 受信中の進捗や受信詳細(ブロック単位)を確認する
  • 音楽をストリームとして連続記録し、曲情報やジャケ写とともに再生する
  • 単音・スイープ・OFDM波形で、経路の周波数特性や変調の限界を測定する

1.4 動作環境

  • OS: Windows 10 64-bit 以上
  • CPU: x64 または ARM64
  • 推奨性能
    • CPU : Intel 第8世代Core iシリーズ以上 または同等以上のCPU
    • RAM : 16G Bytes以上
  • 音声入出力を使う場合は、Windowsで利用可能な入出力デバイスが必要
  • 注記: 音声デバイスがない環境でも、WAVファイルを使った送受信は実行可能です
    • MP3,AACなどの不可逆圧縮をするデバイスに録音するとうまく動作しません
    • パソコンのマイク端子につなぐと、パソコンがノイズと判断してうまく動作しません。LINE端子等につなげてください
    • カセットデッキが無い場合は、2台のパソコンをオーディオケーブルでつないで片方を送信側、もう片方を受信側にすれば動作します

1.5 表示言語

画面は日本語と英語に対応しています。

  • インストール(配布ファイル Onta-install-vX.Y.Z.exe を展開してできる Onta フォルダーの Install-Onta.cmd)の最初に、表示言語(日本語 / English)を選びます。初期選択は、Windows の表示言語が日本語なら日本語、それ以外なら English です。以降はその言語で起動します
  • 言語を選んでいないとき(setup.exe を直接実行したときなど)は、Windows の表示言語に合わせて起動します。日本語なら日本語、それ以外なら英語で表示します
  • 起動オプション --lang で言語を指定することもできます。インストール時に選んだ言語より優先します
    • Onta.exe --lang ja: 日本語で起動
    • Onta.exe --lang en: 英語で起動
    • 日本語・英語以外の言語や、正しくない値を指定したときは英語で起動します
  • 言語は起動時に決まります。切り替えるときは、アプリを終了して起動し直してください

1.6 基本用語(この章で使う言葉)

  • 送信: ファイルを音声信号へ変換して出力する処理
  • 受信: 音声信号を解析してファイルへ復元する処理
  • WAV入力/出力: 音声デバイスではなくWAVファイルを入出力に使う方式
  • ブロック: 送受信で扱うデータの分割単位(1 ブロック最大 16,384 バイト。最後のブロックだけ短くなることがあります)
  • ストリーム: 音楽を途切れないデータの流れとしてテープへ記録し、途中からでも再生できる方式
  • 性能測定: デッキやテープの周波数特性・歪み・ワウフラッター、変調の限界を確認するモード

1.7 インストール方法

Windows 10 または 11 用です。Macには対応していません。
ダウンロードしたファイルを実行していただくだけでインストールは完了します。
image
自己解凍形式となっているので、解凍するフォルダを指定します。
image
Install-Onta.cmd をダブルクリックします。
image
言語とショートカットの有無を選んで「OK」でインストール完了です。
image
デスクトップにショートカットアイコンができます。