国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

語(yǔ)音特征提取與預(yù)處理

這篇具有很好參考價(jià)值的文章主要介紹了語(yǔ)音特征提取與預(yù)處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

導(dǎo)入相關(guān)包?

import librosa
import librosa.display
import soundfile as sf
import numpy as np
import matplotlib.pyplot as plt
from playsound import playsound

語(yǔ)音讀取與顯示

file_path = 'test1.wav'
data, fs = librosa.load(file_path, sr=None, mono=True)
librosa.display.waveshow(data)

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

?端點(diǎn)檢測(cè)(去除前后靜音段)

原理:將每幀均方根能量與全局最大均方根能量進(jìn)行比較。

y, fs = librosa.load(file_path, sr=16000)
yt, index = librosa.effects.trim(y, top_db=30)

fig, axis = plt.subplots(nrows=2, ncols=1, sharex=True, sharey=True)
librosa.display.waveshow(y, sr=fs, ax=axis[0])
librosa.display.waveshow(yt, sr=fs, ax=axis[1], offset=index[0] / fs)

sf.write('test_trim.wav', yt, fs)
playsound('test1.wav')
playsound('test_trim.wav')

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

?端點(diǎn)檢測(cè)(包含語(yǔ)音內(nèi)部)

y, fs = librosa.load(file_path, sr=16000)
intervals = librosa.effects.split(y, top_db=20)
fig, axis = plt.subplots(2, 1, sharex=True, sharey=True)

librosa.display.waveshow(y, sr=fs, ax=axis[0])
y_dst = np.zeros_like(y)
for i in range(len(intervals)):
    y_dst[intervals[i][0] : intervals[i][1]] =  y[intervals[i][0] : intervals[i][1]]
librosa.display.waveshow(y_dst, sr=fs, ax=axis[1])

# y_remix = librosa.effects.remix(y, intervals)
# librosa.display.waveshow(y_remix, sr=fs, ax=axis[1], offset=intervals[0][0] / fs)

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

?頻域分析

y, fs = librosa.load('test1.wav', sr = 16000)
frame_t = 25 # 25ms幀長(zhǎng)
hop_length_t = 10 # 10ms步進(jìn)

win_length = int(frame_t * fs / 1000)
hop_length = int(hop_length_t * fs / 1000)
n_fft = int(2**np.ceil(np.log2(win_length)))

S = np.abs(librosa.stft(y, n_fft=n_fft, hop_length=hop_length, win_length=win_length))
print(S.shape)

# 直接顯示
fig = plt.figure(1)
plt.imshow(S, origin='lower', cmap='hot') # 由于fft結(jié)果較大的值集中在低頻部分所以顯示并不明顯

# 自己寫程序?qū)崿F(xiàn)
S = librosa.amplitude_to_db(S, ref=np.max)
D, N = S.shape
range_D = np.arange(0, D, 20)
range_N = np.arange(0, N, 20)
range_f = range_D * (fs / n_fft)
range_t = range_N * (hop_length / fs)
fig = plt.figure(2)
plt.xticks(range_N, range_t)
plt.yticks(range_D, range_f)
plt.imshow(S, origin='lower', cmap='hot')
plt.colorbar()

# 調(diào)用內(nèi)置顯示程序
fig = plt.figure(3)
librosa.display.specshow(S, y_axis='linear', x_axis='time', hop_length=hop_length, sr=fs)
plt.colorbar()

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

預(yù)加重

?高通濾波,彌補(bǔ)高頻部分的損耗,保護(hù)了聲道信息:y[n] -> y[n] - coef * y[n-1]。

y, fs = librosa.load('test_split.wav', sr = None)
win_length = 512
hop_length = 160
n_fft = 512

S = librosa.stft(y, n_fft=n_fft, hop_length = hop_length, win_length=win_length)
S = librosa.amplitude_to_db(np.abs(S))

y_filt = librosa.effects.preemphasis(y)
sf.write('test_split_preemphasis.wav', y_filt, fs)
S_preemp = librosa.stft(y_filt, n_fft=n_fft, hop_length = hop_length, win_length=win_length)
S_preemp = librosa.amplitude_to_db(np.abs(S_preemp))

fig, axis = plt.subplots(2, 1, sharex=True, sharey=True)
librosa.display.specshow(S, sr=fs, hop_length=hop_length, y_axis='linear', x_axis='time', ax=axis[0])
axis[0].set(title='original signal')

img = librosa.display.specshow(S_preemp, sr=fs, hop_length=hop_length, y_axis='linear', x_axis='time', ax=axis[1])
axis[1].set(title='preemphasis signal')

plt.colorbar(img, ax=axis, format="%+2.fdB")

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

Filter Bank:梅爾譜特征

梅爾濾波器:

y, fs = librosa.load('test_split.wav', sr = None)
win_length = 512
hop_length = 160
n_fft = 512
n_mels = 40

# 梅爾濾波器組
melfb = librosa.filters.mel(sr=fs, n_fft=n_fft, n_mels=n_mels)
print(melfb.shape)

x = np.arange(melfb.shape[1]) * fs / n_fft
plt.plot(x, melfb.T)
plt.show()

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

?梅爾譜:

S = np.abs(librosa.stft(y, n_fft=n_fft, hop_length = hop_length, win_length=win_length))
print(S.shape)
fbank = melfb.dot(S)
print(fbank.shape)
print(fbank)

#內(nèi)置函數(shù)
fbank = librosa.feature.melspectrogram(y=y, sr=fs, n_fft=n_fft, win_length=win_length, hop_length=hop_length, n_mels=n_mels)
print(fbank.shape)
print(fbank)

fig = plt.figure()
fbank_db = librosa.power_to_db(fbank, ref=np.max)
img = librosa.display.specshow(fbank_db, x_axis='time', y_axis='mel', sr=fs, fmax=fs/2)
fig.colorbar(img, format='%+2.0f dB')
plt.title('Mel-frequency spectrogram')

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

?MFCC特征

y, fs = librosa.load('test1.wav', sr=16000)
win_length = 512
hop_length = 160
n_fft = 512
n_mels = 128
n_mfcc = 20
mfcc = librosa.feature.mfcc(y=y,
                           sr=fs,
                           win_length=win_length,
                           hop_length=hop_length,
                           n_fft=n_fft,
                           n_mels=n_mels,
                           dct_type=1)
# 特征值增加差分量
# 一階差分
mfcc_deta = librosa.feature.delta(mfcc)
# 二階差分
mfcc_deta2 = librosa.feature.delta(mfcc, order=2)
# 特征拼接
mfcc_d1_d2 = np.concatenate([mfcc, mfcc_deta, mfcc_deta2], axis=0)

# 頻譜顯示
fig = plt.figure()
img = librosa.display.specshow(mfcc_d1_d2, x_axis='time', hop_length=hop_length, sr=fs)
fig.colorbar(img)
plt.show()

語(yǔ)音特征提取與預(yù)處理,python與人工智能-應(yīng)用篇,語(yǔ)音讀取與顯示,語(yǔ)音特征提取,梅爾濾波器,梅爾譜特征,MFCC特征

參考語(yǔ)音特征提取與預(yù)處理_嗶哩嗶哩_bilibili?

資料及源碼:SpeechProcessing: 語(yǔ)音處理 - Gitee.com?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-695444.html

到了這里,關(guān)于語(yǔ)音特征提取與預(yù)處理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python機(jī)器學(xué)習(xí)(三)特征預(yù)處理、鳶尾花案例--分類、線性回歸、代價(jià)函數(shù)、梯度下降法、使用numpy、sklearn實(shí)現(xiàn)一元線性回歸

    python機(jī)器學(xué)習(xí)(三)特征預(yù)處理、鳶尾花案例--分類、線性回歸、代價(jià)函數(shù)、梯度下降法、使用numpy、sklearn實(shí)現(xiàn)一元線性回歸

    數(shù)據(jù)預(yù)處理的過(guò)程。數(shù)據(jù)存在不同的量綱、數(shù)據(jù)中存在離群值,需要穩(wěn)定的轉(zhuǎn)換數(shù)據(jù),處理好的數(shù)據(jù)才能更好的去訓(xùn)練模型,減少誤差的出現(xiàn)。 標(biāo)準(zhǔn)化 數(shù)據(jù)集的標(biāo)準(zhǔn)化對(duì)scikit-learn中實(shí)現(xiàn)的大多數(shù)機(jī)器學(xué)習(xí)算法來(lái)說(shuō)是常見(jiàn)的要求,很多案例都需要標(biāo)準(zhǔn)化。如果個(gè)別特征或多或

    2024年02月16日
    瀏覽(24)
  • 大數(shù)據(jù)的4v特征、數(shù)據(jù)預(yù)處理

    大數(shù)據(jù)的4v特征、數(shù)據(jù)預(yù)處理

    一、大數(shù)據(jù)的4v特征 大數(shù)據(jù)的4v特征主要包含規(guī)模性(Volume)、多樣性(Variety)、高速性(Velocity)、價(jià)值性(Value) 1、規(guī)模性(Volume) 大數(shù)據(jù)中的數(shù)據(jù)計(jì)量單位是PB(1千個(gè)T)、EB(1百萬(wàn)個(gè)T)或ZB(10億個(gè)T)。 2、多樣性(Variety) 多樣性主要體現(xiàn)在數(shù)據(jù)來(lái)源多、數(shù)據(jù)類型多

    2024年02月07日
    瀏覽(91)
  • 機(jī)器學(xué)習(xí)基礎(chǔ) 數(shù)據(jù)集、特征工程、特征預(yù)處理、特征選擇 7.27

    無(wú)量綱化 1.標(biāo)準(zhǔn)化 2.歸一化 信息數(shù)據(jù)化 1.特征二值化 2. Ont-hot編碼 3.缺失數(shù)據(jù)補(bǔ)全 1.方差選擇法 2.相關(guān)系數(shù)法

    2024年02月14日
    瀏覽(32)
  • 高基數(shù)類別特征預(yù)處理:平均數(shù)編碼

    對(duì)于一個(gè)類別特征,如果這個(gè)特征的取值非常多,則稱它為高基數(shù)(high-cardinality)類別特征。在深度學(xué)習(xí)場(chǎng)景中,對(duì)于類別特征我們一般采用Embedding的方式,通過(guò)預(yù)訓(xùn)練或直接訓(xùn)練的方式將類別特征值編碼成向量。在經(jīng)典機(jī)器學(xué)習(xí)場(chǎng)景中,對(duì)于有序類別特征,我們可以使用

    2024年02月11日
    瀏覽(24)
  • 文本預(yù)處理技巧:去除停用詞、詞形還原、詞干提取等

    文本預(yù)處理是自然語(yǔ)言處理中非常重要的一步,它是為了使得文本數(shù)據(jù)能夠被機(jī)器學(xué)習(xí)模型所處理而進(jìn)行的一系列操作。其中,去除停用詞、詞形還原、詞干提取等技巧是比較常用的。本文將介紹這些技巧的原理,并提供使用Python實(shí)現(xiàn)的代碼示例,幫助讀者更好地理解和實(shí)踐

    2024年02月05日
    瀏覽(40)
  • 大數(shù)據(jù)HCIE成神之路之?dāng)?shù)據(jù)預(yù)處理(6)——特征編碼

    提問(wèn):什么是獨(dú)熱編碼? 回答:獨(dú)熱編碼是一種常用的數(shù)據(jù)編碼方法,用于將分類變量轉(zhuǎn)換為 二進(jìn)制 的表示形式。它將每個(gè)類別表示為一個(gè)只包含 0和1 的二進(jìn)制向量,其中每個(gè)類別對(duì)應(yīng)一個(gè)維度,維度上的值為1表示該 樣本屬于該類別 ,為0表示 不屬于該類別 。 對(duì)于離散

    2024年02月03日
    瀏覽(25)
  • 高基數(shù)類別特征預(yù)處理:平均數(shù)編碼 | 京東云技術(shù)團(tuán)隊(duì)

    高基數(shù)類別特征預(yù)處理:平均數(shù)編碼 | 京東云技術(shù)團(tuán)隊(duì)

    對(duì)于一個(gè)類別特征,如果這個(gè)特征的取值非常多,則稱它為高基數(shù)(high-cardinality)類別特征。在深度學(xué)習(xí)場(chǎng)景中,對(duì)于類別特征我們一般采用Embedding的方式,通過(guò)預(yù)訓(xùn)練或直接訓(xùn)練的方式將類別特征值編碼成向量。在經(jīng)典機(jī)器學(xué)習(xí)場(chǎng)景中,對(duì)于有序類別特征,我們可以使用

    2024年02月10日
    瀏覽(21)
  • 【ResNet18】on IEMOCAP—語(yǔ)音情感識(shí)別(預(yù)處理篇)

    【ResNet18】on IEMOCAP—語(yǔ)音情感識(shí)別(預(yù)處理篇)

    在開(kāi)始模型訓(xùn)練前,一定要對(duì)數(shù)據(jù)處理熟悉! ? 一、預(yù)處理: 1、IEMOCAP語(yǔ)音數(shù)據(jù)部分 按照人(1F,1M,2F,2M,3F,3M,4F,4M,5F,5M): ang有語(yǔ)音數(shù)量:[147, 82, 67, 70, 92, 148, 205, 122, 78, 92] exc有語(yǔ)音數(shù)量:[63, 80, 96, 114, 48, 103, 154, 84, 82, 217] hap有語(yǔ)音數(shù)量:[69, 66, 70, 47, 80, 55, 31, 34, 77, 66] neu有語(yǔ)

    2024年02月08日
    瀏覽(22)
  • 數(shù)據(jù)預(yù)處理與模型評(píng)估【機(jī)器學(xué)習(xí)、人工智能、實(shí)際事例】

    在機(jī)器學(xué)習(xí)領(lǐng)域,數(shù)據(jù)預(yù)處理和模型評(píng)估是兩個(gè)至關(guān)重要的步驟。它們確保我們構(gòu)建的機(jī)器學(xué)習(xí)模型能夠從數(shù)據(jù)中有效地學(xué)習(xí)并做出準(zhǔn)確的預(yù)測(cè)。本文將詳細(xì)介紹數(shù)據(jù)預(yù)處理和模型評(píng)估的概念,并通過(guò)現(xiàn)實(shí)中的例子來(lái)闡述它們之間的密切關(guān)系。 什么是數(shù)據(jù)預(yù)處理? 數(shù)據(jù)預(yù)處

    2024年02月07日
    瀏覽(103)
  • 第五篇【傳奇開(kāi)心果系列】Python文本和語(yǔ)音相互轉(zhuǎn)換庫(kù)技術(shù)點(diǎn)案例示例:詳細(xì)解讀pyttsx3的`preprocess_text`函數(shù)文本預(yù)處理。

    第五篇【傳奇開(kāi)心果系列】Python文本和語(yǔ)音相互轉(zhuǎn)換庫(kù)技術(shù)點(diǎn)案例示例:詳細(xì)解讀pyttsx3的`preprocess_text`函數(shù)文本預(yù)處理。

    pyttsx3在文本轉(zhuǎn)換語(yǔ)音之前,首先要開(kāi)展系列步驟的文本預(yù)處理工作。 這些預(yù)處理步驟可以在使用 pyttsx3 之前應(yīng)用于文本,以提高轉(zhuǎn)換結(jié)果的質(zhì)量和可讀性。預(yù)處理后的文本更干凈、準(zhǔn)確,可以更好地用于語(yǔ)音轉(zhuǎn)換。pyttsx3主要使用 preprocess_text 函數(shù)開(kāi)展文本預(yù)處理。 下面是一

    2024年02月22日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包