teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

誤字

2020/11/06 16:32

投稿

Kiiki
Kiiki

スコア2

title CHANGED
@@ -1,1 +1,1 @@
1
- 音声ファイル(wavファイル)の複数読み込み
1
+ 音声ファイル(.wavファイル)の複数読み込み
body CHANGED
File without changes

1

プログラムの追加

2020/11/06 16:32

投稿

Kiiki
Kiiki

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,32 @@
1
1
  pythonで音声ファイルの処理をする際に、ファイルを1つ1つ読み込むのではなく、まとめてファイルを読み込みたいです。
2
2
 
3
3
  ひとつづつなら
4
+ ```python
4
- ```sound = AudioSegment.from_file("DR-100_0480.wav",format="wav")```
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
+ ```