[PYTHON] Wenn ein Amateur Anti-Phasen-Musik hörte, war es verwirrend und ruhig zu besuchen.

Ich war daran interessiert, Sprachanalysen zu programmieren, aber ich habe sie nie geschrieben, also habe ich es versucht.

Ich bin ein Amateur, aber ich weiß Folgendes, also wollte ich fragen, was passieren würde, wenn die Musik außer Phase wäre.

Zuerst dachte ich, ich würde es in Go schreiben, aber ich gab auf, weil ich kein schönes Paket hatte. ٩ (๑òωó๑) ۶ Ich werde es eines Tages schreiben

Ich habe Python verwendet, weil es eine Bibliothek namens "pydub" gab, die alles enthielt, was ich tun wollte. Wie erwartet Python. Das Analysesystem ist stark

Ich habe es tatsächlich geschrieben

Bang Bang Bang Bang Bang Bang Bang Bang Bang Bang Bang (∩` ・ ω ・) Bang Bang _ / _Mitsu /  ̄ ̄ ̄ /    \/___/ ̄ ̄

Vorbereitung

#Es scheint in Pydub verwendet zu werden
brew install ffmpeg

pip install pydub

#Wird zum Zeichnen der Wellenform verwendet
pip install matplotlib

** Verwendete Daten ** Chopin: Walzer Nr. 6 in Weird D-Dur Op.64-1 《Welpenwalzer》 http://classical-sound.seesaa.net/article/211557687.html Alles war in Ordnung, wenn es ein kurzes Lied war

Das erste was ich getan habe

Vorläufig hörte ich die Anti-Phasen-Musik, die der ursprüngliche Zweck war.

from pydub import AudioSegment
from pydub.playback import play

#Load an audio file
myAudioFile = "test.mp3"
sound1 = AudioSegment.from_mp3(myAudioFile)

# Invert phase of audio file
sound2 = sound1.invert_phase()

# play audio data
play(sound2)

(゚ д ゚) Poker (jetzt hören ...)

\ (^ O ^) / ... Ich verstehe den Unterschied nicht wirklich! !! \ (^ O ^) / ... Vielleicht war es nicht gut geschrieben! ??

Ich war mir nicht sicher, also habe ich versucht, die Wellenform zu zeichnen

from pydub import AudioSegment
from pydub.playback import play
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")

#Load an audio file
myAudioFile = "test.mp3"
sound1 = AudioSegment.from_mp3(myAudioFile)

plot audio data
data = np.array(sound1.get_array_of_samples())
x = data[::sound1.channels]
plt.plot(x[::100000])
plt.grid()
plt.show()

# Invert phase of audio file
sound2 = sound1.invert_phase()

plot audio data
data = np.array(sound2.get_array_of_samples())
xr = data[::sound2.channels]
plt.plot(xr[::100000])
plt.grid()
plt.show()

Eingegebene Daten Figure_1.png

Gegenphase Figure_2.png

Sicher ist die Phase umgekehrt.

Ist es wirklich außer Phase?

Trotzdem war ich besorgt und versuchte, Musikdaten zu synthetisieren. Wenn es wirklich phasenverschoben ist, sollte es still sein, wenn Sie die eingegebenen Musikdaten mit den phasenverschobenen Daten kombinieren! !!

from pydub import AudioSegment
from pydub.playback import play

#Load an audio file
myAudioFile = "test.mp3"
sound1 = AudioSegment.from_mp3(myAudioFile)

# Invert phase of audio file
sound2 = sound1.invert_phase()

#Merge two audio files
combined = sound1.overlay(sound2)

# play audio data
play(combined)

Oh, kein Ton! !! Σ (゜ □ ゜)

Diagrammergebnis nach Synthese

Figure_3.png

Finale Form

from pydub import AudioSegment
from pydub.playback import play
import numpy as np
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")

#Load an audio file
myAudioFile = "test.mp3"
sound1 = AudioSegment.from_mp3(myAudioFile)

plot audio data
data = np.array(sound1.get_array_of_samples())
x = data[::sound1.channels]
plt.plot(x[::100000])
plt.grid()
plt.show()

# play
play(sound1)

# Invert phase of audio file
sound2 = sound1.invert_phase()

plot audio data
data = np.array(sound2.get_array_of_samples())
xr = data[::sound2.channels]
plt.plot(xr[::100000])
plt.grid()
plt.show()

# play audio data
play(sound2)

# Export merged audio file
sound2.export("invert_phase.mp3", format="mp3")

#Merge two audio files
combined = sound1.overlay(sound2)

data = np.array(combined.get_array_of_samples())
xr = data[::combined.channels]
plt.plot(xr[::100000])
plt.grid()
plt.show()

# play audio data
play(combined)

# #Export merged audio file
combined.export("combined.mp3", format="mp3")

Fazit

Es fühlt sich seltsam an, aber ich konnte den Unterschied nicht erkennen, wenn ich nur die Anti-Phasen-Musik hörte. Ich werde ein bisschen mehr lernen und von vorne anfangen. Ich denke, dass Sie es reproduzieren können, indem Sie den Artikel verfolgen. Wenn Sie also interessiert sind, versuchen Sie es bitte

Recommended Posts

Wenn ein Amateur Anti-Phasen-Musik hörte, war es verwirrend und ruhig zu besuchen.
Als ich versuchte, PIL und matplotlib in einer virtuellen Umgebung zu installieren, war ich süchtig danach.
Es war gefährlich, beim Generieren einer symbolischen Verknüpfung einen relativen Pfad anzugeben
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich war überrascht, eine nette Rezension zu erhalten, als ich Python an CheckIO und seine Erklärung schrieb