質問編集履歴

3

誤字

2018/10/14 08:35

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- Matlabで時間スケール変換を用いて音声の尺を長くするコード
1
+ Matlabで変換を用いて尺を長くする
test CHANGED
File without changes

2

誤字

2018/10/14 08:35

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,86 +1,8 @@
1
1
  ###前提・実現したいこと
2
2
 
3
- Matlabで時間スケール変換を用いて、音質は損なわずに音声データの尺を2倍長くしようとしています。実現できているのは、尺はそのままで音の高さを変えることです。
3
+ Matlabで時間スケール変換を用いて、音質は損なわずに音声データの尺を2倍長くしようとしています。
4
-
5
- 現状で困っているのは、尺をなんとなく2倍にできても音質(高さやノイズ)が変化してしまっている点です。
6
4
 
7
5
 
8
-
9
- [時間スケール変換に関する参考Webサイト](http://www.kumikomi.net/archives/2009/08/dsp.php)
10
-
11
-
12
-
13
- ###該当のソースコード
14
-
15
- (できていること)
16
-
17
- 1, stretch関数を作るためのコード
18
-
19
- ```Matlab
20
-
21
- %coef: stretch factor
22
-
23
- %Hs: synthesis hopsize
24
-
25
- %Ha: analysis hopsize
26
-
27
- function s = stretch(y, coef, Fs)
28
-
29
- [L, ~] = size(y); % total length of
30
-
31
- L = L -1; % usually involves zero
32
-
33
- N = fix(0.05*Fs); % 50msec frame
34
-
35
- Hs = floor(N/2); % fix size synthesis hopsize
36
-
37
- Ha = floor(Hs*coef); % define Ha with input coef
38
-
39
- numFrame = floor((L-N)/Ha); % number of analytic frame
40
-
41
- y2 = zeros(floor(L/coef),1);
42
-
43
- for i=1:numFrame-1
44
-
45
- xa = y(Ha*(i-1)+1:Ha*(i-1)+N);
46
-
47
- window = hanning(N);
48
-
49
- xa = xa .* window; % apply Hann window
50
-
51
- % reconstruct the synthesis frames
52
-
53
- y2(Hs*(i-1)+1:Hs*(i-1)+N) = y2(Hs*(i-1)+1:Hs*(i-1)+N) + xa(1:N);
54
-
55
- end
56
-
57
- end
58
-
59
- ```
60
-
61
-
62
-
63
- 2, 音声ファイルの音の高さを変えるためのコード
64
-
65
- ```Matlab
66
-
67
- %coef: stretch factor
68
-
69
- [y, Fs] = audioread('440.wav')
70
-
71
- coef = 2.0
72
-
73
- s = stretch(y, coef, Fs);
74
-
75
- sound(s, Fs);
76
-
77
- ```
78
-
79
-
80
-
81
- [音声ファイルのダウンロード元](http://www.mediacollege.com/audio/tone/download/)
82
-
83
- 440Hzの5秒のwavファイルを使っています。
84
6
 
85
7
 
86
8
 
@@ -102,8 +24,4 @@
102
24
 
103
25
  該当のソースコード1はそのままで、2を上記のように書き換えました。
104
26
 
105
- 今回は5秒の長さの音声ファイルを使っているので、色々試して、長さを2倍の10秒にるにはcoefが0.7くらいが当てはまりました
27
+ 今回は5秒の長さの音声ファイルを使っていす。
106
-
107
-
108
-
109
- また、coef(coefficient)という係数が鍵を握っていそうだというところまではつかめています。

1

coefについて

2018/10/14 08:07

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,7 @@
103
103
  該当のソースコード1はそのままで、2を上記のように書き換えました。
104
104
 
105
105
  今回は5秒の長さの音声ファイルを使っているので、色々試して、長さを2倍の10秒にするにはcoefが0.7くらいが当てはまりました。
106
+
107
+
108
+
109
+ また、coef(coefficient)という係数が鍵を握っていそうだというところまではつかめています。