ChordWeaver 1.0.1
The version the program was open-sourced with. It is also the
largest it ever had: three things that did not exist before went in
— the harmoniser, the theory book, and everything that happens once
the program stops being only a tool — and the entire interface was
rewritten.
New features
- Harmoniser: lets you write a melody and harmonise it automatically, or according to whatever you decide.
- Story mode: a sinister figure is watching you. You don't know what it wants, only that sooner or later you are going to meet it…
- Encounters: complete certain ordinary actions and certain characters will come and talk to you.
- Achievements: a complete achievement system, designed to guide you through the app, lead you into learning new things and test your musical skill.
- Theory book: a book that fills itself in as you discover things, and that guides your study of harmony, counterpoint and the mysteries of music.
- Wandering spirit: the spirit of a legend of the past has been added, and its story has not been uncovered yet. Its appearance is imminent.
- Glow up: the interface has been completely redesigned, with enormous visual and usability improvements. Every mode now has its own colour, and the app changes along with it.
- Easter eggs: hidden actions have been added to the app. Completing every achievement reveals a path to completing them.
- Revisiting the past: a system for replaying encounters. You can now restart the story from the achievements screen (top right), and repeat certain encounters from the settings.
- Tutorial: a tutorial for the first time you open the app. It can be skipped, and replayed from the settings.
- Legendary cadences: three cadences of legendary status, with a special colour of their own.
- Titles: titles you can earn. Completing certain activities now awards shining titles that celebrate the work you did.
- Optimisation for low-end PCs: a button in the settings recalibrates the algorithm for machines where the program takes a long time to produce solutions.
- Donations: a button to donate to the creator.
Major changes
- Chorale redesigned: the classical genre was renamed to baroque. Chorale mode is now switched on with a button on the second-to-last screen.
- Faster than ever: both solution generation and navigation were drastically optimised.
- Better generator: the harmony and above all the counterpoint of the generator were drastically improved, along with the voicings of dominant and resting chords.
- Gregorian redesigned: gregorian mode was rebuilt. It now uses the vox principalis and organalis, faithful to how it was written at the time, and the counterpoint is consequently far more faithful.
- Better history: the history was completely redesigned. It shows the date better, allows instant playback, and correctly shows which mode was used.
- Better playback: the player was improved. It can now sound the passing notes.
Notable changes
- Error messages were improved, and so was the range of possible solutions.
- The main files were compiled with Cython, and this was added to the engineering chapter of the book.
- The default weights and their ranges in the generator were improved. They now carry more influence, especially in jazz.
- Special voicings and six-voice voicings were improved.
- The generation screen was redesigned, and the information it gives about the solutions was improved.
- Fixed several crashes, timeouts and very long waits when reaching a solution with six voices plus modulation and modal interchange.
- Modal interchange is easier to read: borrowed chords now appear in orange.
- The frequency of secondary dominants in jazz was adjusted.
- The generator was redesigned at the engine level: it is now faster, more precise, and produces more and better solutions.
- The organiser's automatic reading and autonomous decision-making were improved.
- Descriptions and typography were improved throughout the program.
- Fixed generated solutions not being saved, or being accidentally duplicated, in the history.
- The sound system was rebuilt to allow more complex structures.
- A standard for 3D animation in the application was established, used by story mode and the encounters.
- Certain harmonic inconsistencies in the generator were fixed.
- A ninth or an eleventh can no longer invert the chord by turning up in the bass.
- The maximum number of bars was limited to 32, because beyond that it is mathematically impossible to give an algorithmically valid solution. Changing the algorithm would make every solution under 32 bars worse, and the risk is not remotely worth the reward. The engine is still allowed to try: the change only affects the user interface.
- Fixed a bug where the history altered the generated solutions.
- The system for generating solutions across many bars was improved. It no longer discards invalid solutions; it gives them fresh chances to correct themselves.
- Added an assets folder plus a system for adjusting parameters on the images as needed.
- A global context was written so other developers can use Claude Code more efficiently. First step towards releasing the product as open source.
- Added a special chapter to the theory book about the engineering behind the application — a quick read, and very nerdy.
Minor changes
- The sample rate was changed to 44100 Hz for more quality and better sound.
- Equalisation was added at the engine level.
- Fixed the app freezing when generating a new solution while another was still running.
- Fixed the cadential 6/4 on V: it now measures the distances against the bass correctly.
- Fixed the engine's tournament mode being switchable off by user error.
- Fixed the app becoming unusable when the font size was raised to the maximum.
- Fixed basic engine errors and audio interactions with the visual side.
- Fixed certain voicings with exaggerated leaps.
- Raised the probability of certain special cadences in each genre.
- Added a versioning system for future updates.
- Fixed errors when exporting a score.
- Fixed rests being drawn as a C.
- Fixed certain enharmonic errors.
- Fixed button sizes that could not fit on the screen.
- Removed aeolian mode, which duplicated the natural minor scale.
- Fixed chorale mode leaving the basses without a throat, by pushing them two octaves above their maximum.
- Fixed restoring the algorithm's defaults being completely ignored at the engine level.
- Fixed the generation screen freezing beyond 16 bars (it did not affect the solution).
- Added story systems that guarantee certain events do not fire while the user is in the middle of something they would interrupt.
- Other minor bug fixes.