2025年10月16日1
DRAFT
この文章は、アイデア資料です。正式決定や指針ではありません。
C# (.NET) で利用できる音声ライブラリは、殆どがクロスプラットフォーム対応がなく、Windows のみの対応になっていることが多いです。
標準ライブラリで利用が容易な System の Console.Beep() は一応デスクトップ端末なら利用可能ですが、周波数と時間指定 (Console.Beep(周波数, 時間指定)) は Windows でしか利用できません。
また、音声ライブラリで最も有名な NAudio についても、Windows に根幹から依存しているらしく1、最終リリースが2023年と最近はリリースされていないようです。(Commit はされているようなので、更新されていないというわけではありませんが)
他の主要ライブラリについても、数年更新されていないか、低層の操作が必要で利用が難しいものが多いようです。
そこで Alice Project で、容易に利用できる音声ライブラリの開発を行うことを考えました。基本的には、Silk.NET をベースとします。
Silk.NET の OpenAL は、OpenTK の開発者たちがより良い音声バインディングの開発を目指して作成したもので、.NET Foundation 傘下ということもあり、開発は順調に進んでいるようです。ただ、低層の操作が必要でやや複雑なため、これを簡単に利用できるライブラリ開発を行います。
Alice Novel (.NET MAUI ベース) では、CommunityToolkit.Maui.MediaElement を利用しています。
Aqua Notes (Blazor) では、ブラウザの音声再生機能を利用する予定です。ただ、今回開発したものが Web Assembly でも利用できる場合は、そちらを利用したいと考えています。
Console.Beep(周波数, 時間指定) 相当)