introduction
L'auteur n'a aucune connaissance du traitement du signal vocal et de la reconnaissance vocale.
Cet article n'est pas recommandé aux professionnels sur la route (; ´ ・ ω ・)
En passant, je prévois de passer aux niveaux débutant, intermédiaire et avancé.
Motivation
Au travail, une histoire comme "Recommander des chansons!" Est sortie.
La recommandation musicale est-elle classée comme reconnaissance vocale?
La réponse est non. La reconnaissance vocale est le processus par lequel une machine convertit une voix humaine en caractères, de sorte que les recommandations musicales ne sont pas appelées reconnaissance vocale. (Ce site était très facile à comprendre.)
La recommandation musicale semble être un domaine de recherche appelé MIR, et le traitement du signal vocal semble en être le cœur.
Qu'est-ce que MIR
Abréviation de MusicInformatioRetrieval.
Les données de texte sont entrées pour la recherche de chanson par nom d'artiste ou nom de chanson, qui est généralement utilisé, mais MIR utilise la forme d'onde de la voix elle-même comme entrée.
Ci-dessous un exemple spécifique de MIR
--Recommander la musique qui convient à l'auditeur
- Séparation des instruments et reconnaissance des instruments
- Transcription automatique (n'avez-vous pas besoin d'une copie auriculaire?)
--Classification automatique (étiquetage de genre, etc.)
- Génération de musique, etc ...
Outils et bibliothèques pratiques pour le traitement du signal vocal
- SPTK
- Des commandes pour l'analyse vocale telles que le rééchantillonnage et la transformée de Fourier sont fournies. Il semble être assez célèbre dans le domaine du traitement du signal vocal et de la reconnaissance vocale.
- librosa
- Package Python pour l'analyse de la musique. Sorti en 2015.
- SOX
- Logiciel de conversion de format de fichier audio
- lame
- Logiciel de conversion de format de fichier audio
J'ai touché les trois ci-dessus, mais pour moi qui suis un débutant dans le traitement du signal vocal, la librosa était meilleure que SPTK. (SPTK était gênant pour créer l'environnement ...)
En outre, il est recommandé aux personnes qui souhaitent étudier le traitement du signal vocal tout en étudiant l'apprentissage automatique avec Python. (Bien qu'il soit possible d'écrire SPTK à partir de Python, bien sûr)
C'est pourquoi l'introduction est devenue longue, mais cette fois je présenterai librosa.
(À propos, l'article sur la création d'un système de musique similaire à l'aide de SPTK était trop excellent. Http://aidiary.hatenablog.com/entry/20121014/1350211413)
Installer librosa
J'étais assez impatient car le "jupyter notebook" ne passait pas lors de la construction de l'environnement, je vais donc résumer la procédure.
- L'auteur est un utilisateur Windows. De plus, je veux le faire dans l'environnement Anaconda, donc si vous êtes une personne Python brute, 2. Je pense que ça va.
- L'installation de Pip n'a pas fonctionné (probablement parce qu'il n'y a pas de compilateur C ++)
procédure
-
- Réinstaller Anaconda (probablement pas nécessaire sur Mac ou Linux, je pense que ce n'est pas nécessaire sur Windows si les dernières versions d'Anaconda et Python)
-
DL de resampy
-
- DL de librosa
-
Installation du compilateur Microsoft Visual C ++ pour Python 2.7
-
Ouvrez l'invite de commande Visual C ++ 2008 64 bits et exécutez les commandes suivantes dans chaque répertoire de reampy et librosa
python setup.py build
python setup.py install
En Python
library(librosa)
Si ça passe, c'est bon
Ancien environnement: Python2.7.11: Anaconda2-4.0.7
Nouvel environnement: Python2.7.12: Anaconda2-4.2.0
Avant de toucher librosa
Voici un résumé de ce que j'ai fait lorsque j'ai commencé à traiter les signaux audio.
- Trois éléments sonores
- Volume sonore: équivalent à l'amplitude de l'onde. Plus le son est fort, plus l'amplitude est grande.
--Pitch: équivalent à la fréquence et à la période des ondes. Plus le son est élevé, plus la fréquence est élevée et plus le cycle est court.
--Tone: correspond à la forme d'une vague.
- Fréquence d'échantillonnage (unité: Hz)
--Fréquence de prélèvement d'échantillons par unité de temps
- La fréquence d'échantillonnage utilisée pour les CD musicaux est de 44,1 kHz
--Nombre d'images (≒ quantité de données)
--Nombre de canaux: Le nombre d'informations sonores lorsque différentes données sont émises en même temps. 1 pour mono, 2 pour stéréo.
--Nombre de bits de quantification
―― Combien de bits de données analogiques doivent être convertis en données numériques à la fois
―― Plus le nombre est élevé, plus la quantité de données est importante
- Il semble que 16 bits ou plus soient souvent utilisés pour l'audio, 8 bits pour l'audio du téléphone et 8 à 10 bits pour les signaux vidéo.
Enfin le sujet principal
librosa est un package Python pour l'analyse musicale.
Des modules pour MIR sont fournis.
Ce que j'ai fait en me référant au tutoriel librosa
--Visualiser la forme d'onde
--Remarque: je l'ai essayé avec librosa, mais finalement j'utilise la wave de la bibliothèque standard Python. ..
- Traqueur de battements
--Jouer de la voix
- Divisez le son original en instruments de percussion / aigus / accords
- Je vous donnerai ipynb plus tard
à partir de maintenant
--Recueillir «des données d'apprentissage (musique) aussi impartiales que possible».
- URL de référence: https://kodack64.gitbooks.io/toho_mir_ml/content/1-0.html
- Etudier un peu plus l'analyse de la voix (transformation de Fourier, transformation de fenêtre, filtre de pré-amélioration, etc.)
- Plan intermédiaire: Acquérir des connaissances sur les fonctionnalités musicales et les méthodes d'extraction
- Progression de code, HVL, BPM, MBL, MSL, ASL, mfcc, fonctionnalités locales (soi-disant rust), etc ...
- Calendrier de l'édition avancée: trouvez la meilleure fonctionnalité pour rechercher des chansons similaires
―― Essayez d'apprendre en combinant des quantités de caractéristiques
--Construction et évaluation d'un système musical similaire. (Vous devez penser à la méthode d'évaluation.)
Impressions
«J'ai essayé de me plonger dans le monde du traitement du signal vocal avec l'intention d'utiliser une arme appelée apprentissage automatique, mais j'étudierai davantage car je n'ai pas assez de connaissances.
――Personnellement, il s'est avéré que la motivation pour étudier était considérablement augmentée lorsque les données d'entrée de l'apprentissage automatique étaient converties en voix. En fait, c'était la plus grande découverte cette fois.
Résumé de l'URL de référence
- http://recognition.web.fc2.com/
- http://hhsprings.pinoko.jp/site-hhs/2015/02/microsoft-visual-c-compiler-for-python-2-7%E3%81%AF%E3%81%B2%E3%81%A8%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AA%E3%82%89%E3%81%9A/
- http://np2lkoo.hatenablog.com/entry/2016/09/22/052354
Merci beaucoup. Veuillez attendre avec impatience la prochaine fois!