# README.TXT : Instalacion y uso de RAP-ISD
# DESCRIPCION:
RAP-ISD graba y reproduce audio en una memoria de Voz ISD1420, para ello
usa el pruerto paralelo para sincronizar y operar al ISD1420, en operaciones
de grabado, utiliza la salida de audio de la placa de sonido para inyectar
audio en la ISD1420.
# CARACTERISTICAS
- Graba y reproduce mensages de audio en una direccion fisica de memoria
de la ISD1420 suministrada por el ususario.
- Permite grabar una serie de mensages secuencialmente, almacenados en
distintos archivos de audio y referenciados en un archivo de texto que
indica su orden de grabacion.
- Reproduccion de mensages almacenados en la ISD1420 conociendo su direccion
relativa desde la posicion 0 de la memoria. Ej: Reproducir el mensaje numero
5 de la memoria.
- Al usar un reproductor de audio externo para grabar los sonidos a traves
de la placa de sonido, permite mayor flexibilidad a la hora de grabar
distintos formatos audio almacenados en el disco duro.
# REQUERIMIENTOS
- Puerto paralelo y placa de sonido.
- Programa reproductor de audio, ej: 'sox' (http://sox.sourceforge.net), este
programa trae la utilidad 'play' que permite reproducir un .wav desde la
linea de comando de la forma: $ play archivo.wav .
Cualquier reproductor de audio debe poder usarse desde la linea de comando
para usar con RAP-ISD.
- Interfaz de hardware que se suministra, este circuito permite grabar
la memoria.
# LISTA DE ARCHIVOS
rap-isd.c : codigo principal del programa.
README.TXT : instalacion y uso del RAP-ISD.
rap-hard/rap-hard.jpg : circuito electronico de la interfaz del programa.
wavs/silencio-25ms.wav : archivo de audio de ejemplo.
wavs/bienvenido.wav : archivo de audio de ejemplo.
wavs/activado.wav : archivo de audio de ejemplo.
wavs/wav.lst : lista de grabacion, ejemplo.
# INSTALL
- Bajar: rap-isd_version.tgz
- Descomprimir:
tar -xvf rap-isd_version.tgz
- Compilar:
gcc rap-isd.c -o rap-isd
- Ejecutar como root:
chmod +s rap-isd
4-b) Mover:
mv rap-isd /usr/local/bin
# USO/EJECUCION
- Suponiendo que tenemos construido y conectado la placa de sonido
y pto. paralelo a la interfaz de hardware del rap-isd.
- Siempre antes de conectar la ISD1420 a la interfaz o al usar
por primera vez el programa ejecutar:
rap-isd -i
- Ello inicializa el puerto.
2) Si tenemos el programa 'play' (ver requerimientos) y un archivo hola.wav,
podemos grabar el el sonido haciendo:
rap-isd -r 4 hola.wav play
- Ello grabara en la direccion 4 de la memoria el sonido del archivo .wav .
3) Para reproducir el sonido que grabamos en la memoria ISD1420 hacemos:
rap-isd -p 4
- Ello reproducira el sonido ubicado en la direccion 4 de la memoria.
4) Supongamos que tenemos 5 archivos .wav y lo queremos grabar secuencialmente
en la memoria ISD1420, para ello podemos indicarle a rap-isd que lea desde
un archivo de texto una lista que haga referencia a esos .wav y asi
grabar automaticamente los 5 archivos.
Si tenemos: hola.wav, chau.wav, bienvenido.wav, uno.wav y dos.wav
Creamos un archivo de texto con nuestro editor de texto favorito que contenga
tales archivos:
ej: vi lista.txt
Y escribimos:
hola.wav
chau.wav
bienvenido.wav
uno.wav
dos.wav
Grabamos el archivo y luego ejecutamos rap-isd para que leea la lista
y grabe los sonidos:
rap-isd -l lista.txt play
- Ello grabara los .wav indicados en lista.txt usando como reproductor
al comando play.
- Notemos que se graba secuencialmente desde la direccion 0 en la memoria
los archivos .wav.
5) Ahora como reproducimos el tercer sonido que grabamos anteriormente en el
paso 4, sin conocer su direccion fisica??
Muy simple:
rap-isd -s 3
- Ello reproducira el tercer sonido grabado, es decir bienvenido.wav .
6) Ayuda en linea???
rap-isd -h
Ello muestra la sintaxis de rap-isd.
# FAQ (PREGUNTAS FRECUENTES)
Q: Cuanto tiempo permite almacenar de audio la ISD1420 ?
A: 20 segundos.
Q: Comprime o digitaliza el audio la ISD1420?
A: No, lo graba de forma natural. Ver Hoja de datos.
Q: Que pasa si grabo mas de 20 segundos de audio, rap-isd que hace ?
A: Nada, rap-isd no hace ninguna verificacion. Usted debe comprobar
antes la longitud del mensage.
Q: Cuantas direcciones hay en la ISD1420?
A: 20 Segundos / 125 mSegundos = 160.
Q: Cual es el tiempo minimo de grabado de la ISD1420?
A: 125 milisegundos. 1 direccion de memoria
Q: Intente grabar un archivo de 50 ms y en la memoria me acupo 2 direciones
de memoria, lo que equivale a usar 250 ms.
A: Si, rap-isd al usar un programa externo que reproduce el audio, tiene
un retardo de aproximadamente 125 msegundos desde el tiempo en que
habilita a grabar a la memoria y en que el archivo de audio
empieza a reproducirse. Ello es en una PENTIUM III @ 500 Mhz, quizas
en PC mas lentas sea el tiempo mayor. Es un BUG y en proximas versiones
se corregira...
Q: Hay forma de cambiar el puerto paralelo ?
A: Si, abra el archivo rap-isd.c y modifique en numero 0x378 por la
direccion de su puerto paralelo, en la linea:
#define PORT 0x378
Que esta ubicada en las primeras lineas del codigo fuente.
Luego compile el programa nuevamente.
Q: Algo que deba saber y tener en cuenta ??
A: Si, el reproductor de audio debe estar en la varible de entorno PATH.
Ademas, como buena practica, siempre conviene trabajar con rap-isd
en el mismo directorio donde estan los archivos de audio a grabar.
# CONSIDERACIONES ELECTRONICAS
- Es conveniente grabar dos mensages de 50 ms de silencio en las primeras
posiciones de la memoria ISD1420, ya que luego al usarla en nuestros
proyectos, la ISD1420 se puede activar por señales espureas y reproducir
la primera posicion de memoria.
- Al reiniciar Linux, sacar de la interfaz la memoria ISD1420.
- Para grabar los mensages de audio sin saturacion en la ISD1420 recomiendo:
- Poner el nivel de volumen de la placa de sonido al 70 % aproximadamente.
Por lo general las placas de sonido tienen una salida de 4 o 5 Volts
pico-a-pico en su maximo volumen. Leea la hoja de datos del ISD1420
para ver cual es el maximo voltage en su entrada que se puede aplicar.
Yo con menos de 2 Vpp no tuve problemas, pero cualquier tension de una
placa de sonido estara bien para la isd1420. Verifique las tensiones
de su placa al maximo volumen con un voltimetro y tenga en cuenta
que este valor es eficas (si su voltimetro es TRUE RMS).
- Usar el protenciometro R4 de la interfaz de hardware para un manejo
de la ganancia de audio de la entrada de la memoria adicional.
Yo tuve buenos resultados con un resistor de 6800 Ohms.
- Prueba y correccion es este paso... tantas veces como sea necesario :).
# BUGS
- Cabe destacar que el programa esta en estado BETA y fue desarrollado
para que solo fuera funcional, no es una version depurada.
# HISTORIA
- El programa fue desarrollado con motivo de grabar una memoria
ISD1420 empleada en un proyecto de electronica para regularizar la
materia Tecnicas Digitales II de la universidad UTN FRC, en la carrera
Ingenieria Electronica.
Dicho proyecto llamadao UCT (Unidad Controlada Por Telefono), permite
el acceso y control de dispositivos de forma remota a traves del
telefono, empleando se#ales DTMF para su operacion e interactuando
con el usuario a traves de mensages predifinidos de audio. Otra
de sus caracteristicas es un bus de expancion para aumentar
su capacidad y versatilidad, permitiendo ser mejorado dinamicamente
a traves de modulos electronicos.
Los resultados del proyecto podran verse una vez que este terminado
en la direccion: http://stk.freeshell.org
Probablemante a partir del 20/02/2004 o antes quizas.
Dicho proyecto tendra los esquemas circuitales y codigos fuentes
del assembler de su software abierto al publico.
# VERSIONES FUTURAS
# BUGS
- Envie los fallos del programa a: slicetek@hotpop.com
Adjunte una copia del error y toda informacion que crea necesaria.
- Se admiten mejoras, si ud. lo desea :)
Boris Estudiez.
EOF