Some time ago I decided to use tone() function with esp8266 and it didn't work. Then I tried the same project with an Arduino Due and to my surprise it didn't work again. I couldn't understand why, because I've used that function numerous times with Nano and Uno. I read a lot of posts on how users couldn't use tone() function because it was not supported for their device.
So, I made the NewToneLib, which is a simple library, intended for devices which do not support built-in tone() function. The new method uses the same syntax as the built-in one. I hope I've been helpful to anyone who encountered the same problems as me. Feel free to report any issues with the library and test on another devices. Any help on developing the library would be appreciated.