[PYTHON] J'ai essayé de résumer la procédure lors du démarrage de l'apprentissage automatique et de la classification à l'aide du son (Référence: système d'apprentissage automatique pratique) ヽ (゚ * ヽ) (non * ゚) Non wow

Bonjour à tous, le jeu vidéo play-by-play: tv: fun: sourire: Maintenant que nous avons froid Attention à la gestion de la condition physique: thé: Pazudora, Monsuto, Gacha: gem: Avez-vous dessiné? Comment s'est déroulé le Godfest de Pazudora? Green Odin est sorti: +1:

En passant, de O'Reilly [Practical Machine Learning System (Amazon)](http://www.amazon.co.jp/gp/product/4873116988/ref=as_li_tf_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=4873116988&linkCode=s2&tagen-cle= 22) a été publié. Puisque j'ai pu l'emprunter, j'écrirai quelque chose qui sera utile lors du démarrage de l'apprentissage automatique, en référence à "Classification des genres musicaux": musical_note: dans ce chapitre 9: sourire: Pour les débutants: exclamation: Plus difficile Laissez la théorie et l'application à des gens formidables

Qu'est-ce que l'apprentissage automatique?

En gros résumé

Laissez l'ordinateur reconnaître quelque chose! ⇒ Pour ⇒ Pour le moment, saisissons les caractéristiques de la cible! Si les fonctionnalités sont proches, elles sont similaires! ⇒ Pour ⇒ Nous analyserons et analyserons et rendrons la cible numérique!

C'est étrange en japonais de faire de la cible un nombre: sueur_drops: Cela semble dire avec des mots difficiles tels que "extraire la quantité de fonctionnalités".

Je vais analyser le son et donner le montant de la fonctionnalité

Chapitre 9 de Book: Practical Machine Learning System Je vais reprendre la classification des genres musicaux dans. Mais il n'y a que 20 pages. Vous ne pouvez pas tout comprendre à la page 20, donc ça vient petit à petit avec la sensation d'augmenter le volume.

** Si vous n'avez pas de connaissances périphériques, cela ne fonctionnera pas en raison d'une erreur, je vais donc compléter ce domaine **

Game: game_die: Analysez la vidéo en direct: graphique: et ainsi de suite

Les genres musicaux sont classés dans le livre. Je ne suis pas intéressé par le genre de musique, donc je vais l'essayer avec une vidéo en direct du jeu sur YouTube. Je ne sais pas si cela fonctionnera: crie:

Préparation

Je suis désolé, c'est Windows: ordinateur:

Désolé pour tous les utilisateurs de MAC: sob:

Choses à préparer

--ffmpeg (utilisé pour séparer l'audio de la vidéo) --Vidéos utilisées pour l'analyse: veuillez préparer des vidéos. * Les URL telles que les téléchargeurs sont souvent contaminées par des logiciels publicitaires ou des virus, je ne les publierai donc pas (rires). Cherchez quelque chose de sûr: mag: --python + scipy ou Vous pouvez télécharger à partir d'ici ⇒ python2.7 a été installé (en novembre 2014) )

Environnement d'origine

--windows7 (64 bits)

Bonnes connaissances et outils

Commencer

Maintenant que l'installation de divers outils est terminée

Couper l'audio de la vidéo

C'est au tour de ffmpeg, que tout le monde adore.

ffmpeg -i input.mp4 -map 0:1 test.wav

Extrayez la voix avec wav comme ceci.

** Un module appelé scipy utilisé pour l'analyse peut lire directement les fichiers au format wav, assurez-vous donc de les préparer au format wav. ** **

Je pense que mp3, aac ne sont probablement pas bons

Le répertoire de travail (dossier) est c: / work / tmp

Enregistrez test.wav dans c: / work / tmp

Analyse: faisons un spectrogramme

Utiliser l'interpréteur Python

Lancez Python Interpreter à partir du menu Démarrer.

>>>

L'invite ressemble à ceci.

Lors du déplacement vers un répertoire

>>> import os
>>> os.getcwd()
>>> os.chdir("/work/tmp")

Essayez de faire un spectrogramme

J'aurai l'impression qu'il est introduit dans le livre

import scipy
from matplotlib.pyplot import specgram
sample_rate, X = scipy.io.wavfile.read("test.wav")
print sample_rate, X.shape
specgram(X, Fs=sample_rate, xextent=(0,30))

↑ est un exemple qui apparaît dans le livre, mais si je l'ai fait tel quel, une erreur s'est produite.

AttributeError: 'module' object has no attribute 'io'

Ou quelque chose comme ça. J'importerai ce dont j'ai besoin.

from scipy import io
from scipy.io import wavfile

Après avoir fait cela, encore

specgram(X, Fs=sample_rate, xextent=(0,30))

Ensuite, les chiffres sont foirés: + 1: cela a fonctionné. Cependant, vous penserez sûrement ici, "Ce n'est pas un graphique! Vous ne pouvez pas faire un graphique même si vous faites ce que j'ai écrit dans le livre: livre:!"

Oui, je ne peux pas.

Ici et là, essayez de dessiner un spectrogramme

import matplotlib.pyplot as plt
pxx, freq, bing, t = plt.specgram(X, Fs=sample_rate, xextent=(0,30))
plt.show()

Si vous procédez ainsi, une nouvelle fenêtre s'ouvrira et vous verrez un graphique.

Réponse aux erreurs

pxx, freq, bing, t = plt.specgram(X, Fs=sample_rate, xextent=(0,30))

Une erreur peut survenir lors de l'exécution de ↑

Si vous obtenez une erreur MemoryError

Le fichier wav que vous utilisez est peut-être trop volumineux. Couper avec ffmpeg: ciseaux:. Audacity: son: vous pouvez l'utiliser. Audacity peut être plus facile car il dispose d'une interface graphique.

ffmpeg -ss 0 -i test.wav -t 30 -c:a copy short.wav

Coupons-le dans les 30 premières secondes comme ça. Après ça,

sample_rate, X = scipy.io.wavfile.read("short.wav")
pxx, freq, bing, t = plt.specgram(X, Fs=sample_rate, xextent=(0,30))
plt.show()

Cela a-t-il fonctionné?

Si vous obtenez une erreur mystérieuse

L'assistant peut donner une erreur. Si le fichier wav que vous utilisez est stéréo, ce code ne fonctionnera pas, donc seule l'oreille gauche sera extraite. Vous pouvez le faire avec ffmpeg, mais vous pouvez également le faire avec Audacity.

ffmpeg -i short.wav -map_channel 0.0.0 left.wav

Depuis

sample_rate, X = scipy.io.wavfile.read("left.wav")
pxx, freq, bing, t = plt.specgram(X, Fs=sample_rate, xextent=(0,30))
plt.show()

Vous devriez voir le graphique.

Continué encore cette fois

S'il y a beaucoup de stock (environ 30?), Ça va continuer car il y a beaucoup de demande.

Pour ceux qui sont trop niches pour atteindre 1000 Pelica: pleurez:

Recommended Posts

J'ai essayé de résumer la procédure lors du démarrage de l'apprentissage automatique et de la classification à l'aide du son (Référence: système d'apprentissage automatique pratique) ヽ (゚ * ヽ) (non * ゚) Non wow
"Tutoriels OpenCV-Python" et "Système d'apprentissage automatique pratique"
J'ai essayé de traiter et de transformer l'image et d'élargir les données pour l'apprentissage automatique
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
Ce que j'ai appris sur l'IA / l'apprentissage automatique avec Python (4)
J'ai essayé d'utiliser Tensorboard, un outil de visualisation pour l'apprentissage automatique