As I am involved in the visuals ministry in church, I usually have to check through the lyrics of each song before service for consistency. This is tedious work as there are many songs, and have to repeatedly do the same validation each week. As any knowledgeable IT geek would do, I wrote a UltraEdit macro to automate the task using Regular Expressions to find and replace stuff.
Currently this script does the following:
- Correct all words to proper capitalization
- Capitalize first word of every line
- Capitalize any word that refers to God. E.g.: Jesus, Lord, Holy Spirit, Father - Standardize words/punctuation
- Replace angled quotation marks (“) to standard (")
- Replace tabs with a space
- Replace words like “O” to “Oh”
- Captalize labels and add buffer lines before each (Chorus, Verse, Bridge, etc.) - Removes unnecessary stuff
- Lines with song chords, if any
- Multiple spaces
- Trailing spaces
- Multiple blank lines
- Certain punctuations
Example song (before running the macro):
2. Tell the world Verse 1: F#m Don't want to stand here and shout your praise, F#m And walk away and forget your name. F#m I stand for you if that's all all i do, F#m 'Cause there is none that compares to you. Pre Chorus: F#m F#m 'Cause all i want in this life is you. F#m And all i want in this whole world is you, you, you. Chorus: Bm7 D A E Tell the world that jesus lives. F#m D Tell the world that. tell the world that. A E Tell the world that he died for them. F#m D Tell the world that he lives again. Verse 2: F#m No longer i, But christ in me. F#m 'Cause it's the truth that set me free. F#m F#m How could this world be a better place, by Thy mercy, and by Thy grace. Bridge: A Bm9 F#m D Come on, Come on, we'll tell the world about you. A Bm9 F#m D Come on, Come on, we'll tell the world about you.
Example song (after running the macro):
Tell the world Verse 1 Don't want to stand here and shout Your praise, And walk away and forget Your name. I stand for You if that's all all I do, 'Cause there is none that compares to You. Pre-Chorus 'Cause all I want in this life is You. And all I want in this whole world is You, You, You. Chorus Tell the world that Jesus lives. Tell the world that. tell the world that. Tell the world that He died for them. Tell the world that He lives again. Verse 2 No longer I, but Christ in me. 'Cause it's the truth that set me free. How could this world be a better place, by thy mercy, and by thy grace. Bridge Come on, come on, we'll tell the world about You. Come on, come on, we'll tell the world about You.
Here’s the macro code:
InsertMode ColumnModeOff HexOff PerlReOn TrimTrailingSpaces Top Find RegExp "^[ ]+" Replace All "" Find RegExp "^\s*(([A-G][\/ A-G a-z 0-9 #]{0,5})\s+)+\s*$" Replace All "" Find RegExp "^[0-9]+[\. \: \)]?\s*" Replace All "" Find RegExp "^(Key|key|KEY)[\. \: \)]?\s*[A-G a-g].*" Replace All "" Top Loop SelectLine ToLower SelectWord ToCaps Key END Key RIGHT ARROW IfEof ExitLoop EndIf EndLoop Top Find RegExp "\b(you)\b" Replace All "You" Find RegExp "\b(you've)\b" Replace All "You've" Find RegExp "\b(you're)\b" Replace All "You're" Find RegExp "\b(your)\b" Replace All "Your" Find RegExp "\b(yours)\b" Replace All "Yours" Find RegExp "\b(christ)\b" Replace All "Christ" Find RegExp "\b(father)\b" Replace All "Father" Find RegExp "\b(god)\b" Replace All "God" Find RegExp "\b(almighty)\b" Replace All "Almighty" Find RegExp "\b(son)\b" Replace All "Son" Find RegExp "\b(he)\b" Replace All "He" Find RegExp "\b(he's)\b" Replace All "He's" Find RegExp "\b(his)\b" Replace All "His" Find RegExp "\b(him)\b" Replace All "Him" Find RegExp "\b(himself)\b" Replace All "Himself" Find RegExp "\b(holy ghost)\b" Replace All "Holy Ghost" Find RegExp "\b(i)\b" Replace All "I" Find RegExp "\b(jehovah)\b" Replace All "Jehovah" Find RegExp "\b(jesus)\b" Replace All "Jesus" Find RegExp "\b(saviour|savior)\b" Replace All "Saviour" Find RegExp "\b(holy spirit)\b" Replace All "Holy Spirit" Find RegExp "\b(holy one)\b" Replace All "Holy One" Find RegExp "\b(spirit)\b" Replace All "Spirit" Find RegExp "\b(lord)\b" Replace All "Lord" Find "Lords" Replace All "lords" Find RegExp "\b(king)\b" Replace All "King" Find "Kings" Replace All "kings" Find RegExp "\b(Word)\b" Replace All "word" Find "prince of peace" Replace All "Prince of Peace" Find "my redeemer" Replace All "my Redeemer" Find "Kingdom" Replace All "kingdom" Find "your majesty" Replace All "Your Majesty" Find "my Spirit" Replace All "my spirit" Find RegExp "\b(o|oh)\b" Replace All "Oh" Find RegExp "\s*\b(((^(P|p)re)(C|c)horus)|((^PRE)CHORUS))\b" Replace All "\n\nChorus" Find RegExp "\s*\b((P|p)re([ ]|-)?chorus|PRE([ ]|-)?CHORUS)\b" Replace All "\n\nPre-Chorus" Find RegExp "\s*\b((P|p)re|PRE)\b" Replace All "\n\nPre" Find RegExp "\s*\b((C|c)oda|CODA)\b" Replace All "\n\nTag" Find RegExp "\s*\b((V|v)erse|VERSE)\b" Replace All "\n\nVerse" Find RegExp "\s*\b((B|b)ridge|BRIDGE)\b" Replace All "\n\nBridge" Find RegExp "\s*\b((I|i)ntro|INTRO)\b" Replace All "\n\nIntro" Find RegExp "\n\nIntro(.)*\n\n" Replace All "\n\n" Find RegExp "\s*\b((E|e)nd(ing)?|END(ING)?)\b" Replace All "\n\nEnding" Find ":" Replace All "" Find "’" Replace All "'" Find "‘" Replace All "'" Find "“" Replace All """ Find "”" Replace All """ Find "[" Replace All "" Find "]" Replace All "" Find " " Replace All " " Find " " Replace All " " Find " " Replace All " " Find "'S" Replace All "'s" Find "'R" Replace All "'r" Find "'V" Replace All "'v" Find RegExp "^'c" Replace All "'C" Find RegExp "(\r\n){3,}" Replace All "\r\n" SelectAll Copy
Download The Macro (requires UltraEdit)