Orientação gerada a partir de informações públicas. Apenas para referência.
Uma biblioteca Dart abrangente projetada para simplificar o trabalho com conceitos de teoria musical. Oferece ferramentas para lidar com notas, escalas, acordes, intervalos e sinais de tonalidade com APIs intuitivas. Ideal para desenvolvedores que constroem aplicações musicais, ferramentas educacionais ou recursos de processamento de áudio, suporta desenvolvimento multiplataforma em Android, iOS, Web, macOS, Windows e Linux. A biblioteca abstrai relações musicais complexas em funções fáceis de usar, permitindo cálculos precisos e eficientes relacionados à música.
Casos de uso
Desenvolvimento de aplicativo de música
Educação musical interativa
Geração de acordes e escalas
Lógica de aplicativo de áudio
Análise de música em tempo real
Assistência na composição
Principais recursos
Nota e manipulação de intervalo
Escala e construção de acordes
Suporte a clave de sol
Compatibilidade multiplataforma
Design de API intuitivo
Cálculos precisos de teoria musical
Indicado para
Desenvolvedores Dart em aplicativos de música
Criadores de software educacional
Projetos de processamento de áudio
Músicos usando ferramentas baseadas em código
Construtores de aplicativos que precisam de lógica de teoria musical
Considerações
Requer conhecimento básico de teoria musical
Limitado a aspectos teóricos (sem reprodução de áudio)
Sem síntese de som embutida
Melhor usado com bibliotecas de áudio adicionais
Pode ser necessário personalização para casos de uso avançados
Documentação focada em funcionalidades principais
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
A comprehensive Dart library for effortlessly working with music theory concepts,
offering an elegant and beautifully crafted API.
Features
Notes, accidentals, and enharmonic operations
Intervals, qualities, and circle of fifths
Chords, scales, harmonic functions, inversions and retrogrades
Keys, key signatures, and modes
Frequencies and tuning systems (work in progress)
Usage
Import the package into your Dart code:
import'package:music_notes/music_notes.dart';
Now, you can use the provided APIs to perform various music theory operations.
For more detailed usage instructions and examples, please refer to the
API documentation.
Notes
Define a Note from a NoteName (.a to .g) and an Accidental, or using their
shorthand static constants:
constNote(.e, .flat); // E♭Note.c; // CNote.d; // DNote.f; // F
NoteNames can be obtained from semitones or ordinal:
ScalePattern.lydian.on(Note.d); // D Lydian (D E F♯ G♯ A B C♯ D)ScalePattern.wholeTone.on(Note.f); // F Whole-tone (F G A B C♯ D♯ F)ScalePattern.majorPentatonic.on(Note.g.flat);
// G♭ Major pentatonic (G♭ A♭ B♭ D♭ E♭ G♭)
Or get it from a Key:
Note.a.flat.major.scale; // A♭ Major (ionian) (A♭ B♭ C D♭ E♭ F G A♭)Note.d.minor.scale; // D Natural minor (aeolian) (D E F G A B♭ C D)
Even experiment with any ScaleDegree or HarmonicFunction:
ScalePattern.lydian.on(Note.e).degree(.iv); // A♯Note.c.major.scale.functionChord(
HarmonicFunction.dominantV / .dominantV,
); // D
Rearrange any collection of Notes, Pitches or PitchClasses
as inversion or retrograde:
ScalePattern
.lydian // Lydian (M2 M2 M2 m2 M2 M2 m2)
.on(Note.parse('a')) // A Lydian (A B C♯ D♯ E F♯ G♯ A)
.transposeBy(.M2) // B Lydian (B C♯ D♯ E♯ F♯ G♯ A♯ B)
.degree(.iii) // D♯
.respelledUpwards // E♭
.major // E♭ major
.relative // C minor
.scale // C Natural minor (aeolian) (C D E♭ F G A♭ B♭ C)
.degreeChord(.v) // G-
.add9(); // G-9
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request on the GitHub repository.