Para lograr un efecto similar al osciloscopio del grabador de sonidos de Windows o Winamp, puedes utilizar la API de audio de Windows (WaveIn/WaveOut) o librerías como PortAudio para capturar y visualizar la señal de audio en tiempo real. La idea es capturar los datos de audio en buffers, procesarlos para mostrar la forma de onda en una interfaz gráfica (por ejemplo, usando GDI+ o una librería gráfica como SDL), y además, implementar una función para grabar segmentos en archivos en formatos como WAV.
Aquí tienes un esquema de cómo hacerlo:
1. Captura de audio en tiempo real: Usa WaveInOpen y WaveInStart para capturar audio desde la entrada del sistema o desde un archivo de sonido reproducido.
2. Visualización: Procesa los buffers de audio y dibuja la forma de onda en una ventana gráfica.
3. Grabación: Cuando desees grabar, guarda los datos en un buffer y, al finalizar, escribe estos datos en un archivo WAV, siguiendo la estructura estándar del formato.
Existen ejemplos y librerías que facilitan esto, como el código de ejemplo "Simple Audio Out Oscilloscope and Spectrum Analyzer" de Steven De Toni, que puedes adaptar para capturar y guardar segmentos. Además, librerías como PortAudio junto con libsndfile te permiten gestionar la grabación y almacenamiento en diferentes formatos.