Aus öffentlichen Paketdaten erstellte Orientierung.
Eine umfassende Dart-Bibliothek, die entwickelt wurde, um die Arbeit mit Musiktheorie-Konzepten zu vereinfachen. Sie bietet Werkzeuge zum Umgang mit Noten, Tonleitern, Akkorden, Intervallen und Tonarten mit intuitiven APIs. Ideal für Entwickler, die Musikanwendungen, Lernwerkzeuge oder Audioverarbeitungsfunktionen erstellen, unterstützt sie die plattformübergreifende Entwicklung unter Android, iOS, Web, macOS, Windows und Linux. Die Bibliothek abstrahiert komplexe musikalische Beziehungen in einfach zu verwendende Funktionen, was präzise und effiziente Musikberechnungen ermöglicht.
Anwendungsfälle
Musik-App-Entwicklung
Interaktive Musikbildung
Akkorde und Skalengenerierung
Audio-Anwendungslogik
Echtzeit-Musikanalyse
Zusammensetzungshilfe
Hauptmerkmale
Note und Intervallmanipulation
Skala und Akkordkonstruktion
Tonartunterstützung
Plattformübergreifende Kompatibilität
Intuitive API-Design
Genauere Musiktheorieberechnungen
Geeignet für
Dart-Entwickler in Musik-Apps
Entwickler von Bildungssoftware
Audioverarbeitungsprojekte
Musiker, die codebasierte Tools verwenden
App-Bauer, die Musiktheorie-Logik benötigen
Hinweise
Grundlegendes Verständnis der Musiktheorie erforderlich
Beschränkt auf theoretische Aspekte (keine Audio-Wiedergabe)
Keine integrierte Klangsynthese
Am besten in Kombination mit zusätzlichen Audio-Bibliotheken verwendet
Kann Anpassungen für fortgeschrittene Anwendungsfälle erfordern
Dokumentation, die sich auf Kernfunktionen konzentriert
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
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.