2008-10-30 15 views

Respuesta

14

Hay una gran cantidad de bibliotecas C/C++, la mayoría ya no se actualizan. No hay mucho para C#, pero he visto un par. Realmente no he usado ninguno de ellos con ira, así que no puedo dar ninguna recomendación.

Comenzaré con Harmony Central y veré si encuentras algo útil allí.

Alternativamente, una búsqueda de analog synthesis en sourceforge.net tiene muchos resultados.

+0

Te daría más votos si pudiera. Solía ​​usar Harmony Central hace años, pero no recordaba el nombre. ¡Gracias! – MusiGenesis

+0

Puede seleccionar esto como la respuesta aceptada. – postfuturist

+0

Lo haré, aunque me gustaría ayudar a Joel a superar esa joroba de 10.000. :) – MusiGenesis

1

Tuve cierto éxito con el BASS library, pero su soporte de .Net fue un poco crudo la última vez que jugué con él. En su mayoría, la codificación de flujo de bajo nivel y tal, pero tiene soporte para algunos efectos DX8.

+0

¿Alguna vez ha trabajado con plugins de FL Studio? Hacen exactamente lo que necesito, pero mi C es débil y mi C++ es inexistente. – MusiGenesis

2

Mira las respuestas a la pregunta Python Music Library. Mientras que la pregunta dice "Python", Python se basa en C. Por lo tanto, cualquier cosa utilizable de Python tendrá una biblioteca C, también.

2

Chuck es lo mejor que conozco, pero es como C++, no C++.

3

su mejor apuesta es verificar developer forums over at KvR. Podrán orientarlo en la dirección de los mejores motores de síntesis/DSP de fuente abierta, así como algunos complementos VSTi de código abierto de los que puede inspirarse. Sin embargo, todo estará en C/C++. En este momento, solo existe la síntesis de audio más básica disponible en el código administrado.

6

El Moog y el Yamaha DX7 son drásticamente diferentes. El DX7 usa síntesis FM, lo cual es muy extraño. Muy diferente de los análogos de VCO/VCA/VCF habituales como el Moog.

Durante mucho tiempo, Yamaha litigó para defender sus patentes de FM, pero todas ya expiraron, creo. La distorsión de fase de Casio era similar a la FM de Yamaha, y logró evitar la ira de Yamaha (que yo sepa).

Empezaría seleccionando una u otra. Virtual Analog (emulando sintetizadores analógicos) está de moda desde que Nord Lead y Access Virus aparecieron. Y mucho más fácil de contemplar. Así que iría por ese camino si quieres caminar con la multitud de la cadera.

Comience con buenos osciladores de banda limitada, haga un generador de envolvente, haga un filtro. Para obtener inspiración, consulte Welsh's Synthesizer Cookbook para ver cómo se pueden hacer todo tipo de sonidos con un sintetizador de dos osciladores. Empezaría por implementar las características mínimas necesarias para esos parches.

FM y PD son salvajes.Si vas por esa ruta, se trata de encadenar suficientes operadores de FM juntos en configuraciones interesantes para obtener un espectro de sonidos interesantes. Advertencia: es mucho trabajo evitar el aliasing en FM.

+0

Además, probablemente disfrutarías este enlace. Años y años de artículos inspiradores. http://www.soundonsound.com/search?url=/search&Section=8&Subject=12 – Nosredna

+0

Gracias. Ya obtuve el Moog bastante bien, y de hecho siempre odié el sonido DX7 (demasiado 80 para mí). Cuando hice esta pregunta el año pasado, estaba buscando un código que pudiera conectar fácilmente a mi modelo de sintetizador, pero nunca encontré nada. La mayoría de las cosas que encontré se centran en la síntesis en tiempo real, y estaba buscando un código que produce notas enteras como matrices de carrozas o pantalones cortos. Tuve que escribirlo todo, y estoy contento de haberlo hecho. Saber cómo hacer FFT abre muchas puertas, sintetizador. – MusiGenesis

+0

Sé que los complementos VST suelen implementar una interfaz de "rebote" que genera notas completas (para representar una canción completa), pero todavía no he podido escalar la curva de aprendizaje VST. – MusiGenesis

3

La página web musicdsp también tiene una gran synthesis library. Un montón de código de muestra en C/C++ sobre cómo hacer las cosas.

2

These tutorials (especialmente de la parte 8 en adelante) cubrir la programación de todas las partes de un sintetizador sustractivo clásico en C++: osciladores, sobres, filtro y LFO.

Cuestiones relacionadas