Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev0.0.3

waveform_fft

Um pacote Flutter para visualização de áudio em tempo real usando FFT (Transformada Rápida de Fourier) e captura de áudio usando dados do microfone

AndroidiOSLinux
Downloads em 30 dias
27
Curtidas
32
Pontos Pub
150

Instalar pacote

flutter pub add waveform_fft

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Waveform_FFT é um pacote Flutter que habilita a visualização em tempo real de áudio processando a entrada do microfone usando a Transformada Rápida de Fourier (FFT). Ele captura dados de áudio do microfone do dispositivo e os converte em ondas visuais e espectros de frequência, ideal para aplicativos musicais, analisadores de áudio ou projetos interativos de som. O pacote suporta plataformas Android, iOS e Linux, tornando-o adequado para aplicações de áudio multiplataforma. Com configuração mínima via pub add, desenvolvedores podem integrar análise de áudio ao vivo em seus aplicativos Flutter.

Casos de uso

  • Visualização de áudio em tempo real
  • Desenvolvimento de aplicativo de música
  • Análise de espectro de áudio
  • Instalações sonoras interativas
  • Feedback de interface baseado em voz

Principais recursos

  • Processamento em tempo real de FFT
  • Captura de áudio do microfone
  • Suporte multiplataforma (Android, iOS, Linux)
  • Integração simples com o Flutter
  • Exibição visual de onda e frequência

Indicado para

  • aplicativos de visualização de áudio
  • Jogos de música e ritmo
  • Interfaces reativas ao som
  • Ferramentas educacionais para análise de áudio
  • Aplicativos de apresentação ao vivo

Considerações

  • Requer permissões de microfone nos dispositivos-alvo
  • O desempenho pode variar em hardware de baixa potência
  • Processamento de áudio em segundo plano limitado em algumas plataformas
  • Pode exigir configuração adicional para qualidade de áudio ótima
  • Não projetado para gravação de áudio de alta precisão

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.