編集履歴一覧に戻る
chrmlinux03のアイコン画像

chrmlinux03 が 2024年01月31日11時20分24秒 に編集

ソース抜けてた(汗

本文の変更

# はじめに こんにちわっ リナちゃん X@chrmlinux03 です ++このページは SPRESENSE2023コンテストで作った製品を紹介するものです 最初に [開発まとめ](https://elchika.com/article/e96011d0-d280-49e2-a68c-dd3c183a204e/) をお読みいただければ幸いです++ # ベッドに入って眠れない日々があった TVを付けて寝てしまう事も多々あり でも静かな曲を聴きながら寝入る事もある って言うかガッツリ寝てるぢゃん💦 # フェーダー状のポテンショメータとの出会い @[twitter](https://twitter.com/chrmlinux03/status/1735176245401596220?s=20) お仕事(センサ屋)でミキサー卓のようなポテンショメータを貰った 👉[ポテンショメータ](https://amzn.to/3ujvfOC) 「おおっ」これは沢山あればミキサーっぽいのが創れる で、あればこれを複数まとめれば沢山の音がならせるぢゃん💕 @[twitter](https://twitter.com/chrmlinux03/status/1736671046542254524?s=20) # 液晶でフェーダー出せるぢゃん ![バーチャルフェーダー参](https://camo.elchika.com/d3ac3a21c5ee9890b9df03abd2ed037810f66574/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f63633836393835662d366130372d343231642d383434312d656430636466343566353539/) 数日後 液晶でフェーダーを作る事に成功 👉[タッチパネルにバーチャルフェーダーを載せたよ](https://elchika.com/article/36c97b49-8682-4ce7-b93b-fe012b5fe14b/) 今までの苦労は何だったのだろうか。。。。 まぁ他にも作りたいものはあるし(と言う現実逃避発動:逃げ)👉[tinyMixer](https://elchika.com/article/941cc548-c610-4856-80ca-da1df4d66655/) # さまざまな制約 @[twitter](https://twitter.com/chrmlinux03/status/1730910343164198975?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1730122680081531075?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1729421306956075276?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1729412900639662122?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1729411083243536864?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1728718541497749837?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1728641219956514816?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1725448294862913718?s=20) # シン・プログラマだからなんとかする @[twitter](https://twitter.com/chrmlinux03/status/1538613564923322368?s=20) # Audio DSP はステレオ x 2(4Track)までの制約 前回のコンテストからAudioについてしばらく考えた事がある - どうやって音がなるのか?(まずはそこから💦) - 一体何音まで同時出力出来るのか? - ミキサー構造は一体どうなっているのか? - Audio0 / Audio1 って何?💦 何もわからないまま無駄に時間だけが経過する 何もわからないまま無駄に sample.ino だけが SSD を圧迫する ある日突然 自分の理論で音が鳴った ## 全てはここから始まった @[twitter](https://twitter.com/chrmlinux03/status/1557610395917221888?s=20) ## 記念すべき日 @[twitter](https://twitter.com/chrmlinux03/status/1735246091812217301?s=20) ## 何かを決意した @[twitter](https://twitter.com/chrmlinux03/status/1738152774905610744?s=20) # ヒントはここにあった @[twitter](https://twitter.com/chrmlinux03/status/1723989897227489445?s=20) @[twitter](https://twitter.com/chrmlinux03/status/1606875123214319616?s=20) # 用意するもの | 部品名 | 販売先 | 価格 |御提供品| | -------- | -------- | -------- |-------- | | 根性 | 誰にでも |プライスレス|ー| # ライブラリ等 何故これで音がなるか?に関しては以下を参照 👉[AudioDSPを絶妙にハックしたよ【実践編】](https://elchika.com/article/cb0997fe-93ab-410c-92d4-9f9e2935b678/) # 筐体 ## 最初に軽く打ち出し穴位置を修正 ![4回くらいの設計変更](https://camo.elchika.com/effe50c7042f5710e58036eceaeec18af14670bb/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f35363831356139372d383536302d343130302d613931612d313964386438373134383464/) ## LEDリングも搭載 ![LEDリング](https://camo.elchika.com/e644e9e3d1a1876086b98d6ae74d29d3a7b31823/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f33333137343436302d623636652d346133342d393337632d316138323835626631333434/) # 組み立て ![スピーカー](https://camo.elchika.com/ab27b495588a17fd3ed270674837ca262a7d93d9/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f66353762623439652d383464342d343866332d396238342d393763393234653563363961/) ![仕込む](https://camo.elchika.com/68b178792da38320e6f64def79c415640fdc193d/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f30356633613836322d663266332d343261612d613362382d326634336530393566346339/) ![バッテリ内蔵](https://camo.elchika.com/979a5863ab7aafd0fe9f7e50f8894e2c32ea36a3/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f36653433663434382d376134632d343138362d613766322d353965356163626134383434/) ![LEDリング](https://camo.elchika.com/60e29e996d8ef1b1b52ee8386f2b198439a00389/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f64623836633935312d633130622d343932322d616135322d323861343339366238383865/) ![ネジで止める](https://camo.elchika.com/c98dfbba041a1c39eda54fa57e63b3f7db82ad7c/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f38373864346139632d633739622d343839652d383830322d6137626538616332663037302f33646161343965322d653339622d346233612d623265362d376563373737336634303063/)

+

# コード ``` //============================================== // // soundSerenity.ino //---------------------------------------------- // date/author : 2024/01/20 @chrmlinux03 // update/author : 2024/01/28 @chrmlinux03 // //============================================== #define PLAYING_FILENAME "044K816.soundSerenity.raw" const uint8_t numTracks = PLAYING_FILENAME[4] - '0'; #include <spreTools.hpp> #include <spreAudioLib.hpp> #include <spreGraphics.hpp> #include <tinyTouch.hpp> #include <tinySlider.hpp> tinySlider sliders[numTracks]; #include <spreSliderSub.hpp> #include <spreNeo.hpp> SpreNeo neo; //============================================== // // setup // //============================================== void setup(void) { Serial.begin( 115200 ); int8_t rotation = ROT270; setupGraphics(rotation); setupTouch(_w, _h, rotation, false); debugAudio = false; setupAudio(AUDIO, CLOCK_NORMAL); addFile(PLAYING_FILENAME); setupSliders(numTracks, _w, _h - 24, 180, 6, 0); neo.begin(); neo.set(LEDKIND_BRESS, 255, 255, 255, 64); neo.start(); setupPlayer(AUDIO0); // setupPlayer(AUDIO1); } //============================================== // // loop // //============================================== void loop() { neo.update(); loopPlayer(AUDIO0); // loopPlayer(AUDIO1); spr.startWrite(); spr.clear(TFT_DARKSILVER); int tx, ty, tz; bool touched = isTouch(&tx, &ty, &tz); if (touched) { scanSliders(); readSliders(); } updateSliders(); static int cnt = 0; char ast[4] = "|/-\\"; spr.setTextColor(TFT_WHITE, TFT_BLACK); spr.setCursor(8, 8); spr.printf("[%c] %3d fps\n", ast[cnt], getfps()); cnt = (cnt + 1) % 4; spr.pushSprite(&lcd, 0, 0); spr.endWrite(); } ```

# 動かしてみた @[twitter](https://twitter.com/chrmlinux03/status/1752502396205609258?s=20) # 残務と今後の考察 現在 Audio0 のみを使用しているので 8Track これは Audio1 を使えば 16Track は行けるのではないか? って言うかそこまでいるのかという話である # さいごに ご清聴ありがとうございました まぢでライブラリが出来るまでが長かった💦 ++このページは SPRESENSE2023コンテストで作った製品を紹介するものです 最初に [開発まとめ](https://elchika.com/article/e96011d0-d280-49e2-a68c-dd3c183a204e/) をお読みいただければ幸いです++