PT2258 No sound

The addresses shown in the datasheet are NOT how they are specified to Wire.h
The low order bit of each of those addresses is the I2C Read/Write bit and is not part of the address. To specify the address to Wire.h you have to remove the Read/Write bit (Wire.h re-inserts the appropriate bit when it actually does the I/O).
For example the address 0x8C in binary is 10001100. Removing the low order bit gives 1000110 which in hex is 0x46 and that is the address you would specify to the Wire.h library.
Unless you need more than one I2C bus or you need to use A4 and A5 as analog pins, there's no need to use SoftI2CMaster.

Pete