Tom Hardy is better at rapping than singing.

The 37-year-old actor, who's starred as criminal Charles Bronson and Batman villain Bane during his career, has been cast in the role of Sir Elton John in new biopic 'Rocket Man', but has admitted he's struggling to learn to sing and has always been more of a rapper.

Tom - who married English actress Charlotte Riley last year - told The Sun newspaper: ''I'm not a singer. I have no idea really.

''I'm really trying because of Rocket Man but it's hard to open my mouth in that way.

''I'm not really drawn towards singing and musicals and that stuff.

''I did some rap when I was a kid but I'm somebody's dad now so it wouldn't be too cool to crack that out!''

Meanwhile, Tom recently confessed he's ''difficult'' to work with.

He admitted he can be a handful when he's shooting a movie but doesn't think he's ''unreasonable''.

Tom said: ''I have a reputation for being difficult. And I am. I am, actually but I'm not unreasonable.

''It used to be that if somebody hurt me I'd lash out a bit, in order to get them to stop. It ultimately comes from fear.''