It rather depends on what you mean by amplitude - instanteous, averaged, and what bandwidth you are talking about... Best and cheapest are mutually exclusive I think.
Decibels for the purposes of human hearing are not the same as decibels in the electronic domain - for human hearing the ear's frequency response is compensated for. So if you want accurate measurement of sound volume from a human PoV you'll need to emulate this frequency response curve.
However if you are only interested in a rough level you only really need a peak level detector along the lines of:
 int value = analogRead (AUDIO) - zero_level ;
 if (abs(value) > threshold)
 {
  digitalWrite (LED, HIGH) ;
 }