Pitch.fromSolmization constructor

Pitch.fromSolmization(
  1. String syllable, {
  2. required int octave,
  3. double alter = 0.0,
  4. AccidentalType? accidentalType,
})

Constrói um Pitch a partir de nome de solmização em dó fixo. syllable pode ser 'do', 're', 'mi', 'fa', 'sol', 'la', 'si' (ou 'ti'). octave é o número da oitava; alter é a alteração cromática.

Implementation

factory Pitch.fromSolmization(
  String syllable, {
  required int octave,
  double alter = 0.0,
  AccidentalType? accidentalType,
}) {
  const solmToStep = {
    'do': 'C', 're': 'D', 'mi': 'E', 'fa': 'F',
    'sol': 'G', 'la': 'A', 'si': 'B', 'ti': 'B',
  };
  final normalized = syllable.toLowerCase();
  final step = solmToStep[normalized];
  if (step == null) {
    throw ArgumentError('Syllable de solmização inválida: $syllable. '
        'Use: do, re, mi, fa, sol, la, si');
  }
  return Pitch(
    step: step,
    octave: octave,
    alter: alter,
    accidentalType: accidentalType,
  );
}