質問編集履歴
2
誤字
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
音声ファイル(wavファイル)の複数読み込み
|
1
|
+
音声ファイル(.wavファイル)の複数読み込み
|
body
CHANGED
File without changes
|
1
プログラムの追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,8 +1,32 @@
|
|
1
1
|
pythonで音声ファイルの処理をする際に、ファイルを1つ1つ読み込むのではなく、まとめてファイルを読み込みたいです。
|
2
2
|
|
3
3
|
ひとつづつなら
|
4
|
+
```python
|
4
|
-
|
5
|
+
sound = AudioSegment.from_file("001.wav",format="wav")
|
6
|
+
```
|
5
7
|
で読み込みができるのですが、
|
6
8
|
これに対して、複数ファイル(例えば、001.wav, 002.wav, 003.wavの3つのファイルがあったとして)を001.wavから順番に読み込む方法をご教授いただきたいです。
|
7
9
|
|
8
|
-
pythonは初心者で、基礎的な質問失礼いたします。よろしくお願い致します。
|
10
|
+
pythonは初心者で、基礎的な質問失礼いたします。よろしくお願い致します。
|
11
|
+
|
12
|
+
|
13
|
+
※ちなみに、以下のようなプログラムを001.wav, 002.wav, 003.wavの順番に読み込んで実行したいと思っています。
|
14
|
+
(1つの音声ファイルから音声を空白で切り取って、切り取った音声ごとにファイルに書き出す処理です。)
|
15
|
+
|
16
|
+
```python
|
17
|
+
from pydub import AudioSegment
|
18
|
+
from pydub.silence import split_on_silence
|
19
|
+
|
20
|
+
|
21
|
+
# wavファイルのデータ取得
|
22
|
+
|
23
|
+
sound = AudioSegment.from_file("001.wav",format="wav")
|
24
|
+
|
25
|
+
# wavデータの分割(無音部分で区切る)
|
26
|
+
chunks = split_on_silence(sound, min_silence_len=1000, silence_thresh=-50, keep_silence=400)
|
27
|
+
|
28
|
+
|
29
|
+
# 分割したデータ毎にファイルに出力
|
30
|
+
for i, chunk in enumerate(chunks):
|
31
|
+
chunk.export("out" + str(i+1) +".wav", format="wav")
|
32
|
+
```
|