Просмотр исходного кода

replace speaker notes with attribute delegation function to save

Oliver Fabel 1 год назад
Родитель
Сommit
e30bcb80ce
5 измененных файлов с 332 добавлено и 99 удалено
  1. 8 1
      CHANGELOG.md
  2. 1 0
      docs/CHANGELOG.md
  3. 7 0
      docs/pages/reference.rst
  4. 315 97
      flipperzero/_speaker.py
  5. 1 1
      lib/micropython

+ 8 - 1
CHANGELOG.md

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+## [1.7.0]
+
+### Changed
+
+* The `SPEAKER_NOTE_*` constants are replaced by an attribute delegator function to save space.
+
 ### Fixed
 
 * [#6](https://github.com/ofabel/mp-flipper/issues/6): Update to latest SDK version.
@@ -166,7 +172,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 * Basic build setup
 * Minimal working example
 
-[Unreleased]: https://github.com/ofabel/mp-flipper/compare/v1.6.0...dev
+[Unreleased]: https://github.com/ofabel/mp-flipper/compare/v1.7.0...dev
+[1.7.0]: https://github.com/ofabel/mp-flipper/compare/v1.6.0...v1.7.0
 [1.6.0]: https://github.com/ofabel/mp-flipper/compare/v1.5.0...v1.6.0
 [1.5.0]: https://github.com/ofabel/mp-flipper/compare/v1.4.0...v1.5.0
 [1.4.0]: https://github.com/ofabel/mp-flipper/compare/v1.3.0...v1.4.0

+ 1 - 0
docs/CHANGELOG.md

@@ -1,5 +1,6 @@
 ## 1.7
 
+* Replaced speaker note constants with an attribute delegator function to save space.
 * Update to latest SDK version.
 
 ## 1.6

+ 7 - 0
docs/pages/reference.rst

@@ -45,6 +45,13 @@ Full control over the built-in speaker module.
 Musical Notes
 ~~~~~~~~~~~~~
 
+Constant values for all musical notes between C\ :sub:`0` and B\ :sub:`8`.
+
+.. warning::
+
+   You won't be able to find these constants in the REPL using autocompletion from version 1.7.0 onwards.
+   But the constants are still available. You just have to type the full name by hand.
+
 ..
    for octave in range(9):
       for name in ['C', 'CS', 'D', 'DS', 'E', 'F', 'FS', 'G', 'GS', 'A', 'AS', 'B']:

+ 315 - 97
flipperzero/_speaker.py

@@ -12,8 +12,10 @@ for octave in range(9):
     for name in note_names:
         print("SPEAKER_NOTE_%s%s: float" % (name, octave))
         print('\'\'\'')
-        print('The musical note %s\\ :sub:`0` as frequency in `Hz`.\n' % (name if len(name) == 1 else (name[0]+'#')))
+        print('The musical note %s\\ :sub:`%s` as frequency in `Hz`.\n' % (name if len(name) == 1 else (name[0]+'#'), octave))
         print('.. versionadded:: 1.2.0')
+        print('.. versionchanged:: 1.7.0')
+        print('   The constant is replaced by a delegator function.')
         print('\'\'\'\n')
 '''
 
@@ -22,6 +24,8 @@ SPEAKER_NOTE_C0: float
 The musical note C\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS0: float
@@ -29,6 +33,8 @@ SPEAKER_NOTE_CS0: float
 The musical note C#\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D0: float
@@ -36,6 +42,8 @@ SPEAKER_NOTE_D0: float
 The musical note D\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS0: float
@@ -43,6 +51,8 @@ SPEAKER_NOTE_DS0: float
 The musical note D#\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E0: float
@@ -50,6 +60,8 @@ SPEAKER_NOTE_E0: float
 The musical note E\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F0: float
@@ -57,6 +69,8 @@ SPEAKER_NOTE_F0: float
 The musical note F\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS0: float
@@ -64,6 +78,8 @@ SPEAKER_NOTE_FS0: float
 The musical note F#\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G0: float
@@ -71,6 +87,8 @@ SPEAKER_NOTE_G0: float
 The musical note G\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS0: float
@@ -78,6 +96,8 @@ SPEAKER_NOTE_GS0: float
 The musical note G#\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A0: float
@@ -85,6 +105,8 @@ SPEAKER_NOTE_A0: float
 The musical note A\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS0: float
@@ -92,6 +114,8 @@ SPEAKER_NOTE_AS0: float
 The musical note A#\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B0: float
@@ -99,678 +123,872 @@ SPEAKER_NOTE_B0: float
 The musical note B\ :sub:`0` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C1: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS1: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D1: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS1: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E1: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F1: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS1: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G1: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS1: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A1: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS1: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B1: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`1` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C2: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS2: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D2: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS2: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E2: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F2: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS2: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G2: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS2: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A2: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS2: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B2: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`2` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C3: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS3: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D3: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS3: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E3: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F3: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS3: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G3: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS3: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A3: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS3: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B3: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`3` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C4: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS4: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D4: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS4: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E4: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F4: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS4: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G4: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS4: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A4: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS4: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B4: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`4` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C5: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS5: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D5: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS5: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E5: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F5: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS5: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G5: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS5: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A5: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS5: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B5: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`5` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C6: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS6: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D6: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS6: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E6: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F6: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS6: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G6: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS6: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A6: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS6: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B6: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`6` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C7: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS7: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D7: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS7: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E7: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F7: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS7: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G7: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS7: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A7: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS7: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B7: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`7` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_C8: float
 '''
-The musical note C\ :sub:`0` as frequency in `Hz`.
+The musical note C\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_CS8: float
 '''
-The musical note C#\ :sub:`0` as frequency in `Hz`.
+The musical note C#\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_D8: float
 '''
-The musical note D\ :sub:`0` as frequency in `Hz`.
+The musical note D\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_DS8: float
 '''
-The musical note D#\ :sub:`0` as frequency in `Hz`.
+The musical note D#\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_E8: float
 '''
-The musical note E\ :sub:`0` as frequency in `Hz`.
+The musical note E\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_F8: float
 '''
-The musical note F\ :sub:`0` as frequency in `Hz`.
+The musical note F\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_FS8: float
 '''
-The musical note F#\ :sub:`0` as frequency in `Hz`.
+The musical note F#\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_G8: float
 '''
-The musical note G\ :sub:`0` as frequency in `Hz`.
+The musical note G\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_GS8: float
 '''
-The musical note G#\ :sub:`0` as frequency in `Hz`.
+The musical note G#\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_A8: float
 '''
-The musical note A\ :sub:`0` as frequency in `Hz`.
+The musical note A\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_AS8: float
 '''
-The musical note A#\ :sub:`0` as frequency in `Hz`.
+The musical note A#\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_NOTE_B8: float
 '''
-The musical note B\ :sub:`0` as frequency in `Hz`.
+The musical note B\ :sub:`8` as frequency in `Hz`.
 
 .. versionadded:: 1.2.0
+.. versionchanged:: 1.7.0
+   The constant is replaced by a delegator function.
 '''
 
 SPEAKER_VOLUME_MIN: float

+ 1 - 1
lib/micropython

@@ -1 +1 @@
-Subproject commit 242fff05599d97faafab563a827dd86791c0cbee
+Subproject commit 80f0dc2f91ea779215e6506eaa9abcacb484994f