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

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

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

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

解決済

M5Stack Core2でMP3再生を行うと、間延びしたいような音が出てくる。

MaeharaKenji
MaeharaKenji

総合スコア72

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。

1回答

0評価

0クリップ

1956閲覧

投稿2021/12/07 15:14

編集2021/12/07 22:08

M5Stack Core2で、こちらのサイトのように、SDカードに入ったMP3ファイルを読みだして、内蔵スピーカーに出力してみるプログラムをやっています。

下記のようなプログラムでビルドが成功して、実行してみてもこちらのフリーMP3素材の”パフ”という音声が間延びした音でしか出てきません。

このような現象をコード修正で解消できますでしょうか?
また、MP3ファイルのビットレートが192bpsなのですが、ビットレートの変更などは必要でしょうか?

この現象の解決方法をご教示の程宜しくお願い致します。

全体のソースはこちら

C++

// https://gist.github.com/mongonta0716/18c28bff2dc533d8b51903c939a66a61 #include <Arduino.h> #include <M5Core2.h> #include <driver/i2s.h> #include "AudioFileSourceSD.h" #include "AudioFileSourceID3.h" //#include "AudioGeneratorWAV.h" #include "AudioGeneratorMP3.h" #include "AudioOutputI2S.h" #include "sound.h" //AudioGeneratorWAV *wav = NULL; AudioGeneratorMP3 *mp3; AudioFileSourceSD *file; AudioOutputI2S *out; AudioFileSourceID3 *id3; #define BCLK_PIN 12 #define LRCK_PIN 0 #define SADTA_PIN 2 #define EXTERNAL_I2S 0 #define OUTPUT_GAIN 10 void sound_init(void) { M5.begin(); M5.Axp.SetSpkEnable(true); file = new AudioFileSourceSD("/mp3/pafu.mp3"); id3 = new AudioFileSourceID3(file); out = new AudioOutputI2S(I2S_NUM_0, EXTERNAL_I2S); // Output to builtInDAC out->SetPinout(BCLK_PIN, LRCK_PIN, SADTA_PIN); out->SetOutputModeMono(true); out->SetGain((float)OUTPUT_GAIN/100.0); mp3 = new AudioGeneratorMP3(); mp3->begin(id3, out); //wav = new AudioGeneratorWAV(); //wav->begin(id3, out); } void vSoundTask( void *pvParameters ); void sound_task_init(void) { xTaskCreatePinnedToCore( vSoundTask, "sound Task", 4096, NULL, 4, NULL, 0); } void vSoundTask( void *pvParameters ) { sound_init(); while(1) { #if 1 if (mp3->isRunning()) { if (!mp3->loop()) mp3->stop(); } else { Serial.printf("MP3 done\n"); delay(1000); sound_init(); //mp3->begin(id3, out); //delay(1000); } #endif vTaskDelay(100); } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

1T2R3M4

2021/12/07 23:31

>ビットレートの変更などは必要でしょうか 試してみればいいのではないでしょうか。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

M5Stack

M5Stackは、小型のマイコンモジュールです。拡張モジュールが豊富に用意されており、センサと組み合わせることで測定機能を自由に追加することができます。