There are many different types of materials that can be used to absorb sound, and the best one for a given situation depends on a number of factors. The most important factor is the frequency range of the noise that needs to be absorbed. Different materials have different properties that make them more effective at absorbing certain frequencies. For example, heavy curtains or carpeting can help to reduce low-frequency sounds like bass tones, while lighter materials like fiberglass insulation are better at absorbing high-frequency sounds like cymbals.
Another important consideration is the thickness of the material. In general, thicker materials will be more effective at absorbing sound than thinner ones. This is because they have more surface area for the sound waves to bounce off of before they reach your ears.
Finally, you also need to consider the weight and hardness of the material. Heavier and harder materials will reflect more sound than lighter and softer ones. This means that they won't absorb as much noise overall, but they can be useful for reducing specific types of noises. For example, if you're trying to block out traffic noise from outside your window, a heavy curtain will do a better job than a thin piece of foam insulation.