質問編集履歴

3

1203

2019/04/16 17:21

投稿

koikogarey
koikogarey

スコア52

test CHANGED
File without changes
test CHANGED
@@ -4,145 +4,7 @@
4
4
 
5
5
  pydubを用いてmp3(.aif.aac.flac)をwavに変換したい。
6
6
 
7
- 変換する際には
8
-
9
- ・ビットレート16000
10
-
11
- ・ステレオの場合は、モノラルに指定
12
-
13
- 上記2点を加味したいです。
14
-
15
-
16
-
17
- ### 実現したい変換事例 全て16000 モノラルのwavに変換
18
-
19
- .aif → 16000 モノラルのwav
20
-
21
- .aac → 16000 モノラルのwav
22
-
23
- .flac → 16000 モノラルのwav
24
-
25
- .mp3 → 16000 モノラルのwav
26
-
27
- ステレオや16000以外のビットレート.WAV  → 16000 モノラルのwav
28
-
29
-
30
-
31
-
32
-
33
- ### ためしたけどできなかったこと2つ
34
-
35
-
36
-
37
- ひとつめ 変換方法
38
-
39
-
40
-
41
- mp3からwav変換コードは書きましたが
42
-
43
- ステレオの指定がpydubわかりませんでした。
44
-
45
- また他のファイルの変換方法がわかりませんでした。
46
-
47
- ビットレートの指定方法は16000にしたいのですが、
48
-
49
- これであっているか不明でした。
50
-
51
-
52
-
53
- ### ためしたけど実現できなかったソース1
54
-
55
- ```ここに言語を入力
7
+ ```ここに言語を入力```
56
-
57
- # -*- coding: utf-8 -*-
58
-
59
- import pydub
60
-
61
-
62
-
63
- #mp3をwavに変換
64
-
65
- sound = pydub.AudioSegment.from_mp3("input.mp3")
66
-
67
- sound.export("output.wav", format="wav" bitrate="16000")
68
-
69
-
70
-
71
- ```
72
-
73
- ふたつめ ファイル指定方法
74
-
75
-
76
-
77
- もしも該当ファイルが.aif.aac.flac.mp3であればwavへ変換という処理を追加したいです。
78
-
79
- それ以外であれば何もしないという処理がわかりませんでした。
80
-
81
- 拡張子を取る所まではいきましたが
82
-
83
- そこから
84
-
85
- ①.aif.aac.flac.mp3wavかどうかを判定し
86
-
87
- ②音声であれば16000のモノラルのwavに変換し
88
-
89
- ③そうでなければhogehogeというエラーを返したいです。
90
-
91
-
92
-
93
- ### ためしたけど実現できなかったソース2 拡張子ゲット
94
-
95
- ```ここに言語を入力
96
-
97
- >>> import os.path
98
-
99
- >>> filename = "hoge.mp3"
100
-
101
- >>> filename
102
-
103
- 'hoge.mp3'
104
-
105
- >>> name, ext = os.path.splitext(filename)
106
-
107
- >>> name
108
-
109
- 'hoge'
110
-
111
- >>> ext
112
-
113
- '.mp3'
114
-
115
- ```
116
-
117
-
118
-
119
- ### エラー内容
120
-
121
- ```ここに言語を入力
122
-
123
- /.local/lib/python3.5/site-packages/pydub/utils.py:165: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
124
-
125
- warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
126
-
127
-
128
-
129
- ```
130
-
131
- ### エラー対象コード
132
-
133
-
134
-
135
- ```ここに言語を入力
136
-
137
- # -*- coding: utf-8 -*-
138
-
139
- from pydub import AudioSegment
140
-
141
- sound = AudioSegment.from_file("input.wav", "wav")
142
-
143
- sound.export("output.wav", format="wav", bitrate="16000")
144
-
145
- ```
146
8
 
147
9
 
148
10
 

2

2019/04/16 17:21

投稿

koikogarey
koikogarey

スコア52

test CHANGED
File without changes
test CHANGED
@@ -116,6 +116,36 @@
116
116
 
117
117
 
118
118
 
119
+ ### エラー内容
120
+
121
+ ```ここに言語を入力
122
+
123
+ /.local/lib/python3.5/site-packages/pydub/utils.py:165: RuntimeWarning: Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work
124
+
125
+ warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", RuntimeWarning)
126
+
127
+
128
+
129
+ ```
130
+
131
+ ### エラー対象コード
132
+
133
+
134
+
135
+ ```ここに言語を入力
136
+
137
+ # -*- coding: utf-8 -*-
138
+
139
+ from pydub import AudioSegment
140
+
141
+ sound = AudioSegment.from_file("input.wav", "wav")
142
+
143
+ sound.export("output.wav", format="wav", bitrate="16000")
144
+
145
+ ```
146
+
147
+
148
+
119
149
  ### 参考にしたURL
120
150
 
121
151
  https://github.com/jiaaro/pydub

1

ついき

2019/04/09 15:36

投稿

koikogarey
koikogarey

スコア52

test CHANGED
File without changes
test CHANGED
@@ -62,9 +62,9 @@
62
62
 
63
63
  #mp3をwavに変換
64
64
 
65
- sound = pydub.AudioSegment.from_wav("input.wav")
65
+ sound = pydub.AudioSegment.from_mp3("input.mp3")
66
66
 
67
- sound.export("output.mp3", format="mp3" bitrate="16000")
67
+ sound.export("output.wav", format="wav" bitrate="16000")
68
68
 
69
69
 
70
70
 
@@ -78,11 +78,19 @@
78
78
 
79
79
  それ以外であれば何もしないという処理がわかりませんでした。
80
80
 
81
+ 拡張子を取る所まではいきましたが
82
+
83
+ そこから
84
+
85
+ ①.aif.aac.flac.mp3wavかどうかを判定し
86
+
87
+ ②音声であれば16000のモノラルのwavに変換し
88
+
81
- すこしスマート方法があるした。
89
+ ③そければhogehogeというエラーを返したいです
82
90
 
83
91
 
84
92
 
85
- ### ためしたけど実現できなかったソース2
93
+ ### ためしたけど実現できなかったソース2 拡張子ゲット
86
94
 
87
95
  ```ここに言語を入力
88
96