# Proper Song Titles

**URL:** https://community.mp3tag.de/t/proper-song-titles/13076
**Category:** Support
**Created:** [February 10, 2012, 6:09am UTC](https://community.mp3tag.de/t/proper-song-titles/13076 "2012-02-10T06:09:57Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![specialk](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@specialk](https://community.mp3tag.de/u/specialk)
#### Post date: [February 10, 2012, 6:09am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/1 "2012-02-10T06:09:57Z")

</div>

This has been touched on a few times on this forum (there is one expression made relating to this subject in the pinned topic at the top of this board). However, I don't believe anyone has come up with a regular expression that satisfies all the 'rules' of song titles.

According to the the Standard MIDI files, song titles should adhere to the following rules:

1. The first and last words of each title are always capitalized

2. All words in a title are capitalized as well, except:

2a. Articles (a, an, the)  
2b. Conjunctions (and, or, but, nor)  
2c. Prepositions \<5 letters (at, by, for, from, in, into, of, off, on, onto, out, over, to, up, with)  
2d. As (if followed by noun)

1. Prepositions are capitalized if part of a two-word phrasal verb (i.e. "Come On," "Hold On," "Get Up," etc.)

Here is a partial list:

Beat Up  
Blow Out  
Break Down  
Break Into  
Break Up  
Bring Up  
Call Off  
Call On  
Call Up  
Carry On  
Come Back  
Come Down  
Come On  
Come Out  
Come Over  
Do Over  
Fill In  
Fill Out  
Find Out  
Get Along  
Get Around  
Get By  
Get Over  
Get Through  
Get Up  
Give Back  
Give Up  
Go Along  
Go Away  
Go On  
Go Over  
Hand In  
Hang Up  
Hold On  
Keep On  
Keep Up  
Leave Out  
Let Down  
Look For  
Look Into  
Look Like  
Look Out  
Look Over  
Look Up  
Make Out  
Make Up  
Pack Up  
Pass Out  
Pick Out  
Pick Up  
Put Away  
Put Off  
Put On  
Put Out  
Put Up  
Roll Over  
Run Into  
Run Out  
Run Over  
Show Up  
Take After  
Take Back  
Take Off  
Take On  
Take Up  
Talk Back  
Talk Over  
Throw Away  
Try On  
Turn Down  
Turn In  
Turn Off  
Turn On  
Use Up  
Wait On

1. The following words are supposed to be capitalized, though mistakenly are not always:

(Also, Be, If, Than, That, Thus, When)

So...

Anyone brave enough to tackle this one? As I said, there was one in the regular expression thread that was pretty close, but it didn't adhere to these rules. This is supposed to be the standard, so if anyone can make this work, it will be grammatically correct.

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [February 10, 2012, 7:05am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/2 "2012-02-10T07:05:02Z")

</div>

> [@SpecialK](#):
>
> ... I don't believe anyone has come up with a regular expression that satisfies all the 'rules' of song titles. ...

Yes, you would be the first one. So try harder.

> [@SpecialK](#):
>
> ... Anyone brave enough to tackle this one? ...

If you search for a good overview and collection of Style Guidelines, then look there ...  
[http://musicbrainz.org/doc/Style](http://musicbrainz.org/doc/Style)

And do not forget, Mp3tag is famous for its ability to support any user's style, even yours.

DD.20120210.0905.CET

---

<div class="post-metadata">

### Author: ![specialk](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@specialk](https://community.mp3tag.de/u/specialk)
#### Post date: [February 10, 2012, 7:18am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/3 "2012-02-10T07:18:57Z")

</div>

> [@DetlevD](#):
>
> Yes, you would be the first one. So try harder.
> 
> If you search for a good overview and collection of Style Guidelines, then look there ...  
> [http://musicbrainz.org/doc/Style](http://musicbrainz.org/doc/Style)
> 
> And do not forget, Mp3tag is famous for its ability to support any user's style, even yours.
> 
> DD.20120210.0905.CET

Not sure what the snark is about. I freely admit I am not well-versed in expressions which is why I'm asking people that know better. I'm not sure what "so try harder" is supposed to mean?

I don't need to search for the style guidelines. I posted them in my original post. That's the point... I'm asking if anyone is able to come up with something that satisfies the standard MIDI format (the guidelines that I included already).

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [February 10, 2012, 7:33am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/4 "2012-02-10T07:33:13Z")

</div>

> [@SpecialK](#):
>
> Not sure what the snark is about. I freely admit I am not well-versed in expressions which is why I'm asking people that know better. I'm not sure what "so try harder" is supposed to mean? ...

'Try harder' means, try it yourself first, a little bit, step by step, and not instigate other to solve the problem for you. You do not need the power of Regular Expression to do this, use other simple functions from the Mp3tag Scripting Language and the actions.  
Read the manual and the FAQ areas, read through the Forum posts. All has been said multiple times.

> [@SpecialK](#):
>
> ... I don't need to search for the style guidelines. I posted them in my original post. That's the point... I'm asking if anyone is able to come up with something that satisfies the standard MIDI format (the guidelines that I included already).

What full name is the abbreviation MIDI?  
What you have described is one style, beside others. See the Musicbrainz reference.

DD.201202010.0933.CET

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 10, 2012, 7:33am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/5 "2012-02-10T07:33:13Z")

</div>

> [@SpecialK](#):
>
> ...song titles should adhere to the following rules..

Please note, that this applies only to English language titles.

---

<div class="post-metadata">

### Author: ![specialk](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@specialk](https://community.mp3tag.de/u/specialk)
#### Post date: [February 10, 2012, 7:58am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/6 "2012-02-10T07:58:52Z")

</div>

> [@DetlevD](#):
>
> 'Try harder' means, try it yourself first, a little bit, step by step, and not instigate other to solve the problem for you. You do not need the power of Regular Expression to do this, use other simple functions from the Mp3tag Scripting Language and the actions.  
> Read the manual and the FAQ areas, read through the Forum posts. All has been said multiple times.
> 
> What full name is the abbreviation MIDI?  
> What you have described is one style, beside others. See the Musicbrainz reference.
> 
> DD.201202010.0933.CET

Isn't this a support forum? I'm not trying to instigate, I'm flat out asking if anyone is willing. If someone wants to do it, why is that a problem? If you're unwilling, fine, but I don't understand your contempt for my asking, on a support forum, if anyone is willing to come up with a solution for me. I've already spent hours searching the forum for a solution that meets these rough guidelines and I haven't found it. If I had and if I knew how to do it after searching FAQ, forums, etc., I wouldn't be asking. It's not a matter of being unwilling, it's a matter of not yet knowing how. If you have a solution, or know of one that you can point to, feel free. Otherwise, telling me to find out for myself seems like defeating the purpose of "support."

I know what MIDI stands for. But that's a generally accepted style for published music. Even Music Brainz' styleguide is modeled after the same style, with only minor exceptions (prepositions are limited to three or fewer letters rather than four or fewer which is basically Chicago Style). Basically whether I use MIDI or the Music Brainz styleguide, the principles are essentially the same other than a few additional prepositions.

---

<div class="post-metadata">

### Author: ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)
#### Post date: [February 10, 2012, 11:11am UTC](https://community.mp3tag.de/t/proper-song-titles/13076/7 "2012-02-10T11:11:11Z")

</div>

> [@SpecialK](#):
>
> Isn't this a support forum? I'm not trying to instigate, I'm flat out asking if anyone is willing. ... the principles are essentially the same other than a few additional prepositions.

Don't feel be criticized at all, I think you got it right: the principles are essentially the same.  
You can use the Mp3tag tool box to reach your goal and harvest the laurels to be the first one, who has created a styling procedure for Mp3tag, which follows the MIDI style.

There is a thread ....  
[/t/11684/1](https://community.mp3tag.de/t/11684/1)  
... which demonstrates par excellence what a standard Mp3tag user, willing to learn, can put together in very short time, with a little help from other Mp3tag users, of course.

DD.20120210.1310.CET

---

<div class="post-metadata">

### Author: ![pone](https://community.mp3tag.de/user_avatar/community.mp3tag.de/pone/32/272_2.png) [@pone](https://community.mp3tag.de/u/pone)
#### Post date: [February 10, 2012, 4:20pm UTC](https://community.mp3tag.de/t/proper-song-titles/13076/8 "2012-02-10T16:20:28Z")

</div>

@SpecialK:

Have your try, present your approach, describe the problems which are left.  
The problem as your present is a bit complex to give it over to others without having/presenting your try.

My general approach for this would be:

- Capitalize all words
- transform all your exceptions back to lower case.

You can do this with a very long fromat string, or with a series of single actions, combined in one action group.

There are some problems a machine can't solve without complex grammatical analyses as MS Words does it:

Quite a large number of words can switch word classes in Enlish without changing the spelling:  
a house (Conjuction) \<-\> the letter A . I got a A in the test (Noun)  
not fish nor flesh (conjunction) \<-\> I don't like fish, nor do I like meat (Adverb)  
But me no Buts! (Verb / Noun)  
he keeps off the party (Preposition) \<-\> he ran off (Adverb)  
the sky over my head (Preposition) \<-\> over there (Adverb)  
as -\> there you see it yourself, before an noun it's a preposition, at other places an adverb or a conjunction (there are more conjunctions in English as the four you are naming)

Phrasal verbs are an open verb class. That means there is no complete list and new compositional verbs are introduced into language.  
Note that not all words in your list are phrasal verbs. Most are prepositional verbs. The difference is, at pharsal verbs verb and preposition can be splitted (I beat you up \<-\> I beat up the gang), at prepositional verbs this is not possible. (I look for help \<-\> ~~I look help for~~ ).  
You can only make a (incomplete) list of matching words for prepositional verbs, where the two words are always in one postion. Note further problems with grammatical forms: look up, looks up, looking up, looked up.  
And the same words can be a prepositional verb or just a verb with preposition:  
look up the meaning of the word (prepositional verb) \<-\> look up into the sky (verb + preposition)

So much for the little grammatical excurse. Good luck at finding correct automatic formating rules. Not even the grammar checker of MS Word works without mistakes.

That gives me another idea:  
Maybe you should export your tags in textfiel which you can open with MS Words. Maybe (I don't know) there is a function which checks the grammar according to Headline formating rules (Which are similar to your MIDI rules).

---

<div class="post-metadata">

### Author: ![specialk](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@specialk](https://community.mp3tag.de/u/specialk)
#### Post date: [February 12, 2012, 11:38pm UTC](https://community.mp3tag.de/t/proper-song-titles/13076/9 "2012-02-12T23:38:05Z")

</div>

BTW, in an effort to prove it wasn't a case of being unwilling, I have taken the initiative to make it work for myself.

I've taken fragments of other ideas on this forum, as well as hit the books hard to learn the basis of Regex, and I believe I've come up with an expression that incorporates most rules of title-style capitalization.

I've been able to program Mixed Case with lower case of \<4-letter prepositions; articles & conjunctions. I've then made it to where it does upper case on about 200 common phrasal verbs.

While there will always be a few oddities I can't account for, I've (at least I believe) gotten really close to properly accounting for most common exceptions.

---

<div class="post-metadata">

### Author: ![esumsea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/esumsea/32/7219_2.png) [@esumsea](https://community.mp3tag.de/u/esumsea)
#### Post date: [November 12, 2020, 6:55pm UTC](https://community.mp3tag.de/t/proper-song-titles/13076/10 "2020-11-12T18:55:35Z")

</div>

Can you share your script it would be greatly appreciated.

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [February 9, 2026, 12:23pm UTC](https://community.mp3tag.de/t/proper-song-titles/13076/11 "2026-02-09T12:23:39Z")

</div>


