Repolode
AhmadHassan-BTed

AhmadHassan-BTed/AhSilence

FFTで低周波のハム音を検出し、逆位相の音で打ち消すKotlin製Androidノイズキャンセリングエンジン。

スター
1,684
フォーク
2
未解決の Issue
5
最終コミット
先月

これは何?

AhSilenceは、Jetpack ComposeとKotlinで構築されたネイティブAndroid向けのアクティブノイズキャンセリング(ANC)アプリです。エアコンや電気機器のうなり音など、持続する低周波音を対象としています。周囲の音を録音し、独自のCooley-Tukey radix-2 FFTで支配的な周波数を特定したうえで、逆位相の正弦波を出力して2つの波を打ち消し合わせます。

ユーザーは360度のキャリブレーションダイヤルで位相オフセットを調整し、ハードウェアやBluetoothの遅延を補正できます。また、ゲインスライダーで振幅を設定できます。Proモードではこれらのコントロールを使え、Simpleモードでは機能を絞ったインターフェースを利用できます。ノイズキャンセリングは常駐通知を表示するフォアグラウンドサービスで動作するため、画面をロックしても処理を継続します。

このプロジェクトはClean Architectureを採用しており、Kotlinのみで構成されたドメイン層がAndroidフレームワークのコードから分離されています。ネットワーク通信やテレメトリーを使わず、完全にオフラインで動作すると説明されています。必要な低遅延音声テストにエミュレーターは対応していないため、マイクを搭載した実機のAndroidデバイスが必要です。対応する最低バージョンはAndroid 8.0(API 26)です。

主な機能

  • 01マイク音声に独自のradix-2 FFTを適用し、支配的な低周波のハム音を検出します。
  • 02検出した周波数を打ち消すため、逆位相の正弦波を再生します。
  • 03ハードウェアやBluetoothの遅延を補正できる360度位相ダイヤル。
  • 04ProモードとSimpleモードを備えた振幅ゲインスライダー。
  • 05画面をロックしてもノイズキャンセリングを継続するフォアグラウンドサービス。
  • 06ネットワーク通信やテレメトリーを使わず、完全にオフラインで動作します。

ユースケース

  • 睡眠中や作業中に、エアコンや扇風機の一定したうなり音を軽減する。
  • AndroidでFFTによる周波数検出や逆位相音声の仕組みを学ぶ。
  • リアルタイム音声を扱うAndroidアプリにおけるClean Architectureの実装例として利用する。

クイックスタート

  1. 1

    リポジトリをクローンする

    git clone https://github.com/ahmadhassan-bted/ahsilence.git
  2. 2

    プロジェクトフォルダに移動する

    cd ahsilence
  3. 3

    debug APKをビルドする

    ./gradlew clean assembleDebug
  4. 4

    接続済みの実機Android端末にインストールする

    ./gradlew installDebug

使う前に知っておきたいこと

  • マイクのFFTテストには実機のAndroid端末が必要です。エミュレーターはサポートされていません。
  • ビルドにはAndroid Studio Ladybug以降とJDK 21以降が必要です。
  • 対象はAndroid 8.0(API 26)以降のみです。
  • 持続的な低周波のハム音のみを処理します。複数周波数への対応と適応型ノイズキャンセリングは今後のロードマップに含まれています。

トピック

よくある質問

AhSilence とは?
FFTで低周波のハム音を検出し、逆位相の音で打ち消すKotlin製Androidノイズキャンセリングエンジン。 AhSilenceは、Jetpack ComposeとKotlinで構築されたネイティブAndroid向けのアクティブノイズキャンセリング(ANC)アプリです。エアコンや電気機器のうなり音など、持続する低周波音を対象としています。周囲の音を録音し、独自のCooley-Tukey radix-2 FFTで支配的な周波数を特定したうえで、逆位相の正弦波を出力して2つの波を打ち消し合わせます。
AhSilence は無料で使えますか?ライセンスは?
AhSilence は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
AhSilence は今もメンテナンスされていますか?
半年以内に更新あり。AhSilence の最終コミットは 2026年9月15日 です。
AhSilence は何に使えますか?
睡眠中や作業中に、エアコンや扇風機の一定したうなり音を軽減する。 AndroidでFFTによる周波数検出や逆位相音声の仕組みを学ぶ。 リアルタイム音声を扱うAndroidアプリにおけるClean Architectureの実装例として利用する。
AhSilence のインストール方法は?
リポジトリをクローンする: git clone https://github.com/ahmadhassan-bted/ahsilence.git プロジェクトフォルダに移動する: cd ahsilence debug APKをビルドする: ./gradlew clean assembleDebug 接続済みの実機Android端末にインストールする: ./gradlew installDebug
AhSilence はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/AhmadHassan-BTed/AhSilence

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト