2010-07-28 4 views
0

Je conçois une application multiplateforme (Windows/Linux/OS X), quelque chose comme une station de travail audio numérique. J'aimerais créer un logiciel où les utilisateurs ont un séquenceur complet (plusieurs pistes avec automation) et où il est possible de créer des instruments en utilisant un langage visuel (comme Pure Data/Max MSP).Technologie et langage pour un développement de station de travail audio numérique stable

Ehm ... Je sais que j'ai déjà posté un question about a related issue ... Mais afin de décider quelle technologie, je veux utiliser, je pense que je ferais mieux de faire plus d'enquête. Je suis un utilisateur expert des trackers audio (Renoise, Protracker, ...) et des séquenceurs (FL Studio, Cubase 5), mais je n'ai jamais essayé de développer un tracker audio de base. Je connais juste la théorie de base du mixage du son et je sais comment fonctionne un DSP.

Mes questions sont les suivantes:

  • où je peux trouver un bon tutoriel/Guide/livre sur cette question?
  • Pensez-vous que l'utilisation de C# (avec NAudio) pourrait réduire considérablement les performances? Je sais que C++ serait le meilleur choix, mais je trouve C# si élégant et facile à construire et le port, alors que C++ est si puissant et rapide, mais il y a trop #define et de mauvaises choses à mon goût! ;-)

Merci.

+0

Pour la couche de sortie audio sous Windows, utilisez ASIO. C'est la norme de l'industrie. Vous pouvez postuler pour le SDK de Steinberg. – Brad

Répondre

0

Pour le développement multi-plateforme en C++, vous pouvez jeter un oeil à Qt. Il est aussi (ou plus) élégant que C#/WinForms. J'ai développé pour Windows et Linux ces trois dernières années et c'est un plaisir de travailler avec.

Rechercher le livre C++ GUI Programming with Qt4. C'est une excellente ressource.

Vous devriez également rechercher le backend Qt/Phonon et voir comment cela peut vous aider à reproduire le média.

Pour C#, j'ai eu de très mauvaises expériences avec WinForms - les mises en page redimensionnables sont difficiles à travailler et ne semblent jamais aller vraiment bien. Il y a aussi Gtk # (de Mono) et WPF. Si vous voulez faire du développement multi-plateforme, je vous conseille de cibler les sous-ensembles .NET support Mono. Mais, sinon, je ferais juste avec Qt.

+0

Merci pour votre réponse! ... Peut-être que cette réponse est plus liée à l'autre question que j'ai posté. Je me demandais si développer un core d'une telle application audio en C# est un mauvais choix. BTW Je suis à la recherche d'un bon tutoriel/livre pour comprendre quelle solution commune et "modèle" sont utilisés dans les logiciels audio en temps réel (génération et traitement du son). –