Fletでビルド可能な録音ライブラリ(デスクトップ限定)

Fletでマイクからの入力を録音するアプリを作りたくなったので、それに使用できそうなライブラリ探しをします。
目標はネイティブデスクトップアプリとしてビルドすることなので、最低限の機能でそこが可能かだけ調査します。
まずはWindows、それで問題なければUbuntuも調査します。(Macは持ってないので今回は未調査…)
Webやモバイルアプリは今回は視野に入れません。
環境
- Windows 11
- uv 0.5.11
- Python 3.13.5
- Flet[all] 0.28.3
- Flutter 3.29.2

SoundCard
依存ライブラリが少なくて第一候補だった。
PortAudioにも非依存でどんな環境でも一発で動きそう。
バージョン
- SoundCard 0.4.4
- SoundFile 0.13.1
- NumPy 2.2.6
NumPyのバージョンについて
SoundCardがValueError: The binary mode of fromstring is removed, use frombuffer instead
というエラーを吐いたため、最新からダウングレードしてる。
どうやら、最新のNumPyではfromstring
メソッドが削除されているようだったので、まだ使用できるバージョンまで落とした。
結果:微妙
ビルドしたexeを実行しても、画面上に
FileNotFoundError: [Errno 2] No such file or directory: 'C:\[プロジェクトフォルダ]\record_audio_test\build\windows\site-packages\\soundcard\mediafoundation.py.h'
というエラーが表示されて、そのままでは実行できなかった。
解決のために.venv\Lib\site-packages\soundcard
に存在する(uvで環境構築した場合)mediafoundation.py.h
を、build\windows\site-packages\soundcard
にコピペしてみると動いてくれた。
しかし、buildコマンドを打つだけでは解決しないので却下。
ちなみに他にもsoundcardに関わる.py.h
ファイルは存在し、録音以外の機能を使おうと思ったら追加でコピペしないと行けない可能性もある。
しかし、numpy配列⇛音声ファイルの保存に使用したSoundFileは問題なく動いたので、これは嬉しい。

sounddevice
これも依存ライブラリが少ない。
ただし、PortAudioに依存しているようで環境によっては一発で動かないかも。
バージョン
- sounddevuce 0.5.2
結果:Windowsではいい感じ
Windonwsではflet build
コマンド一発でビルド完了・動作も問題なし。
ただし、Ubuntuではflet run
すら通らず。
エラーはraise OSError('PortAudio library not found')
なので、やはりPortAudioが必要なようだ。
今回は追加ソフトウェアの利用は避けたいので却下。