python - Comment exprimer l'intensité (volume) d'un morceau de discours?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-18 10:59:32
0
1
767

Je souhaite analyser l'intensité (le volume) de la parole à travers un morceau de discours.

Parce que je suis un chien d'ingénierie plutôt qu'un chien de science, et que je suis un étranger dans l'analyse des signaux audio, je n'ai que brièvement examiné la FFT, donc je ne me sens pas sûr de ma propre méthode d'analyse de l'intensité de la voix. J'espère qu'un expert dans ce domaine pourra vous guider. Merci beaucoup! ! !

Voici mon processus d'obtention de données de signal vocal. Le fichier vocal 123.wav provient du transcodage mp3 synthétisé par Baidu, donc même s'il y a du bruit dans cette voix, il devrait être minime. Il n'est pas nécessaire de le filtrer ici (même s'il est filtré, je ne sais pas). quel devrait être le coefficient de filtre). Je suppose qu'il ne devrait y avoir aucun problème à ce stade ?

# -*- coding: utf-8 -*-
import numpy as np
import pylab as pl
import wave
f = wave.open("/home/dyan/123.wav", "rb")
# 读取格式信息
# (nchannels, sampwidth, framerate, nframes, comptype, compname)
params = f.getparams()
nchannels, sampwidth, framerate, nframes = params[:4]
# 读取波形数据
str_data = f.readframes(nframes)
f.close()
wave_data = np.fromstring(str_data, dtype=np.short)
# 在时间轴上画波形图
# 以上nchannels=1, sampwidth=2, framerate=16000
lenth=len(wave_data)
ti=lenth/16000.0
t = np.arange(0, ti, ti/lenth)
pl.plot(t,wave_data)
pl.show()

Graphique de forme d'onde (la durée est d'environ 1,8 s)
J'espère notifier l'intensité de la voix lors de la lecture de cette voix, mais évidemment la fréquence est trop rapide, et elle ne devrait pas être si rapide. Par exemple, les statistiques une fois. toutes les 0,2 s peuvent être plus appropriées.
J'ai 2 idées, mais je ne suis pas sûr et je ne me sens pas en sécurité :

1、每0.2s求振幅绝对值平均值。
2、每0.2s取振幅绝对值最大值。

Je ne comprends pas le traitement du signal audio, donc je ne sais pas si l'une de ces deux solutions peut représenter l'intensité de la parole. Ou devrait utiliser d'autres méthodes.

En résumé, 2 questions :

1、这样获取波形数据wav_data是否正确?
2、怎样表达这段语音的强度(响度)?
曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(1)
仅有的幸福

Le son est une onde de vibration mécanique

Son intensité est l'amplitude

Les aigus et les basses sont des fréquences

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal