convertir una señal de audio en valores PWM (modo pre-novato)

Hola, estoy trabajando en un pequeño proyecto, en el que necesito meter una señal de linea de audio al Arduino, por la entrada analógica, y que me devuelva valores en las salidas PWM para controlar un sistemilla alimentado a 12v.
El tema de la alimentación lo tengo resuelto con un clásico TIP120, y ya me responde a los valores PWM que le envío.

Ahora lo que me falta es saber como meterle el audio y sobre todo el código necesario para que me lo devuelva en forma de PWM. Lo que necesito es que esos valores PWM estén en relación al nivel del audio que le entre.
¿alguien conoce alguno tutorial, o sitio en el que basarme para avanzar?
¿puedo meterle la señal de audio de linea directa al GND - A0 por ejemplo, o necesito algún circuito extra?

Gracias de antemano.
Juan

hola yo necesito lo mismo, si alguien sabe algo se lo agradecería muchisimo

Este proyecto te puede ser de utilidad.

Vumetro multimodo arduino

PD: en la descripción hay esquemas y parece que está el sketch

A ver.. audio no puedo ingresarse asi nomás al arduino. Debe desplazarse en 2.5V para y conformarse o limitarse a +- 2.5V pico. Supongamos que entra 1vpp (pico a pico) debe pasar por un AO (Amplificador Operacional) que no solo lo desplaza en 2.5V (eso es facil) sino que lo amplifique 2.5 Veces (fácil tambien).

Luego ingresa en A0 por ejemlo. Haces la conversión y tendras las muestras, Ahora viene el problema.

Que significa para ti, que lo "devuelva en PWM"? Un AD lo convierte en 0 a 1023 y el PWM requiere 0 a 255 algo que con map adaptas.
Pero luego no se que quieres hacer?

Hola,
hay una librería llamada TMRpcm que sirve para reproducir archivos de audio de formato wav, conectándole un pequeño altavoz a un pin con posibilidad de PWM (que puede ser el 3, 5, 6, 9, 10, 11 en el atmega328): hace lo que pides, toma una señal de audio y (re)produce en PWM

bueno, otra vez hago algo indebido y pierdo la respuesta.

El no habla de querer leer de una SD sino por entrada de linea al A0.

El ejemplo de abajo es el mas apropiado, tal vez la ganancia sea demasiada. G =