コメントはまだありません概要Pythonでは、PydubのAudioSegmentを使って音声データを読み込み・加工したり、保存したりすることができます。Numpy等のデータの状態からAudioSegmentを作成する方法が分からなかったので調べて整理すると共に、音声データのスペクトルに乱数ノイズを加えた際に音声データにどのような影響が出るのかを検討しました。音声ファイルは前回同様、スーパーマリオ64のウォーターランドの曲を使わせていただきました。http://own-search-and-study.xyz/wp-content/uploads/2017/10/ウォーターランド.m4ahttps://www.nintendo.co.jp/ds/series/dsi/menu/sound/download.html前回の記事(AudioSegmentを用いた音声の読み込みやフーリエ変換を用いたスペクトログラムの作成)はこちら。調べたら以下サイトに書いてありました。channels=2)どうやら配列をByte型に変換した物と、その他の設定値(bit数とフレームレート、ステレオ・モノラル)を指定すればいいようです。保存は以下のようにexpertコマンドで可能のようです。cover="/path/to/albumcovers/radioheadthebends.jpg")サンプルデータを使って試してみます。format="mp3")配列はsample_widthに合わせて、int16等の型に設定する必要があることに留意してください。保存できたファイルは以下。参考として、フーリエ変換して得られたスペクトルデータにノイズを乗せ、それを逆変換して得られる音声データがどのようになるかを検証しました。ノイズの幅であるn_ampとn_argを変えながら検証します。format="mp3")n_ampを変えた場合まずは振幅についてだけノイズを加えてみます。後ろに雑音が乗るという感じですね。次に偏角についてだけノイズを加えてみます。振幅の場合より影響が大きく、なんだか酔いそうな感じです。最後に両方にノイズを加えてみます。両方の影響を重ねあわせたという感じです。場合http://own-search-and-study.xyz/wp-content/uploads/2017/11/test_3.0_3.0.mp3まとめNumpy等のデータの状態からAudioSegmentを作成する方法と、音声データのスペクトルに乱数ノイズを加えた際に音声データにどのような影響が出るのかを検討し整理しました。偏角のノイズが1.0を超えたあたりからだいぶ聞き取りにくくなるようですね。予測をしていく時は、偏角の誤差を小さくできるように(RMSE1.0以下)務めたほうが良さそうです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。プロフィール兵庫県在住の30代データサイエンティスト。Pythonを使った機械学習等によるデータ分析や、ウェブアプリ等のシステム開発に取り組んでいます。