You need to go through the Rock Tunnel, head east from Cerueal and you get there. =)
go to kanto then go to lavander town and go to the tower you will see an old man talk to him and u will get the pokeflute
Lavander town
To get to Lavendar town you have to go through Mt. Moon.
in kanto, the house in the bridge under lavander town
You can't get to it in soulsilver.
olivian town
Cheak in Goldenrood or Lavander City
you have to get the poke flute from the man in lavander town after you save him from team rocket
Between Mahogany Town and Lake of Rage.
it's right after cherrygrove town
you get it in pewter town
in pallet town.