you have to use a pokeflute! a very usefull item. in Pokemon leaf-green you can get one in lavender town for saving a man in the cemetery tower from team rocket and he will thank you at his house with the pokeflute!
From : Ash Ketchum
you can't get the poke flute on soul silver however you can get it on the poke radio to wake the sleeping snorlax blocking entrance to diglets cave.
you get there by capturing snorlax
Outside of diglets cave
fly or walk to Vermillion city then go east through vermillion city keep walking and there should be a sleeping snorlax blocking your path and a cave entrance.
in frunt of diglets cave use the poke flute (it is on your radio)
go to raido tower and get the poke flute
You move the snorlax infront of diglets cave by put playng pokemon flute close to him but you can only to that after you restoring the power and have the exp.card from lavender city radio tower.
Snorlax is found blocking diglett's cave in vermilion city.
near vermillion city.a snorlax is blocking it
In your radio, all you do is go to the top of your radio with the little dot and then it will say poke flute and then you can get that awsome snorlax that is blocking diglets cave. (but the poke-flute channel only works in Kanto not in Jhoto)
its the huge sleeping thing blocking diglett cave in kanto -- IMPROVED ANSWER BY MOLOKAICREEPER: Snorlax can only be found after you beat the Elite 4 and you make it to Kanto. This time he is blocking the Diglett cave. Make sure to bring lots of Pokeballs to catch it! This is the only chance you get to have a Snorlax in this game, if you faint it, you're out of luck unless you find a Pokemon Yellow, Red or Blue to trade with.
Snorlax is located in Kanto, blocking the entrance to Diglett's Cave outside of Vermilion City.