Skip to content

Commit

Permalink
fix bad links from google 404 report
Browse files Browse the repository at this point in the history
Problem is `]((` (use of double-parens for link)
  • Loading branch information
jschrier committed Aug 21, 2024
1 parent 5d2bab8 commit 63bca3f
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 13 deletions.
4 changes: 2 additions & 2 deletions _posts/2023-01-06-MicroROS-on-the-Raspberry-Pi-Pico.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ tags: ros pico electronics automation

**Goal:** Attach small actuators and sensors to a Rasberry Pi Pico (RP2040) and have it attach to present to a ROS2 network running on some other device. Build this into a larger project.
**This Post:** Some collected notes on resources.
**Status:** See [how-to-guide post](({{ site.baseurl }}{% post_url 2023-02-04-ROS-Setup-For-Raspberry-Pi-and-Pico %}))
**Status:** See [how-to-guide post]({{ site.baseurl }}{% post_url 2023-02-04-ROS-Setup-For-Raspberry-Pi-and-Pico %})


# Setup ROS2 on a Raspberry Pi
Expand Down Expand Up @@ -42,4 +42,4 @@ Demonstration of [how to publish sonar readings](https://canonical.com/blog/hc-s

# Next Steps

**Status:** See [how-to-guide post](({{ site.baseurl }}{% post_url 2023-02-04-ROS-Setup-For-Raspberry-Pi-and-Pico %}))
**Status:** See [how-to-guide post]({{ site.baseurl }}{% post_url 2023-02-04-ROS-Setup-For-Raspberry-Pi-and-Pico %})
2 changes: 1 addition & 1 deletion _posts/2023-01-21-MIDI-to-CV-on-RP2040-part-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ date: 2023-01-21
tags: music electronics pico analog synth i2c python
---

In a [previous post](({{ site.baseurl }}{% post_url 2022-12-31-MIDI-to-CV-on-RP2040 %})), we defined some of the ideas and resources for the system. Along the way, we'll learn a bit about I2C programming on the Pico and MCP4728 DAC. **In this post, we'll actually build the MIDI to CV gadget...**
In a [previous post]({{ site.baseurl }}{% post_url 2022-12-31-MIDI-to-CV-on-RP2040 %}), we defined some of the ideas and resources for the system. Along the way, we'll learn a bit about I2C programming on the Pico and MCP4728 DAC. **In this post, we'll actually build the MIDI to CV gadget...**


# Bill of materials
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ Decimal address: 73 , Hex address: 0x49

Let's do this using [jajberni/AS726X_LoPy](https://github.com/jajberni/AS726X_LoPy)'s library.

Clone [the repository]((https://github.com/jajberni/AS726X_LoPy)) and copy the `Device.py` and `AS726X.py` files in `lib/` to a new `lib/` folder that you create on the Pico. Then create a new file to blink the lights.
Clone [the repository](https://github.com/jajberni/AS726X_LoPy) and copy the `Device.py` and `AS726X.py` files in `lib/` to a new `lib/` folder that you create on the Pico. Then create a new file to blink the lights.

```python
from machine import Pin, I2C
Expand Down Expand Up @@ -154,4 +154,4 @@ Now that you know how to get readings porogrammatically, the next step is to rea
* Wait for a newline from `sys.stdin.read()` to trigger a reading (for example, once you've got a sample in place)
* Read the values and print it in a desired format
* Write a program for your laptop that reads these values and saves them...maybe with some type of annotation as to the sample you are considering?
* Or...add a physical switch to the circuit and read from the switch to trigger the reading. Then [design and print]((({{ site.baseurl }}{% post_url 2022-12-31-Autodidact-guide-to-advanced-manufacturing %}))) a housing to keep everything oriented the way you want.
* Or...add a physical switch to the circuit and read from the switch to trigger the reading. Then [design and print]({{ site.baseurl }}{% post_url 2022-12-31-Autodidact-guide-to-advanced-manufacturing %}) a housing to keep everything oriented the way you want.
2 changes: 1 addition & 1 deletion _posts/2023-02-11-MQTT-and-ROS2-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ But how do we set it up? We'll use the [Eclipse Mosquitto broker](https://mosqu
The latter takes care of the serialization of ROS2 standard messages for us.

0. We've [already got a RPi 3B+ setup with Ubuntu 20.04 and ROS2/Humble]({{ site.baseurl }}{% post_url 2023-02-04-ROS-Setup-For-Raspberry-Pi-and-Pico %}) . No need for MicroROS, etc. Just plain old ROS2 installed.
1. We're running Ubuntu so we can [use a snap to install mosquitto]((https://mosquitto.org/documentation/using-the-snap/))---alternatively, instructions for [installing on Raspbian can be found elsewhere](https://peppe8o.com/mqtt-and-raspberry-pi-pico-w-start-with-mosquitto-micropython/)
1. We're running Ubuntu so we can [use a snap to install mosquitto](https://mosquitto.org/documentation/using-the-snap/)---alternatively, instructions for [installing on Raspbian can be found elsewhere](https://peppe8o.com/mqtt-and-raspberry-pi-pico-w-start-with-mosquitto-micropython/)
```bash
sudo snap install mosquitto
```
Expand Down
12 changes: 10 additions & 2 deletions _posts/2023-04-20-DIY-drum-machine-ideas.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ tags: audio synth pico drum electronics diy
# Circuit design

* A handful of 2k resistors is enough to build a [two-channel 1 Hz-20 MHz wavegenerator](https://www.instructables.com/Arbitrary-Wave-Generator-With-the-Raspberry-Pi-Pic/) using the programmable IO pins.
* Or drive the good-old [MCP4728 Quad DAC](https://www.adafruit.com/product/4470) [DATASHEET](https://ww1.microchip.com/downloads/en/DeviceDoc/22187E.pdf) at 100 kHz, which is far beyond what I can hear. Heck, I've even got three free channels left on my [MIDI-to-CV project]{{ site.baseurl }}{% post_url 2023-01-21-MIDI-to-CV-on-RP2040-part-2 %})) that could be used for separate drum signals. This type of [direct digital synthesis can be done efficiently](https://vanhunteradams.com/Pico/TimerIRQ/SPI_DDS.html), based on what appears to be an [excellent digital systems design course at Cornell, with comprehensive lecture videos](https://www.youtube.com/playlist?list=PLDqMkB5cbBA5oDg8VXM110GKc-CmvUqEZ)
* Or drive the good-old [MCP4728 Quad DAC](https://www.adafruit.com/product/4470) [DATASHEET](https://ww1.microchip.com/downloads/en/DeviceDoc/22187E.pdf) at 100 kHz, which is far beyond what I can hear. Heck, I've even got three free channels left on my [MIDI-to-CV project]({{ site.baseurl }}{% post_url 2023-01-21-MIDI-to-CV-on-RP2040-part-2 %}) that could be used for separate drum signals. This type of [direct digital synthesis can be done efficiently](https://vanhunteradams.com/Pico/TimerIRQ/SPI_DDS.html), based on what appears to be an [excellent digital systems design course at Cornell, with comprehensive lecture videos](https://www.youtube.com/playlist?list=PLDqMkB5cbBA5oDg8VXM110GKc-CmvUqEZ)
* Or go sample-based with a [PicoAudio I2S pack](https://shop.pimoroni.com/en-us/products/pico-audio-pack) I've got one of these kicking around the house, which I used for a Markov-chain music composition project...could also just program some wavetables for this. Might be the easiest path...[potentially as simple as IO](https://github.com/todbot/circuitpython-tricks/blob/main/larger-tricks/pidaydrummachine.py)
* I2S audio can get really cheap ([just a few bucks](https://www.aliexpress.us/item/3256802711963831.html?gatewayAdapt=glo2usa4itemAdapt&_randl_shipto=US))
* I2S is in [a preview for Micropython v1.19 so limited demos exist](https://github.com/miketeachman/micropython-i2s-examples)...or else you have to use [circuitpython](https://learn.adafruit.com/mp3-playback-rp2040/pico-i2s-mp3)
Expand Down Expand Up @@ -50,4 +50,12 @@ tags: audio synth pico drum electronics diy
- There are definitely [kits](https://4mscompany.com/rcd-kit.php?c=11) to do this but the Doepfer A-160-2 is the classic (not too pricey)
- You want to think about sending trigger pulses versus constant cycles, number of divisisions, CV inputs, possible internal clock.
- Introduce patterns by binary pattterns (e.g., [Numeric Repetitor](https://manuals.noiseengineering.us/nr/))
- The discontinued [Pittsburgh Time Runner](https://pittsburghmodular.com/timerunner) has some interesting ideas
- The discontinued [Pittsburgh Time Runner](https://pittsburghmodular.com/timerunner) has some interesting ideas

# Retrospective: What I finally did (Aug 2024)

1. Built [Mortiz Klein's drum bundle](https://www.thonk.co.uk/shop/mki-erica-edu-drums/) to learn the circuits and ideas, but then got limited musically... (Also, as a side note, analog drum circuits are really complicated! )

2. Bought a Korg Volka Beat (16 step sequencer) and [Pocket Operations book](https://amzn.to/3WQyrf1) to go more musical. (Not exactly DIY, but has some [hacking potential]({{ site.baseurl }}{% post_url 2024-07-19-Hacking-the-Korg-Volka-Beats %}) )

3. Bought an [Akai MCP218](https://amzn.to/3AFBrDp) drum pad and enrolled in [Melodics](https://melodics.com) drum pad course to try to get a more intuitive musical sense (not at all DIY, but a realization that I was emphasizing the hardware rather than the music)
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tags: llm culture ai jesuits imaginary-syllabi teaching

I went to the movies with [Joseph Tardio](https://amzn.to/3PNyQ02) to see the new documentary [Umberto Eco: A Library of the World](https://www.nytimes.com/2023/06/29/movies/umberto-eco-a-library-of-the-world-review.html). [Umberto Eco](https://en.wikipedia.org/wiki/Umberto_Eco) was a huge fan of Kircher: [Eco boasted of possessing all but one of Kircher's books](https://lithub.com/umberto-ecos-favorite-books-give-new-meaning-to-the-phrase-deep-cut/) and Kircher has a walk-on roles in some of Eco's novels and scholarly works. Eco described Kircher as "the most contemporary among our ancestors, and the most outdated among our contemporaries" and in the film, Eco expresses an admiration for which Kircher's writings seamlessly (and perhaps unknowingly to the author) blur fact and fiction.

Discussing the documentary at the bar across the street (while we waited to see Godard's [Le Mépris](https://en.wikipedia.org/wiki/Contempt_(film))...double feature!), I had a thought:[^2] In what ways is criticism of Kircher like the [stochastic parrots](https://dl.acm.org/doi/10.1145/3442188.3445922) critique of generative AI? Like Kircher, [generative AI models are trained on a vast corpus of human knowledge and draw upon this to generate high-probability combinations that are surprisingly good, but equally susceptible to hallucinations]((https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/)). Kircher was clearly learned---he knew 11 languages---but then uses this probabilistic training to go off-the-rails in a totally [bogus deciphering of Egyptian hieroglyphics](https://fathom.lib.uchicago.edu/1/777777122590/).
Discussing the documentary at the bar across the street (while we waited to see Godard's [Le Mépris](https://en.wikipedia.org/wiki/Contempt_(film))...double feature!), I had a thought:[^2] In what ways is criticism of Kircher like the [stochastic parrots](https://dl.acm.org/doi/10.1145/3442188.3445922) critique of generative AI? Like Kircher, [generative AI models are trained on a vast corpus of human knowledge and draw upon this to generate high-probability combinations that are surprisingly good, but equally susceptible to hallucinations](https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/). Kircher was clearly learned---he knew 11 languages---but then uses this probabilistic training to go off-the-rails in a totally [bogus deciphering of Egyptian hieroglyphics](https://fathom.lib.uchicago.edu/1/777777122590/).

**How might an engagement with Kircher and his ways of knowing be insightful for students as they try to live in a world with generative AI?** Or: How might the future that we live in be a future filled with digital Athanasius Kirchers (and would that be a good or bad thing)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ Came across some recent Wolfram Community posts that provide relevant functional
- [LLMVisionSynthesize](https://community.wolfram.com/groups/-/m/t/3072318)...and `LLMVisionFunction` for using GPT-4v. Also shows a nice trick of using the `LLMPrompt["NothingElse"]["JSON"]` and `LLMPrompt["CodeWriter"]`.
- Available at `Import["https://raw.githubusercontent.com/antononcube/MathematicaForPrediction/master/Misc/LLMVision.m"] `
- [callDALLE](https://community.wolfram.com/groups/-/m/t/3073374) .. and other functions that support thee Text-to-Speech API and GPT-vision (`callTTS`, `callGPTVision`)
- [Prompting strategies for Dall-E-3, and advanced use of random seed settings, forbidden topics, etc.]((https://simonwillison.net/2023/Oct/26/add-a-walrus/?utm_source=tldrai#peeking-under-the-hood))
- [Prompting strategies for Dall-E-3, and advanced use of random seed settings, forbidden topics, etc.](https://simonwillison.net/2023/Oct/26/add-a-walrus/?utm_source=tldrai#peeking-under-the-hood)
4 changes: 2 additions & 2 deletions _posts/2023-11-26-Non-octave-preserving-tunings.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ tags: music xenharmonic

While skimming a back issue of *Mathematics Magazine*, I came across Jordan Schettler's article [Wendy Carlos’s Xenharmonic Keyboard](https://www.jstor.org/stable/48665908) which describes a continued fraction derivation of an [idea by Wendy Carlo](https://www.wendycarlos.com/resources/pitch.html)---whereas "traditional" tuning ideas are based on preserving the octave (2:1 frequency) ratio, we might alternatively just try to find equal tempered scales that give a good approximation to the perfect fifth (3:2) and major third (5:4) and forget about this giving an octave...

Here's a [short 6-minute video describing and sonifying Carlo's alpha, beta, and gamma scales ](https://www.youtube.com/watch?v=RuT6Y53LYH4)...
Here's a [short 6-minute video describing and sonifying Carlo's alpha, beta, and gamma scales](https://www.youtube.com/watch?v=RuT6Y53LYH4)...

Benson's [Music: A Mathematical Offering](https://homepages.abdn.ac.uk/d.j.benson/pages/html/music.pdf) Section 6.6 gives a lucid description of Carlo's approach. You can listen to some example notes on the [alpha](https://en.wikipedia.org/wiki/Alpha_scale), [beta](https://en.wikipedia.org/wiki/Beta_scale), and [gamma](https://en.wikipedia.org/wiki/Gamma_scale) scale wikipedia pages.

Carlos used the alpha and beta scales on an album [Beauty in the Beast](https://www.wendycarlos.com/+bitb.html). These scales have some interesting properties---for example, alpha splits the minor third exactly into halves (and quarters), and beta splits the perfect fourth into halves.

Closely related is the [Bohlen-Pierce scale](https://en.wikipedia.org/wiki/Bohlen–Pierce_scale) starts from the foundational choice of the tritave (3:1)---aka the perfect twelth or an octave higher than a perfect fifth (3:2)---and divides this into 13 parts. This is dicsused in [Section 6.7 in Benson]((https://homepages.abdn.ac.uk/d.j.benson/pages/html/music.pdf) ). Apparently this idea is called [EDONOI](https://en.xen.wiki/w/Edonoi)---"equal divisions of non-octave intervals."
Closely related is the [Bohlen-Pierce scale](https://en.wikipedia.org/wiki/Bohlen–Pierce_scale) starts from the foundational choice of the tritave (3:1)---aka the perfect twelth or an octave higher than a perfect fifth (3:2)---and divides this into 13 parts. This is discussed in [Section 6.7 in Benson](https://homepages.abdn.ac.uk/d.j.benson/pages/html/music.pdf). Apparently this idea is called [EDONOI](https://en.xen.wiki/w/Edonoi)---"equal divisions of non-octave intervals."

More fundamentally, why do we priviledge the octave in the first place? Keuler writes about the [octave identity paradox](https://www.jstor.org/stable/902559), noting that the octave identity is a historical byproduct, and that many musically untrained listeners will mistake fourths and fifths for octaves.
2 changes: 1 addition & 1 deletion _posts/2023-12-31-Imaginary-Cinema:-Titanic,-but-Tiki.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ layout: post
tags: imaginary-cinema tiki florida art llm gpt4 dall-e-3
---

*Premise:* Remake [Titanic]((https://en.wikipedia.org/wiki/Titanic_(1997_film))), but as a [Tiki](https://en.wikipedia.org/wiki/Tiki_culture)-themed animated movie (inspired over Mai Tais at [Bahi Hut](https://www.bahihut.com), which alleges to be Florida's oldest tiki bar)...
*Premise:* Remake [Titanic](https://en.wikipedia.org/wiki/Titanic_(1997_film)), but as a [Tiki](https://en.wikipedia.org/wiki/Tiki_culture)-themed animated movie (inspired over Mai Tais at [Bahi Hut](https://www.bahihut.com), which alleges to be Florida's oldest tiki bar)...

That's it. Think about it. (See also the prequels in this trilogy: [Titanic, but with Manatees]({{ site.baseurl }}{% post_url 2023-12-26-Imaginary-Cinema:-Titanic,-but-with-Manatees %}) and [Titanic, but with Chiguiros]({{ site.baseurl }}{% post_url 2023-03-04-Imaginary-Cinema:-Titanic-but-with-Chiguiros %}))

Expand Down

0 comments on commit 63bca3f

Please sign in to comment.