modifier son
luc
Membre
Bonjour,
Si vous avez des pistes pour modifier les aiguës ou grave d'un son charger en mémoire.
Merci d'avance
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tout ce qui est dsp audio suppose d'utiliser CoreAudio. Il faut faire un AUGraph dans lequel tu vas, soit intégrer une fonction RenderCallback, soit utiliser un module AudioUnit Apple intégré à l'OS. Dans ce render callback tu filtres le signal avec des filtres passe-haut- passe bas, et tu ajoutes ce signal ou le retranche au signal d'origine. Dans ton cas, utiliser le AudioUnit type a des chances d'être très suffisant.
Le problème est que si je sais faire un synthétiseur (et donc te donner un bon code source pour les filtres), je n'ai pas encore appris à récupérer l'audio dans le renderCallback. (pas eu besoin), mais monter une chaine de AudioUnit "de base" est assez simple. Il y en a un pour lire des fichiers audio de tous types, et d'autres pour filtrer, ajouter de la réverb, de l'écho, etc.
En gros, tu reproduis en code un montage audio analogique, le lecteur audio est connecté (avec les AUNode) à l'effet, qui est connecté quant à lui à la sortie. Le AUGraph est le studio en quelques sortes dans lequel des AUNode connectent des AudioUnit.
Il y a des exemples de code source dans les exemples Apple. Des liens pour commencer :
https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/CoreAudioOverview/Introduction/Introduction.html#//apple_ref/doc/uid/TP40003577-CH1-SW1
https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/Introduction/Introduction.html
Cherche aussi des exemples d'appli déjà faites.
Exemple pour finir (pour l'instant) d'un synthé sous MacOS :
merci herve, je vais me pencher sur AudioUnit parce que la doc c'est pas ce qui manque alors je tentai de faire une recherche avec le mot pitch...
merci encore.
je suis aussi intéressé par la solution. Merci de faire un feed-back
Dans les deux cas, il faut utiliser les Audio Units standard en les combinant dans un Audio Graph.
l'equalisation
modifier les aiguës ou les graves (hauteur de son) ce n'est pas une égalisation ?!
Le pitch shifting consiste à transposer sans variation de durée un enregistrement vers le grave ou vers l'aigu. L'équalisation consiste à rehausser le timbre, pas la hauteur.
Exemple : un morceau est enregistré en do majeur, on veut chanter ou jouer par dessus en ré majeur -> pitch shifting.
Un enregistrement parrait sourd, il faudrait mieux entendre les fréquences aiguës -> equaliseur.
Un exemple de multieffet pour iOS :
https://developer.apple.com/library/mac/samplecode/AUTimePitchTest/Introduction/Intro.html
le pitch doit convenir pour un traitement immédiat, beaucoup moins pour l'équaliser.
Que veux-tu faire exactement? Avec ton Mac, si tu as Garage Band par exemple, tu peux essayer avec les AudioUnit "natifs" du Mac. Ce sont tous les effets marqués "AU...". Ce sont eux que tu peux intégrer dans ton graph et paramétrer en code. Essaie, et puis décide!
(Garage Band est gratuit sur le Mac Apple Store)
Désolé pour le retard aussi. J'étais dans mon synthé iPad n°1...
Cela s'appelle un pitch shifter. Le AudioUnit natif du Mac est bien.
Tu fais ton graph, et tu trouves les paramètres dans la doc (tous commencent par "kAudioUnitProperty_). Il y en a un aussi pour lire les fichiers audio. Encore une fois, essaie les dans Garage-Band pour voir si c'est ce que tu veux.
Au niveau di GUI, souviens-toi que la partie graphique et la partie audio d'un soft de musique doivent fonctionner séparément. L'un doit pouvoir fonctionner sans l'autre. Les deux parties communiquent via des set/get de valeurs, ou des notifications, mais rien de plus, elles ne s'attendent jamais.
merci bien pour ces précisions.
Est-ce que ça marche?