Solfa Cipher Secrets

Solfa Cipher is a system for encoding text messages as musical melodies. Simply type your message in the box.

Message:    Mute

Spaces are ignored; commas add bar lines; periods add a new staff. Lower- and upper-case letters can change the octave to make a smoother melodic line. Numbers and other special characters are possible as described in the cipher algorithm below. To encrypt the Solfa cipher as a playable melody, set the Solfa §Key with a unique clef, tonic, mode and rhythmic unit. This §Key will be needed to decipher the melodic message and should be passed on separately from the encrypted melody.

Solfa §Key:                         
Cipher Tune: [set decoy]                      
If your recipient has a good ear, you could play the melody to pass on the message.
           (If there is no sound, try pressing [play] again. MIDI player is not optimized for mobile phones.)      
Decoy Key:
The cipher tune could use the same clef and key signature as the Solfa §Key or you could disguise the message even further with a decoy key. The position of the notes on the staff will be the same with the decoy, but by selecting a different clef and key signature they will be interpreted as the wrong scale degrees. Selecting a decoy time signature can also help hide the basic rhythmic unit. The Solfa §Key also displays the metric placement of the first note, since some texts will start with a pick-up (i.e., not on the downbeat, 1•). Thus, changing the placement of the first bar line in the decoy would also confound decryption. (Note: the automatic bar lines in the decoy may need to be manually adjusted.)

Based on Harmonology, each date has a unique Solfa §Key associated with it. You can encrypt your message based on today's date, a birthday, etc., and then send your recipient the date for the §Key, instead of the musical Solfa §Key. Enter a date in the boxes below to set a new Solfa §Key.    
Year    Month    Date     =    Clef:      Tonic:     Mode:     Unit:
                      

ABC notation:
If you are planning to print or copy-and-paste the Cipher Tune from the pop-up window, you can polish it up first by editing the raw ABC notation. Click on a notehead on the staff to highlight the corresponding part in the ABC notation. Insert "|" between notes to add bar lines (e.g., A3 | C1). Delete spaces to beam consecutive notes (e.g., "D1 A3" => "D1A3"). In Solfa Cipher, the octave register of a note doesn't matter in the encryption (e.g., a low F and a high F both mean the same thing). As such, to make your melody smoother (i.e., fewer big leaps) you may change the default octave of a single note: insert an apostrophe ( ' ) to raise or a comma ( , ) to lower immediately after the letter name (e.g., F2 => F,2). For convenience you can also change the octave by switching from lower- to upper-case letters in the message. Press Enter/Return to start a new staff line. When finished, click 'Refresh MIDI' for revised audio file. Driven by abcjs, an open source ABC notation editor.
                            



Decoding:  

The letters D, R, M, F, S, L, and T refer to the seven diatonic scale degrees (e.g., Do, Re, Mi, etc.). The numbers refer to one of four possible count placements based on a unit duration (e.g., an 8th note). These syllables are not the finished cipher and should not be posted or sent as your encrypted message. They are used for the decoding process.

To extract the solfa cipher from an encrypted melody, you must determine the scale degrees and unit placement for each note based on the original §Key. Take the following example:

By itself, Tune-116 is unreadable without knowing the original Solfa §Key. The written clef, key signature and time signature for the tune may be a decoy:
      
Even if the clef and key signature in the decoy were correct, you wouldn't know for certain which note was Do. A key signature with two flats, for example, could be Bb Major (in which the case the first note of the tune appears to be So); G Minor (first note = Le); C Dorian (first note = Me); etc.

In this case, §Key-116 shows us that the tune is meant to be read in treble clef, in D Major, with an 8th note unit for the count placements.
      

Using the §Key, you can match the correct solfege syllables for each note on the staff (Do=D, Re=E, Mi=F#, Fa=G, So=A, La=B, Ti=C#) and parse the rhythms into counts of four 8th notes. Beware that not all cipher tunes start on the downbeat. §Key 116 indicates that the first note starts on count 3•

The extracted cipher symbols can then be typed into the Decoding box above to translate back into plain text:

You must include a space between each note; enter '=' at the end to trigger the decryption and the results will appear in the Message box above.


Cipher Algorithm
You can manually encode and decode messages with these cipher grids:

Do Re Mi Fa So La Ti
t i a s e n o  1
k z x q j # @  2
r c h m d l u  3
f y g p w b v  4
D R M F S L T
The mapping of letters to scale degrees and beats within the cipher is intended to produce relatively simple musical melodies that you could sing or play. It is optimized for English and other Western European languages. (Try typing in completely random letters and compare these melodies with ones generated by common words.) For more information on this and other music-based ciphers see: "Can Musical Encryption be Both?", Cryptologia, 2022.

With 28 possible cipher symbols, L2 and T2 are not needed for English. These notes can be used as switches to temporarily change the cipher key:
     @ encrypts as T2 and transposes the tonic of the Solfa §Key to the pitch of the next letter. For example, @f would shift all of the subsequent text to be encoded in the key of F (i.e., Do = F). This does not change the key signature, however. If the next letter is not a valid pitch (e.g., @r), it is still enciphered in the melody, but no transposition occurs and it could be interpreted as a null cipher.
     # (L2) switches to an alternate cipher grid which includes numbers, diacritics, and other special characters (for example #1984# or cafe#´ ):

 # Do Re Mi Fa So La Ti #
1 9 3 +& 5 _- 7  1
𝄢 𝄞 $# @%  2
8 2 0 4 *• 6 ¿?  3
÷/ º° >` =~  4
D R M F S L T
Common diacritical letters may be typed directly into the plaintext message as a single character without any hash sign (e.g., å, ñ, É, etc.) and will be automatically enciphered musically as their three-character equivalent (ü == u#¨). The paired symbols in the grid (e.g., +&, $#, etc.) encrypt to the same scale degree, but display as a different octave (like lower- and upper-case letters). This is intended to allow customization of how the melody appears (e.g., avoid awkward leaps). In decrypting a melody, one should rely on context to interpret intent. For example, both e#´ and E$< encrypt to S1L2S4, and would obviously be meant to represent é regardless of the octave.
For convenience/clarity, all of these alternate notes appear with a randomly-generated staccato ( . ) or tenuto (—) mark in the score above. However, for added security/obscurity you could remove them by deleting the ornamentation in the ABC notation. In a visual score, when this ornamention is present, one technically wouldn't need the hash sign to indicate that the note is representing an alternate character. However, Solfa Cipher was designed as an audible cipher, and as such the hash sign is needed to inform the recipient when to change grids during decryption. As a protocol, with numbers, the switch remains in effect until you insert another # sign to revert back to the original alphabet (e.g., #1812#overture). For other symbols, it is assumed to revert back after one character (e.g, pin#~ata, nai#¨ve, bjo#/rn). D2 through S2 (shown as musical symbols in line 2) could be employed as your own user-defined characters or code words.


http://www.wmich.edu/mus-theo/solfa-cipher/secrets/index.html
© 2013 - Revised: 2022 - grovenTune{at}gmail[dot]com