Da die Anzahl der Sprachdatenabtastungen aufgrund des maschinellen Lernens gering war, haben wir Rauschdaten und massenproduzierte Sprachdaten eingegeben. Ich werde das Verfahren zu diesem Zeitpunkt vorstellen.
Grundsätzlich werden wir mit der Diskussion unter der Voraussetzung fortfahren, dass die zu behandelnde Audiodatei eine WAV-Datei ist. Bitte verzeihen Sie mir ...
SoX(Sound eXchange) Sie können dies verwenden, um verschiedene Stimmen zu verarbeiten. Dieses Mal werde ich versuchen, mit einigen dieser Funktionen rauschhaltige Audiodaten in Massen zu produzieren.
Zuerst installieren.
brew install sox --with-lame
Lassen Sie uns sofort das Rauschen mischen. Nehmen wir Rauschdaten aus freien Materialien auf. Wenn Sie nach "freie materielle Stimme" suchen, finden Sie Daten, die als Rauschen verwendet werden können, z. B. Geräusche des täglichen Lebens.
sox -m sound.wav -v 0.1 noise.wav noise_mix.wav trim 0 3
Sie können Noise_Mix.Wav erstellen, indem Sie Sound.Wav und Noise.Wav mit dem obigen Befehl mischen.
-m bedeutet, zwei Audiodateien zu mischen. -v ist die Lautstärkeregelung des Rauschens (zweite Audiodaten), 1 ist die ursprüngliche Lautstärke. Trimmen ist Trimmen, diesmal Trimmen von der 0. auf die 3. Sekunde.
Wenn es um Massenproduktion geht, denke ich, dass es mit for-Anweisungen ausgeführt wird. In Python können Sie Befehle mithilfe des Unterprozessmoduls ausführen. Daher dachte ich, es wäre gut, die for-Anweisung in dieser zu ändern, also habe ich den Code geschrieben. Ich denke, dass sich der Code abhängig von der Verzeichnisstruktur usw. ändern wird, also ist es nur ein Beispiel, aber es sieht wie folgt aus.
sox.py
import subprocess
for sound_idx in range(1,11):
for volume in range(1,11):
for noise_idx in range(1,11):
s_idx = str(sound_idx)
noise_volume = str(float(volume) / 10)
v = str(volume)
n = str(noise_idx)
cmd = f'sox -m sound_{s_idx}.wav -v{noise_volume} noise_{n}.wav {s_idx}_{v}_{n}.wav trim 0 3'
subprocess.check_output(cmd, shell=True)
Ich sollte es etwas schöner schreiben können, also nur als Referenz ...
Ein Fehler tritt auf, wenn die zu mischenden Daten und die Anzahl der Abtastraten unterschiedlich sind. Daher werde ich diesmal nicht schreiben, aber ich denke, dass es erforderlich sein kann, diesen Bereich mit SoX usw. anzupassen.
Referenz: http://webdatareport.hatenablog.com/entry/2016/11/06/161304
Recommended Posts