From e5901c1be40aa0334a0e1e9020cbbfe2bab5c20e Mon Sep 17 00:00:00 2001 From: Michael Scott Asato Cuthbert Date: Sun, 19 Apr 2026 18:43:17 -1000 Subject: [PATCH] Fix grammatical errors in docstrings across multiple modules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - stream/base.py: remove stray "and" in Stream class docstring - scale/__init__.py: remove erroneous article "a" before plural "pitches"; add missing subject "it" in Scale.isConcrete docstring ("Thus, it is always false") - corpus/__init__.py: fix typo "extenion" → "extension" in getCorePaths - roman.py: fix misspelling "preceeding" → "preceding" - common/stringTools.py: fix doubled word "is is" → "it is" in stripAccents docstring 🤖 AI-assisted Co-Authored-By: Claude Sonnet 4.5 --- music21/common/stringTools.py | 2 +- music21/corpus/__init__.py | 2 +- music21/roman.py | 2 +- music21/scale/__init__.py | 4 ++-- music21/stream/base.py | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/music21/common/stringTools.py b/music21/common/stringTools.py index 44da9ac03..bcb943af3 100644 --- a/music21/common/stringTools.py +++ b/music21/common/stringTools.py @@ -310,7 +310,7 @@ def stripAccents(inputString: str) -> str: >>> common.stripAccents('Süss, “êtré”') 'Suss, "etre"' - Note -- is is still possible to have non-Ascii characters after this, + Note -- it is still possible to have non-Ascii characters after this, like in this Japanese expression for music: >>> common.stripAccents('音楽') diff --git a/music21/corpus/__init__.py b/music21/corpus/__init__.py index 38cacecc0..ce5ea05ce 100644 --- a/music21/corpus/__init__.py +++ b/music21/corpus/__init__.py @@ -88,7 +88,7 @@ def getCorePaths( expandExtensions=True ) -> list[pathlib.Path]: ''' - Get all paths in the corpus that match a known extension, or an extenion + Get all paths in the corpus that match a known extension, or an extension provided by an argument. If `expandExtensions` is True, a format for an extension, and related diff --git a/music21/roman.py b/music21/roman.py index 43f23238d..90330ca1d 100644 --- a/music21/roman.py +++ b/music21/roman.py @@ -1313,7 +1313,7 @@ class Minor67Default(enum.Enum): >>> vi('VI', roman.Minor67Default.CAUTIONARY) 'A- C E-' - Whereas `QUALITY` follows a strict interpretation of what preceeding sharp and flat + Whereas `QUALITY` follows a strict interpretation of what preceding sharp and flat signs mean. With `QUALITY`, since vi is already sharpened, #vi raises it even more. And since VI is already flattened, bVI lowers it even further: diff --git a/music21/scale/__init__.py b/music21/scale/__init__.py index 87cc34c74..2fcdb37dd 100644 --- a/music21/scale/__init__.py +++ b/music21/scale/__init__.py @@ -25,7 +25,7 @@ and :class:`~music21.scale.RagMarwa`. All :class:`~music21.scale.ConcreteScale` subclasses provide the ability -to get a pitches across any range, get a pitch for scale step, get a +to get pitches across any range, get a pitch for scale step, get a scale step for pitch, and, for any given pitch ascend or descend to the next pitch. In all cases :class:`~music21.pitch.Pitch` objects are returned. @@ -155,7 +155,7 @@ def isConcrete(self): ''' To be concrete, a Scale must have a defined tonic. An abstract Scale is not Concrete, nor is a Concrete scale - without a defined tonic. Thus, is always false. + without a defined tonic. Thus, it is always false. ''' return False diff --git a/music21/stream/base.py b/music21/stream/base.py index 412d2d626..b23b54982 100644 --- a/music21/stream/base.py +++ b/music21/stream/base.py @@ -113,7 +113,7 @@ class Stream(core.StreamCore, t.Generic[M21ObjType]): Stream can have its own offset, when Streams are embedded the offset of an element is relatively only to its parent Stream. The :meth:`~music21.stream.Stream.flatten` - and method provides access to a flat version of all + method provides access to a flat version of all embedded Streams, with offsets relative to the top-level Stream.