Convertir efectos de sonido entre distintos formatos con iTunes

Hace ya un tiempo que publiqué en el App Store mi tercera App, ClockRing. Es una utilidad que hace que tu iPhone suene cada hora, como suena la radio, con esos pitidos. Aunque puedes escoger otros sonidos, claro. Es una aplicación muy sencilla, que usé para aprender a usar las LocalNotifications de iOS y decidí dejar como Software Libre. Lo que significa que si quieres ver cómo está escrita la App, siempre puedes bajarte su código fuente de su Wiki.

El caso es que para que suene algo cuando se lanza una notificación necesitas un archivo con un efecto sonoro. En mi caso, los busqué libres también y me los bajé de FreeSound.org. Bueno, pues muchas veces vienen en un formato que no está soportado directamente por el iPhone (los que se admiten para LocalNotifications están en esta lista):

  • Linear PCM
  • MA4 (IMA/ADPCM)
  • µLaw
  • aLaw

Se me ha dado el caso hoy de tener que convertir de nuevo efectos de sonido, en este caso desde AIFF hasta WAV. Y no recordaba cómo hacerlo. Ni con qué herramienta. Y resulta que iTunes lo hace todo. Paso a paso:

  • Selecciona los ficheros de audio con los efectos de sonido y arrástralos a iTunes. Aparecerá el típico “+” verde y se añadirán a tu biblioteca.
  • Busca esos ficheros en iTunes, para tenerlos localizados.
  • Ve a Preferencias > General (se debe abrir por ahí)
Preferencias iTunes

Preferencias iTunes

  • Ahora, pulsamos en Ajustes de importación. Se nos abre esta ventana:
Ajustes importación

Ajustes importación

  • Aquí podremos cambiar la forma de importar audio, es decir, cómo queremos que iTunes convierta de un formato a otro. Esto se usa para convertir por ejemplo los CDs en ficheros con un formato determinado, pero también sirve para convertir.
  • Disponemos de los siguientes formatos:
codecs-audio

codecs-audio

  • Ahora ya basta con seleccionar los efectos de sonido, que hemos copiado en iTunes y pulsar en Avanzado > Crear versión de WAV. Esta opción de menú va cambiando para reflejar el ajuste anterior.
  • Pulsando con el botón derecho del ratón sobre estos efectos puedes “Mostrar en el Finder”, lo que te abrirá la carpeta en la que están estos ficheros, por si prefieres trabajar ya con ellos desde el Finder. En mi caso, desde aquí los copio a XCode.

Y así, sin instalar nada más, únicamente con iTunes que viene con cada Mac, podemos realizar esta sencillísima tarea (pero que para un inútil total del audio como yo, es un mundo). Si alguien conoce una forma más sencilla, por favor, que la cuente en los comentarios. Le estaré eternamente agradecido… o lo que dure este blog.

j j j

ClockRing y la Hermenéutica de las Apple Review Guidelines

ClockRing rechazada :-)

ClockRing rechazada 🙂

ClockRing ha sido rechazada. No se por qué, pero me lo olía. Bueno, realmente no ha sido rechazada. Me explico. La App es correcta, pero no la pueden subir al App Store porque los materiales de márketing (los textos, imágenes, iconos, etc. que aparecen luego en iTunes) no pasan el filtro. Me esperaba algún problema con la licencia, que es GPL, pero como eso no aparece de entrada, no hay bronca (el problema lo tienen aplicaciones que, nada más abrirlas, te informan de su licencia y otras historias).

El correo que he recibido del equipo de revisión me parece perfecto, en serio. Muy educado, te dan las gracias por enviar Apps al App Store y te explican exactamente cual es el problema (en mi caso una de las capturas de pantalla que había enviado) y cómo solucionarlo. Acabo de crear una nueva captura y la he enviado ya para que me la revisen, a ver si ahora todo funciona OK. No entiendo los programadores que se quejan todo el rato del proceso de revisión. Yo hasta ahora he tenido dos problemas, y en ambos casos me han indicado qué pasaba y cómo arreglarlo. Y todo como la seda, oiga.

Lo que me hace gracia es la razón exacta del rechazo:

3.2   Apps with placeholder text will be rejected

Bueno, mi captura de pantalla inicial lo que mostraba era un anuncio vacío (un iAd sin nada, ya que estaba probando la App). Y yo tenía que interpretar que un texto de relleno (placeholder text) es lo mismo que un iAd sin anuncios. Es por eso que habría que crear una hermenéutica de las reglas de Apple, de forma que mentes ilustradas nos expliquen a los más torpes exactamente qué puedes y qué no puedes hacer 🙂

En resumen, que si mandas esto, te rechazan:

Captura de ClockRing App que NO cumple las reglas :-)

Captura de ClockRing App que NO cumple las reglas 🙂

Pero si mandas esto otro, todo es perfecto:

Esta es la buena

Esta es la buena

Nunca me había alegrado tanto de tener mi licencia de Pixelmator. Problema solucionado en 5 min. Bueno, eso si te acuerdas de cambiar las imágenes promocionales en todas las App Stores. Si no, te mandan otro amable correo rebosante de paciencia pidiéndote que cambies los screenshots de la App española 🙂

Por cierto, ClockRing ya está disponible en el App Store. Y su código fuente está aquí.

j j j

ClockRing, Mi tercera App es Software Libre

Pues eso, que he mandado a revisión por parte de Apple mi tercera App. Actualmente ya tengo dos subidas: MyEvents, para gestionar tus eventos importantes y saber cuántos días quedan hasta ellos, y FXPlayer, una App escrita a cuatro manos con la ayuda de @jnhidalgo @jnhernandez, y que te permite superponer efectos de sonido a una canción que tengas sonando en el iPod. Puedes verlas en la web de Femtocoders (Inglés) o en la sección iOS Apps del blog.

Esta tercera se llama ClockRing, y la idea es muy sencilla: hace que suene un pitido de señal horaria en tu iPhone, como los relojes Casio de toda la vida. Con la particularidad que te permite escoger qué quieres que suene: una campana de iglesia, un reloj de cuco, un pitido típico de la radio…

ClockRing App

ClockRing App

Se me ocurrió la idea tras enterarme a través de José Mª Ortiz, un compañero de Jonathan Chacón (primer desarrollador ciego en el mundo que ha publicado una App en el App Store, bromitas pocas), de que MyEvents era accesible. Empecé entonces a pensar en los temas de accesibilidad y se me planteé “¿bueno, y un ciego cómo sabe de un vistazo que son las dos de la tarde y tiene que irse a comer?”. Evidentemente no “de un vistazo”, tienen que estar activando el iPhone, y VoiceOver te canta la hora. Pero se me ocurrió la idea de clockRing y pensé que podría ser útil. Además, José Mª, me pidió que implementase “para ayer” la posibilidad de programar alarmas en MyEvents (cosa que empiezo a preparar ya para la v1.2). Así que ClockRing era la oportunidad perfecta para practicar con la API de LocalNotifications.

La App es gratis, e incluye iAds para ver si me puedo pagar alguna cerveza a su costa. Pero hace tiempo que estoy con ganas de liberar algo de código. Así que ClockRing es Software Libre, según establece la licencia GPL v2. Vamos, que puedes ver el código, compilarlo, usarlo en tus proyectos, o para aprender, o para reírte, o para lo que quieras. Pero los trabajos derivados deben ser también libres. Si quieres una copia del código, pásate por la Wiki de la App ClockRing que tengo en FogBugz (otro día  hablaré de FogBugz y su increíble sistema de Bug Tracking, predicción del tiempo de entregas, Wikis, repositorios de código, etc.)

ClockRing aún no está disponible para su descarga desde el App Store, ya que está en el proceso de aprobación (cruzad los dedos). En el momento en que esté disponible lo anunciaré aquí (actualizando esta entrada) y en Twitter.

Actualización: ya puedes bajarte ClockRing gratis.

Happy coding!

j j j