Estoy tratando de escribir un sintetizador de software que recrea los sonidos producidos por sintetizadores clásicos como el Moog y el DX7. ¿Alguien sabe de algún recurso de código para algo como esto? Gracias.¿Alguien sabe de alguna biblioteca de códigos C/C++/C# que emule el sintetizador de audio?
Respuesta
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.
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.
¿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
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.
CCRMA en Stanford puede ser un buen recurso para el software de audio. The Synthesis ToolKit in C++ (STK) parece que podría ayudarte.
Chuck es lo mejor que conozco, pero es como C++, no C++.
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.
Hay dos artículos en CodeProject que es posible que desee retirar. Leslie Stanford creó un kit de herramientas Synth en C# (hasta donde sé que está completamente administrado).
C# Synth Toolkit - Part I C# Synth Toolkit - Part II
Además, acabo de encontrar this StackOverflow Question que cuenta con unas buenas conexiones, aunque es Java relacionado
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.
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
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
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
Synthmaker y SynthEdit generarán el código VST para usted. SynthEdit definitivamente genera los archivos fuente de C++ sin compilar, y es gratis.
SynthEdit es Shareware. $ 50 para todas las funciones. – Nosredna
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.
Escribí una biblioteca de sintetizadores simple como parte de una aplicación de iPhone. Quizás también funcione para tus necesidades de sintetizador. Talvez no. http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes/synth/
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.
- 1. ¿Alguien sabe de alguna colección de sprites?
- 2. ¿Alguien sabe de una biblioteca C/C++ Unix QR-Code?
- 3. ¿Alguien sabe de una biblioteca de texto java2d?
- 4. ¿Alguien sabe de una biblioteca mysql asíncrona para python?
- 5. ¿Alguien sabe de una biblioteca en Java que pueda analizar los archivos de forma de ESRI?
- 6. ¿Alguien sabe el estado actual de Graphics32?
- 7. ¿Alguien sabe lo que significa que el mensaje ShellHook HSHELL_RUDEAPPACTIVATED?
- 8. Java: ¿Alguien sabe de una biblioteca que detecta la calidad de una conexión a Internet?
- 9. ¿Alguien sabe el estado y el futuro de la biblioteca JQueryTools? ¿El proyecto está abandonado?
- 10. ¿Alguien sabe de un generador de paquetes?
- 11. ¿Alguien sabe de una buena API de C# para Subversion?
- 12. ¿Alguien sabe algo acerca de OLAP Internals?
- 13. ¿Alguien sabe algún buen tutorial de silverlight?
- 14. ¿Alguien sabe de un buen explorador OData?
- 15. ¿Alguien sabe cómo implementar el protocolo NSFastEnumeration?
- 16. ¿Alguien sabe de buenos componentes de acoplamiento Delphi?
- 17. ¿Alguien sabe de un conjunto de enlaces C# para FFMPEG?
- 18. ¿Alguien sabe qué significa advapi?
- 19. ¿Alguien sabe dónde obtener el código real de Cray PVP?
- 20. ¿Alguien sabe cómo funciona el diseño de Pinterest.com?
- 21. ¿Alguien sabe de alguien que trabaje en un proveedor LINQ-a-Memcached?
- 22. ¿Alguien sabe qué significa el fragmento de código a continuación?
- 23. ¿Alguien sabe de una biblioteca Cocoa/Obj-C que se puede utilizar para recopilar datos de uso de aplicaciones
- 24. ¿Alguien sabe si hay alguna API de detección de colisiones para HTML5 Canvas ...?
- 25. ¿Alguien sabe de alguna buena aplicación de código abierto Geodjango para cavar?
- 26. ¿Alguien sabe de alguna plantilla T4 para generar clases de xsd?
- 27. Biblioteca para remuestreo de audio
- 28. ¿Alguien sabe de algún buen tutorial para Slick 2D lib?
- 29. ¿Alguien sabe de alguna integración VI (de código libre/abierto) para Visual Studio?
- 30. Biblioteca mejorada de escáneres de códigos de barras de iOS
Te daría más votos si pudiera. Solía usar Harmony Central hace años, pero no recordaba el nombre. ¡Gracias! – MusiGenesis
Puede seleccionar esto como la respuesta aceptada. – postfuturist
Lo haré, aunque me gustaría ayudar a Joel a superar esa joroba de 10.000. :) – MusiGenesis