質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2440閲覧

python 生成したwavデータを一つのフォルダに入れたい

motimotitarou

総合スコア2

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/10/13 02:54

import

1import numpy as np 2import pandas as pd 3import librosa 4import librosa.display 5import matplotlib.pyplot as plt 6import seaborn as sn 7from sklearn import model_selection 8from sklearn import preprocessing 9import IPython.display as ipd 10 11base_dir = "./" 12esc_dir = os.path.join(base_dir, "ESC-50") 13meta_file = os.path.join(esc_dir,"meta/音声データラベル分け.csv") 14audio_dir = os.path.join(esc_dir, "音声データwav/") 15 16meta_data = pd.read_csv(meta_file) 17 18print(meta_data) 19 20data_size = meta_data.shape 21print(data_size) 22 23def load_wave_data(audio_dir, file_name): 24 file_path = os.path.join(audio_dir, file_name) 25 x, fs = librosa.load(file_path, sr=44100) 26 return x,fs 27 28def add_white_noise(x, rate=0.002): 29 return x + rate*np.random.randn(len(x)) 30 31def shift_sound(x, rate=2): 32 return np.roll(x, int(len(x)//rate)) 33 34def stretch_sound(x, rate=1.1): 35 input_length = len(x) 36 x = librosa.effects.time_stretch(x,rate) 37 if len(x)>input_length: 38 return x[:input_length] 39 else: 40 return np.pad(x, (0, max(0, input_length - len(x))), "constant") 41 42for i in range(64): 43 x, fs = load_wave_data(audio_dir, meta_data.loc[i, "filename"]) 44 x_wn = add_white_noise(x) 45 x_s = shift_sound(x) 46 x_ss=stretch_sound(x) 47 ipd.display(ipd.Audio(x_s, rate=fs)) #x_sのみコンソールに表示 48 49#ストレッチ、ノイズ、シフトの音源を生成

このコードを使ってwavデータのAugumentationをしています。
Augumentationしたデータをコンソールに表示するのにipd.display(ipd.Audio(x_s, rate=fs))を使っています。
ここで生成されたwavを一つのフォルダ(名前はなんでもいい)にまとめたいです。どのようにすれば一つのフォルダに入れることができますか?
何かヒントになる記事や、解決策がありましたら、ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ppaul

2021/10/13 03:11

出力ができないのですか、それとも一つのフォルダに入らないのですか?
motimotitarou

2021/10/13 04:45

書いてあるコードの出力は確認できます。 1つのフォルダにいれる部分をどのようにすればいいのかわからないという質問でした。 x_wn, x_s, x_ssがそれぞれAugumentationされたものになるのですが、これを適当なフォルダの中にwavファイルとして出力させたいというものです。
ppaul

2021/10/13 05:07

出力と言っているのは、wavファイルに書き出すことです。 一つのファイルをwavファイルに書き出すことはできていますか?
motimotitarou

2021/10/13 05:36

書き出すことできてないです。
guest

回答1

0

ベストアンサー

AttributeError: module 'librosa' has no attribute 'output'には、soundfileモジュールのwriteを使えと書いてあります。

投稿2021/10/13 06:01

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

motimotitarou

2021/10/13 08:47

そちらの記事で解決できました。 ほんとにありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問