Raspberry Pi reproduce MIDI sin sistema operativo

A pesar de todas las características interesantes de DSP encerradas en Raspberry Pi, todavía es difícil imaginar usar Raspberry Pi como un sintetizador, rastreador o secuenciador de software eminentemente capaz. Ejecutar cualquiera de los programas habituales de audio digital de Linux significa, sorprendentemente, ejecutar Linux y la penalización de rendimiento asociada con él.

Sería mucho mejor si todos estos programas de audio pudieran funcionar directamente en la Raspberry Pi sin sistema operativo, y [Joe]El proyecto de éste está justo en ese callejón. Reproduce archivos MIDI sin un sistema operativo, lo que convierte a Raspberry Pi en una plataforma integrada muy potente.

[Joe]La construcción de es el primer código de sonido de metal desnudo para Raspberry Pi. En realidad, es un host de complementos LV2 que cargará complementos de audio, reproducirá archivos MIDI y grabará el audio resultante con el conector de 1/8 ″ en el Pi. Este trabajo no hubiera sido posible sin algunos tutoriales de Raspberry Pi sin sistema operativo. [David Welch].

Esperemos que este no sea el último que veamos. [Joe] y su código; el Raspberry Pi tiene potencia más que suficiente para ser un increíble sampler, sintetizador, batidor o la próxima generación de Akai MPC. Solo necesitamos unos cuantos codificadores valientes para codificar bare metal en la Raspberry Pi.

  • Lucas dice:

    https://la-tecnologia.com/2013/01/21/cansado-de-jugar-el-macbook-jugar-el-raspberry-pi/
    Este tipo podría tomar una hoja del libro en esta publicación.

  • svofski dice:

    Estoy particularmente interesado en ejecutar Aeolus en RPi. Alguien intentó hacer eso, ¿cómo es la latencia/eficiencia?

  • No sé dice:

    Ahora hablamos. Me gusta cómo ustedes pusieron este proyecto de scratching ayer y luego lo hicieron con este hoy.

  • Dex dice:

    Estaba trabajando en un proyecto similar para el pi, un reproductor wav de metal desnudo.

  • Joeboy dice:

    Dex: Eso es genial, estoy deseando verlo. ¿Conseguiste configurar la fuente de reloj para el PWM en uno de los PLL? No parecía funcionar cuando lo probé, así que uso la fuente del ‘oscilador’, que da una calidad bastante pobre.

    • Dex dice:

      Tengo los mismos problemas que usted (no puedo hacer que los PLL funcionen en bare metal), pero estoy trabajando en ello; lanzaré una demostración y un código tan pronto como llegue al fondo.
      He mejorado un poco la calidad del sonido (solo se puede reproducir wav de 8 bits)
      Aquí está kernel.img si quieres escucharlo
      http://www.dex-os.com/ARM/pi-sound.zip

      Realmente me gusta tu reproductor midi de metal desnudo, tal vez logre portarlo a DexOS
      Un día.

      • Joeboy dice:

        Maravilloso, suena funky.

        Entonces, se me ocurren ideas, y ver cómo las sacan a la luz, es muy divertido.

        Del mismo modo, a veces también me gustaría que un sistema de archivos funcione en esto (actualmente todo está vinculado estáticamente al kernel). Creo que mencionó en los foros de rpi que traerá las características de su sistema de archivos fasm a gnu asm. Esto sería realmente útil para mí algún día si todavía planeas hacerlo. Sin embargo, no tengo tiempo para trabajar en ello, así que no te apresures.

  • Bigote dice:

    ¿Qué es esta tontería? De hecho, Linux es un núcleo muy delgado y no roba los ciclos de la CPU de gama alta si está configurado así.
    No estoy diciendo que haya nada de malo en codificar “bare metal”.

    • Joeboy dice:

      Es cierto, puede configurar su programa Linux para que funcione como SCHED_FIFO y no perderá ciclos con otros procesos.

      Mis razones para hacer esto fueron amplias: es posible que desee portarlo a plataformas que no sean Linux como Stellaris; los instrumentos musicales con largos tiempos de lanzamiento son molestos y pueden interrumpirse durante la ejecución; todo el entretenimiento de Linux parece demasiado grande y complicado para la tarea; Fue divertido. Mantener mis ciclos de CPU de gama alta nunca ha sido realmente el objetivo.

    • selector de vector de ocelote dice:

      ¿Por qué Linux se ofrece constantemente como una solución para cosas simples que no necesitan todas las cosas que un mainframe/servidor trae a la mesa?

      • Homero Simpson dice:

        Porque, a diferencia de otros gigantes como Windows, es lo suficientemente versátil como para ejecutarse en microcomputadoras diminutas o supercomputadoras. Puede hacer esto precisamente porque NO está lleno de bloatware y se puede cortar y personalizar para que funcione muy bien en dispositivos integrados. Por lo tanto, se usa regularmente solo para ese propósito. Los huesos básicos son divertidos, pero son demasiado difíciles con toda la ingeniería inversa en este momento. En los días en que el hardware llegaba a C64 / Amiga, teníamos manuales del kernel de rom y manuales de referencia de hardware, por lo que tocar el hardware un poco fue divertido. Sin dicha documentación, se pierde gran parte de esa diversión. ARM/Pi sería el lugar perfecto para revitalizar el aprendizaje competitivo en la escena de demostración de hardware dedicada. Seria perfecto. Pero hasta que los poderes fácticos se den cuenta de que regalar una base sin un NDA es ventajoso para tales dispositivos, todos deberíamos estar agradecidos de poder aprovechar el trabajo que los desarrolladores de Linux han hecho para habilitar dispositivos como este.

        • arbx dice:

          Bien dicho.

  • galane dice:

    Metal básico. Es un término que no he encontrado en bastante tiempo, desde los días de los juegos independientes en el IBM 5150.

  • Efried dice:

    Dado el hecho de que RPI trata la CPU con la GPU, ¿hay alguna forma de acelerar el rendimiento informático para la informática con un sistema operativo que se centre en la informática GPU?

Nora Prieto
Nora Prieto

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *