ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

日記

最近STM32ネタかけてなくてすいません。 やって行きたいものに関しては決まっていて Memory to memory DMA VFPU命令の確認(SP、DP) SIMDに関して SDカード関連 こんなかんじです。一方でi.MX RT1020でやりたいことも結構あって DMA Manager USB CDC I2C UA…

フラックスとフラックスクリーナーのあれこれ

趣味の範囲で表面実装部品あつかうと手付けが多いんですがその際フラックスを結構使うことが多いです。 フラックスは一般に金属表面の活性剤として機能する薬品です。 調べれば出てきますけど有機酸などの添加物が金属表面のO結合を取り除くことで金属表面酸…

進捗的なやつ

最近外出先でOnshape使って家ではFusion360つかうみたいな流れで設計している。Onshapeマジで楽だよなココまで5分位でできる pic.twitter.com/ncMvi2lEyC— おながわ (@GarageStyleMsc) 2018年11月13日 こんな感じで外出先でポチポチ作ってDXF or STEPで吐き…

読みたい本、おすすめの本など

ここには僕が読んだ本とか読みたい本とかを載せてく予定 画像クリックでリンクに飛びます最新の本でなければ図書館で借りれるのでその辺も利用していきたい 読みたいやつ Designing Audio Effect Plug-Ins in C++ 目次見た感じ信号処理一通り説明してくれて…

STM32のMCO2からPLLI2Sクロックを出力してみる

今回はSTM32のMCO(Master Clock Output)の機能を使ってPLLI2Sのクロックを出力してみる。 品質はどうなのかわからんけど主に外部オーディオコーディック用のMLCKとかに使えそうな予感通常のMCO1に関しては以前やっている(STM32F3での実施)ので基礎に関し…

STM32CubeProgでUARTを使ったフラッシュ書き換えを試す

STM32に関しては久しぶりですが 今回はSTからリリースされたSTM32CubeProgというソフトについてみていこうと思います。 STM32CubeProg www.st.com簡単に説明するとSTlink utility とかflash loaderとかdfuツールとかそういうのが一緒になってWindows,Mac ,Li…

i.MX-RT600なるものが出たらしいよ

ARMの最新コアCortexM33とケイデンスのDSPテンシリカHifi4のニコイチSoCみたいですね。 CortexM33 300Mhz Cadence® Tensilica® Hi-Fi 4 600MHz という構成になってるみたいですね。SRAMが4.5MBとかついてますね これはデジタルエフェクトにかなりよさそう。…

STM32F767 SAIについてメモ1

今回はSerial Audio Interfaceの話です タイトルはF7となっているがSTがラインナップごとにCubeHALの仕様変えなければ同じように考えることができると思います。まずSAIについて基礎的なことはこの辺を読んでくださればわかると思います。 http://www.st.com…

i.MX RT1050 SAIメモ3

今回からやっとSDKのほうに入っていく。割り込みのサンプルコードベースでみていく まずは構造体のインスタンス生成を行っている sai_config_t config; sai_transfer_format_t format; configは主にプロトコルとクロック供給の設定項目をもつ構造体 typedef …

MCUXpresso SDK:コーディック周りのHALについて

オーディオフレームを書くにあたっていろいろ調べていたのでそれのメモがてら書いています。 IMXRT1020のコーディック周りは fsl_codec_common.h fsl_codec_common.c fsl_wm8960.c fsl_wm8960.h の4つからできています。WM8960_WriteRegの中でCODEC_I2C_Wri…

Python:ディレイを実装してみる:1

今回はディレイを実装していきます。 いわゆる遅延系エフェクトでやまびこ効果とか言われるやつです。 ディレイの実装には参考文献に示すようにフィードバックの仕方によっていろいろな種類がありますが一般的なフィードバックありミックスありの通常のタイ…

Python:ビブラートとコーラス:2

前回の記事ではPythonでビブラートエフェクトとコーラスエフェクトを実装した。 今回はFM変調とBessel関数に関して面白い記述*1があったのでほとんどパクりだけど(情報は多いほうがいいに決まってるw)それについてみていく FM変調 FM変調は以下の式で示さ…

Python:ビブラートとコーラス:1

今回はFM変調を用いたビブラートとコーラスを実装していきたいと思います。 原理 遅延回路(アナログで言うところのBBD)のクロックをLFO(変調波形)で変えることにより周波数方向に揺れた音を作るエフェクトです。基本式は以下のようになります。 A:原音信…

音声信号処理まとめ

ここ一年でオーディオ処理について学んできたのでいろいろ書いていこうと思います。 最近は個人で扱えるマイコンも高性能化してきたり音声ライブラリも豊富にあり逆にどれからやったらいいかわからない人も多いはずです。そういうわけで自分がやっている例で…

Python:正弦波合成

デジタル信号処理での正弦波の作り方 create_func.py import numpy as np def create_sin(amplitude,freq,frame,*,sampling = 48000): data = np.zeros(frame,dtype = np.float) for n in np.arange(1,frame): sine = amplitude * np.sin(2 * np.pi * freq *…

Python:リングモジュレーター 続き

前回はリングモジュレータを実装したのでもう少し細かく見てみようということで数式をあげながら理論を追ってみる前回の記事は此方 gsmcustomeffects.hatenablog.com (adsbygoogle = window.adsbygoogle || []).push({}); 原理 被変調波(原音)をと置くとリ…

Python:ScipyのFFT(scipy.fftpack)をやってみる。

PythonでFFTをする記事です。 FFTは下に示すように信号を周波数スペクトルで表すことができどの周波数をどの程度含んでいるか可視化することができます。 440Hzの場合 2000Hzの場合 コード numpyとScipy両方に同じようなメソッドがあるけどScipyおじさんなの…

Python:リングモジュレーターを実装する。

(adsbygoogle = window.adsbygoogle || []).push({}); 今回はリングモジュレータを実装していく。 リングモジュレータ 入力と関係ない音程を出すエフェクター。マルチ・エフェクターに組み込まれていることもある。かなり前衛的な演奏ができる。(weblio引用 …

Python:ステレオwavファイルをLRに分ける

基礎編です。 信号処理をやって行くにあたりまずは入力となるwavファイルについて知っておく必要がある。 フォーマットに関してはここを読んでほしい http://sky.geocities.jp/kmaedam/directx9/waveform.htmlまあ簡単に言えばヘッダー情報の後はLRLRLRと信…

アドレス配置__attribute__について

以前も同じような記事を書いたのだがもうちょいかいつまんで書いていくことにした。 i.MX RT1050のコードの一部の紹介 #if defined(__CC_ARM) || defined(__GNUC__) __attribute__((section(".boot_hdr.ivt"))) #elif defined(__ICCARM__) #pragma location=…

pC-pH diagram(酢酸アンモニウムの場合)

7/23 追記 ソースコード更新およびグラフの枚数追加 珍しく真面目に課題をやったのでそのことでも書こうと思います。 設問条件 純水に対して濃度10^{-3}酢酸アンモニウムを添加した際のpHを決定せよ。 存在物質はとする。基本がこれで濃度と温度が色々変わっ…

行列の微分メモ

最適制御工学の授業で使う機会があったので書いてみた。 参考文献 www.iwanttobeacat.com Introduction to Applied Linear Algebra matrix cook book

texメモ

tex

電気科のときは結構覚えてたのだが環境系(研究は材料系)に来てからtexを全く使わなくなったので忘れることが多くなった。 まあ使わないしいいや〜ってなるはずだったけど他過程講義の履修をするという無謀なことになったので使わざるおえない状況に・・・…

Pythonリンクメモ

自分用にいろいろまとめたくて作ってみた Pycharmにパッケージを追加する方法 qiita.com matplotlibの使い方入門的なやつ bicycle1885.hatenablog.com初期に結構お世話になった覚えがある。backendの変更 informalmat.wiki.fc2.com

Molecular dynamicsってすごいらしいね

最近計算機化学という授業でMM(Molecular Mechanics)やMD(Molecular dynamics)をやった。個人的には計算機の発展でリソースをバンバン使える時代になっていくと思うのでこの分野を学んでいくと今後面白いことが出来そうだと踏んでいる。ちなみに大学の研究で…

LPC800シリーズの新製品

LPC

LPC8N04と83x,84xが出るらしい(発売済みのものもある。LPC8N04は8 MHzで動くあれっぽい。845はFAIMなるFast Initialization Memoryがあるらしい。

LPC51U68なるものが出るらしい

LPC

LPC51U68|NXP CortexM0+で100MHzもの速度で動くらしい。 11U68のアップデートVerの位置づけでクリスタルレスUSBにROMドライバといういつものやつ。タイマーはSCTという魔のタイマーとマルチレートとSystick、GPタイマーがあるっぽい。 これは期待できそう

logicool K380が届いた

最近キーボードがタンブラー転倒により水没したので買い替えました。 Amazonで2700円ぐらいでした。 最近机の上にマイクロスコープだったりリワークステーションだったが増えてきて邪魔になりつつあったのでBluetoothかつ小ぶりなものを選んだ。結構使いやす…

KiCadのSpice機能で外部モデルを読み込む方法

以前KiCadのspiceに関してこういう記事を書きました。 gsmcustomeffects.hatenablog.comこの記事では導入ぐらいしかやっていなかったので今回はメーカー配布のSpiceモデルの入れ方とかを書こうと思います。 導入 今回は1回路入りのTL082というものを使います…

KiCadのプロジェクトをBitbucketで管理するときのあれ

どうもお久しぶりです。今回はKiCadのライブラリをうまい感じに管理する一例。 僕は学校ではMac 家ではWindowsを利用しています。んでプロジェクト本体をBitbucketのオンラインリポジトリで管理しています。 そこまではいいんですが、KiCadのライブラリパス…