ガレスタさんのDIY日記

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

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のライブラリパス…

販売ページ

なんかしら放出できそうなものを出品中。 更新はまちまちです。 パーツ類 (adsbygoogle = window.adsbygoogle || []).push({}); 3pdt switch 250円/個 2018/4/21更新:在庫72個 2018/4/21更新:在庫50個 2018/4/25更新:在庫20個 2018/4/26更新:在庫6個 3pdt sw…

Onshapeシートメタル機能について(Extrude機能を使った例)

前回は押し出しで作った長方形を板金モデルに変える方法を紹介したが今回は線モデルをSheetmetalのExtrude機能を使ってやってみる例です。前回の記事は此方 gsmcustomeffects.hatenablog.com 線モデルを作る (adsbygoogle = window.adsbygoogle || []).push(…

Onshapeシートメタル機能について

板金のお話です。こういうことができます。そんなわけで板金のモデルと図面作成ができます。 というわけで僕は機械設計に疎いので簡単に箱モノを作って紹介します。 スケッチの作成 (adsbygoogle = window.adsbygoogle || []).push({}); 2dである程度の外形…

2018版:僕の制作環境もろもろの紹介その2(pcbおよびパーツ調達先紹介)

前回は設備系を書いたので今回は基板だったりパーツだったり外注、調達先の紹介でもしようと思います。 基板関連 (adsbygoogle = window.adsbygoogle || []).push({}); ALLPCB JLCPCB 以前はElecrowとかFusionPCBを使っていたけれど最近はALLPCBとJLCが多め…

2018版:僕の制作環境もろもろの紹介その1(設備関連)

ツールだったり調達先だったりをまとめてくれと前々から言われていたので簡単にまとめてみようと思う。 ハードウエア環境、基板メーカー、部品調達先、ソフトウエア環境な感じで紹介していく感じにしようかなと というわけで今回はハードウエア面のことをや…