サウンドスペクトログラムの縦軸の目盛りをlogから通常(?)の目盛りに変更したいです。
(64, 128, 256.....ではなく、1000, 2000, 3000.....にしたいです)
# -*- coding: utf-8 -*- from __future__ import print_function import librosa import librosa.display import numpy as np import matplotlib.pyplot as plt # ファイル読込 y, sr = librosa.load('20-20kHz48kHz16bit.wav') # 短時間フーリエ変換 S = np.abs(librosa.stft(y)) # 画像出力 plt.figure(figsize=(10,6)) librosa.display.specshow(librosa.amplitude_to_db(S, ref=np.max), y_axis='log', x_axis='time') plt.title('Power spectrogram') plt.colorbar(format='%+2.0f dB') plt.tight_layout() plt.show() #Axesを描画する領域(Figure)を作成 fig = plt.figure(facecolor = "lightgray") #https://jonkara.net/2018/10/07/librosa/ #https://python.atelierkobato.com/matplotlib/ #np.savetxt("ab.csv", S, delimiter=",") np.savetxt("20-20kHz.csv", S, fmt="%.3f",delimiter=",") #%0.5fだと小数点以下5桁まで出力 コード
これを出力して得られる画像が以下のものです。
このように、縦軸がlog表示になっております。これを、1000, 2000, 3000...という目盛りに変更したいです。
おそらく、コード中のy_axis='log'をいじればよいのでしょうが、どのように書けばよいのか調べてもわからず、お手上げ状態です。よろしければご教示ください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/26 09:59