for a while, I have been using hardware through Linux that uses the beep from the PC speaker. I’m actually really used to it, so when I switched to using hardware with an unusably loud (volume can’t be changed) volume (and also different frequency), I started looking into “exporting” the original beep to an audio file that could be played at different volumes and for other purposes.

looking through the internet, however, I haven’t found any attempts to represent any actual PC speaker beep in an audio file, so I’m asking you guys if you know how to do so. presumably, the beep is just a short, simple waveform at a certain frequency, but I am not sure what that waveform is, or what the easiest way to do so is.

  • fettuccinecode
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Actually, resulting volume amplitude from pc speaker can be tweaked by using pulse-width modulation (PWM) techniques. It does not work that well with cheap moving-iron pc speaker but still possible to play PCM waveforms with this trick. Some DOS software like games such Pinball Fantasies or MOD players like Inertia Player supported this.

    Most classic 1-bit pc speaker info just has codified frequency and time on and off programmatically, so it is suggested to find non-pcm and unlikely varying, non-standardized ways to store this information. 1-bit does not have some specific shape, unless you imagine a square waveform but actually on an analog signal it is far for being real square due to vibration, so you get the Gibbs phenomenon represented by Fourier series primitives (all sounds are just a combination of sine wave harmonics). But you don’t throw those primitives to the digital controller, it is just the natural analog resulting effect of sound from digital information.