Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.0.3

waveform_fft

Ein Flutter-Paket für die Echtzeit-Audiovisualisierung mit FFT (Fast Fourier Transform) und Audioaufnahme mithilfe von Mikrofonaufnahmedaten

AndroidiOSLinux
30-Tage-Downloads
27
Likes
32
Pub-Punkte
150

Paket installieren

flutter pub add waveform_fft

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Waveform_FFT ist ein Flutter-Paket, das die Echtzeit-Audiovisualisierung durch Verarbeitung von Mikrofon-Eingaben mittels Schneller Fourier-Transformation (FFT) ermöglicht. Es erfasst Audio-Daten vom Mikrofon des Geräts und wandelt sie in visuelle Wellenformen und Frequenzspektren um – ideal für Musik-Apps, Audio-Analysatoren oder interaktive Klangprojekte. Das Paket unterstützt die Plattformen Android, iOS und Linux und eignet sich daher hervorragend für plattformübergreifende Audioanwendungen. Mit minimalem Setup über pub add können Entwickler eine Live-Audioanalyse in ihre Flutter-Apps integrieren.

Anwendungsfälle

  • Echtzeit-Audiovisualisierung
  • Musik-App-Entwicklung
  • Audio-Spektrumanalyse
  • Interaktive Klanginstallationen
  • Sprachbasierte Benutzeroberflächenrückmeldung

Hauptmerkmale

  • Echtzeit-FFT-Verarbeitung
  • Mikrofon-Audiogewinnung
  • Plattformübergreifende Unterstützung (Android, iOS, Linux)
  • Einfache Integration mit Flutter
  • Visuelle Wellenform- und Frequenzanzeige

Geeignet für

  • Audio-Visualisierungs-Apps
  • Musik- und Rhythmus-Spiele
  • tonreagierende Schnittstellen
  • Lernwerkzeuge für die Audioanalyse
  • Live-Auftritts-Apps

Hinweise

  • Mikrofonberechtigungen auf Zielgeräten erforderlich
  • Die Leistung kann sich bei geringleistigen Hardware unterscheiden
  • Hintergrund-Audioprozessierung auf einigen Plattformen eingeschränkt
  • Kann zusätzliche Konfiguration für optimale Audioqualität erfordern
  • Nicht für hochpräzise Audioaufnahmen geeignet

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

waveform_fft

A Flutter package for real-time audio visualization using FFT (Fast Fourier Transform). This package captures audio input and displays it as an animated waveform using fl_chart.

Features

  • Real-time audio capture and frequency analysis
  • Customizable frequency spectrum ranges
  • Smooth animated waveform visualization
  • Support for different sample rates and buffer sizes
  • Easy-to-use API

Getting Started

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  waveform_fft: ^0.0.1
Platform Setup
Android

Add the following permissions to your android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
iOS

Add the following keys to your ios/Runner/Info.plist:

<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone to visualize audio.</string>
Customizing the Waveform

The WaveFormWidgetEq widget accepts several parameters for customization:

WaveFormWidgetEq(
  data: data,                                           // Frequency data
  animationDuration: Duration(milliseconds: 200),       // Animation speed
  updateInterval: Duration(milliseconds: 48),           // Update frequency
  barWidth: 5.0,                                       // Width of each bar
  maxY: 80.0,                                          // Maximum Y value
  minY: -80.0,                                         // Minimum Y value
  barColor: Colors.white,                              // Color of bars
  barAlpha: 0.5,                                       // Opacity of bars
);
Audio Capture Service

The AudioCaptureService can be customized with different sample rates and buffer sizes:

final service = AudioCaptureService(
  sampleRate: 44100,    // Default: 44100 Hz
  bufferSize: 256,      // Default: 256 samples
);

Note: The AudioCaptureService is a singleton and should be initialized once in your application.

Example

Here's a demo of the audio visualization in action:

Audio Visualization Demo

The example above demonstrates:

  • Real-time audio capture from device microphone
  • FFT processing of audio data
  • Animated waveform visualization
  • Responsive UI with start/stop recording controls

Check out the complete example code in the /example directory to see how to implement this in your app.

Frequency Spectrum

The package includes predefined frequency spectrum ranges from 0Hz to 22kHz, following standard audio frequency bands. You can customize these ranges by modifying the AudioWaveFormConstants.defaultFrequencySpectrum.

Performance Considerations
  • Higher sample rates provide better frequency resolution but require more processing power
  • Smaller buffer sizes reduce latency but may cause performance issues
  • Consider device capabilities when adjusting these parameters

Compatibility

  • Android: API 21+
  • iOS: iOS 13.0+
  • If you do not want to use raw audio data by microphone then you can use any other flutter package like record or flutter_sound etc for audio recording purpose.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Inspiration

Kategorien

Abhängigkeiten

Abhängigkeiten 3 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.