Files
minimal-setups/attic/public/blog/theremin/index.html
Wolfgang Hottgenroth b2249c06e9
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
mdwiki test starts
2025-04-14 22:22:45 +02:00

170 lines
13 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-us">
<head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script><meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<title>Theremin - Minimal Setups</title>
<meta name="generator" content="Hugo 0.140.2">
<link href="http://172.16.3.33:1313//index.xml" rel="alternate" type="application/rss+xml">
<link rel="canonical" href="http://172.16.3.33:1313/blog/theremin/">
<link rel="stylesheet" href="http://172.16.3.33:1313/css/theme.min.css">
<link rel="stylesheet" href="http://172.16.3.33:1313/css/chroma.min.css">
<script defer src="http://172.16.3.33:1313//js/fontawesome6/all.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery.easing@1.4.1/jquery.easing.min.js" integrity="sha256-H3cjtrm/ztDeuhCN9I4yh4iN2Ybx/y1RM7rMmAesA0k=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js" integrity="sha256-4XodgW4TwIJuDtf+v6vDJ39FVxI0veC/kSCCmnFp7ck=" crossorigin="anonymous"></script>
<script src="http://172.16.3.33:1313/js/bundle.js"></script><style>
:root {}
</style>
<meta property="og:url" content="http://172.16.3.33:1313/blog/theremin/">
<meta property="og:site_name" content="Minimal Setups">
<meta property="og:title" content="Theremin">
<meta property="og:description" content="A Theremin is a rather old electronic music instrument, invented in 1928. It is played by approaching hands to two antennas, without touching them. One antenna is used to manipulate the frequeny of the tone, the other one to manipulate the volume.
This is just another Theremin. Only basic structure of the circuit was taken from many other published Theremin circuits.
Completely new (or at least not found during my Theremin googling) is the digital zero-calibration.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2013-07-01T00:00:00+00:00">
<meta property="article:modified_time" content="2013-07-01T00:00:00+00:00">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="Theremin">
<meta name="twitter:description" content="A Theremin is a rather old electronic music instrument, invented in 1928. It is played by approaching hands to two antennas, without touching them. One antenna is used to manipulate the frequeny of the tone, the other one to manipulate the volume.
This is just another Theremin. Only basic structure of the circuit was taken from many other published Theremin circuits.
Completely new (or at least not found during my Theremin googling) is the digital zero-calibration.">
<meta itemprop="name" content="Theremin">
<meta itemprop="description" content="A Theremin is a rather old electronic music instrument, invented in 1928. It is played by approaching hands to two antennas, without touching them. One antenna is used to manipulate the frequeny of the tone, the other one to manipulate the volume.
This is just another Theremin. Only basic structure of the circuit was taken from many other published Theremin circuits.
Completely new (or at least not found during my Theremin googling) is the digital zero-calibration.">
<meta itemprop="datePublished" content="2013-07-01T00:00:00+00:00">
<meta itemprop="dateModified" content="2013-07-01T00:00:00+00:00">
<meta itemprop="wordCount" content="706"><script type="text/javascript" id="MathJax-script" async
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
</script>
</head>
<body>
<div class="container"><header>
<h1>Minimal Setups</h1>
</header>
<div class="global-menu">
<nav>
<ul>
<li class=""><a href="/keys/">Keys</a></li>
<li class=""><a href="/about/">About</a></li></ul>
</nav>
</div>
<div class="content-container">
<main><h1>Theremin</h1>
<time>Mon, Jul 1, 2013</time><p>A <a href="https://en.wikipedia.org/wiki/Theremin">Theremin</a> is a rather old electronic music instrument, invented in 1928. It is played by approaching hands to two antennas, without touching them. One antenna is used to manipulate the frequeny of the tone, the other one to manipulate the volume.</p>
<p><img src="/foto-am-30-06-13-um-20-021.jpg" alt=""></p>
<p>This is just another Theremin. Only basic structure of the circuit was taken from many other published Theremin circuits.</p>
<p><img src="/scan_005006-1024x654.jpg" alt=""></p>
<p>Completely new (or at least not found during my Theremin googling) is the digital zero-calibration.</p>
<p>The both left-hand-side oscillators together with the mixer+filter block provide the signal to control the volume, the right-hand-side oscillators and mixer+filter block provide the signal to control the frequency.</p>
<p>Each of these both couples consists of two oscillators and a mixer+filter block. Both oscillators have to swing on exactly the same frequency, in this case of about 1.3MHz. While the exact frequency does not matter, it is significant that both oscillators have the same frequency. The signals of both oscillators will be mixed, which means, multiplied.</p>
<p>$$\sin(\omega_0 t) sin(\omega t)$$</p>
<p>Here $\omega$ is the frequncy of one of the oscillators while $\omega_0$ is the frequency of the other one.</p>
<p>This term can be modified using the addition rule for trigonometric functions into</p>
<p>$$\frac{\cos((\omega_0-\omega)t)-\cos((\omega_0+\omega)t)}{2}$$</p>
<p>Due to this transformation, two signals, one with the sum and one with the difference of both input signal frequencies, are accumulated.
When both frequencies are exactly the same, one part of the sum appears as a DC offset, while the other part is the doubled frequency.
If one oscillator is de-tuned by only a few Hz&rsquo;<code>s, one part are this few Hz'</code>s (a very low, hearable frequency) and the other part is still (roughly) the doubled frequency (a high frequency). The high frequency part can now be suppressed using a lowpass-filter.
Multiplication of two signals can be done using an analog four quadrant multiplier, like the AD633. So, this is the schematic of the mixer+filter block:</p>
<p><img src="/scan_005006_5-1024x717.jpg" alt=""></p>
<p>The output signal of this block is the difference of the detuning of the one oscillator.</p>
<p>Detuning of the oscillator will be achieved by approaching the hand to the antenna of the oscillator.</p>
<p><img src="/scan_005006_3.jpg" alt=""></p>
<p>The antenna acts as a kind of a capacitive sensor and by approaching the hand a very small amount of capacity is added into the LC resonator.</p>
<p>The other oscillator is a fix-frequency oscillator which can be tuned to swing on the same frequency as the first oscillator in a not detuned state.</p>
<p><img src="/scan_005006_4.jpg" alt=""></p>
<p>This tuning is achieved by biasing the two varactor diodes.</p>
<p>Here is automated tuning circuit steps in:</p>
<p><img src="scan_005006_6.jpg" alt=""></p>
<p>The low-frequency output signal of the mixer+filter block is provided through a 2-to-1 multiplexer (the four NAND-gates) into a microcontroller. The microcontroller measures the frequency and as long as it is above a frequency $\epsilon$ of say 10Hz, the bias voltage $U_{tune}$ is increased.</p>
<p>These both oscillators with mixer+filter and one channel of the zero-calibration appear twice in the whole circuit, one for frequency manipulation and one for volume manipulation.</p>
<p>The low-frequency, hearable, signal and the volume-control signal are brought together in the volume-control circuit</p>
<p><img src="/scan_005006_2-1024x553.jpg" alt=""></p>
<p>Here, the low-frequency signal $U_{Lf1}$ is passed through a high-pass filter. The high-pass filter is calculated that way that the whole detunable frequency range comes onto the ramp of the filter. So, the not detuned output signal of the mixer+filter is a DC signal, which is suppressed completely by the high-pass filter (beginning of the ramp) and the maximum detuned output signal of about 2kHz matched roughly to the end of the ramp. This filtered signal is rectified and only the negative half-wave of the signal passes the diode. This half-wave signal is sieved by the larger capacitor to get a DC signal between 0 and the maximum amplitude which passed the fiter. This negative DC signal is fed into the FET, which is configured as a voltage controlled resistor. This voltage controlled resistor and the fix resistor (5k6) are building a voltage controlled voltage divider. The hearable frequency signal $U_{Lf2}$ is fed into this voltage divider  and passed to an amplifier.</p>
<p>The output signal of this block in turn is the volume-controlled and frequency-controlled signal which is the output signal of this Theremin. It is passed into a power-amplifier and into a speaker - done.</p>
<p><a href="https://www.youtube.com/watch?v=5US8LY_FbQ4&amp;w=420&amp;h=315">Calibrating the Theremin</a></p>
<p><a href="https://www.youtube.com/watch?v=lDld71HI66o&amp;w=420&amp;h=315">Playing the Theremin</a></p>
<footer>
</footer>
</main>
<div class="sidebar">
<nav class="slide-menu">
<ul>
<li class=""><a href="http://172.16.3.33:1313/">Home</a></li>
<li class="parent has-sub-menu"><a href="http://172.16.3.33:1313/blog/">Blogs<span class="mark opened">-</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/blog/tetris/">2024-05-27<br/> Tetris </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/rgb-driver/">2024-05-25<br/> PL 9823 meets MSP430 </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/timeserver2/">2025-03-13<br/> Stratum 1 NTP Server participating in ntppool.org </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/timeserver/">2025-02-11<br/> Just another Stratum 1 Timeserver </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/debouncing/">2018-04-30<br/> Yet Another Debouncing Method </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/three-phase-inverter-ng/">2016-12-19<br/> Three Phase Inverter - Second Service </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/three-phase-inverter/">2016-10-14<br/> Three Phase Inverter </a></li>
<li class="active"><a href="http://172.16.3.33:1313/blog/theremin/">2013-07-01<br/> Theremin </a></li>
<li class=""><a href="http://172.16.3.33:1313/blog/email-childprot/">2013-06-27<br/> Children Protection for Postfix-based EMail-Server </a></li>
</ul>
</li>
<li class=" has-sub-menu"><a href="http://172.16.3.33:1313/articles/">Articles<span class="mark closed">+</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/articles/quotes/"> Quotes </a></li>
</ul>
</li>
<li class=" has-sub-menu"><a href="http://172.16.3.33:1313/howtos/">HowTos<span class="mark closed">+</span></a>
<ul class="sub-menu">
<li class=""><a href="http://172.16.3.33:1313/howtos/colors-in-minicom/"> Colors in Minicom </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/engel-des-herrn/"> Engel des Herrn </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/occ-in-nextcloud-pod/"> Execute occ in Nextcloud pod </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-backup/"> Gitlab Backup and Restore </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-change-baseurl/"> Gitlab Change BaseURL in Database </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/gitlab-upgrades/"> Gitlab Upgrades </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/ca-certificate-in-debian/"> How to add a CA certificate in Debian </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/iscsi-on-linux/"> iSCSI on Linux </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/magnifikat/"> Magnifikat </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/neovim/"> Neovim Setup </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/putty-and-hardware-keys/"> PuTTY and OPENGPG hardware keys </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/resize-hdd-on-running-system/"> Resize HDD on running system </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/snmpwalk-with-numeric-and-text-output/"> snmpwalk with numeric and text output of oid </a></li>
<li class=""><a href="http://172.16.3.33:1313/howtos/prince-of-persia-1/"> Solution for Prince of Persia 1 </a></li>
</ul>
</li>
</ul>
</nav>
<div class="sidebar-footer"></div>
</div>
</div><a href="#" id="backtothetop-fixed" class="backtothetop"
data-backtothetop-duration="600"
data-backtothetop-easing="easeOutQuart"
data-backtothetop-fixed-fadeIn="1000"
data-backtothetop-fixed-fadeOut="1000"
data-backtothetop-fixed-bottom="10"
data-backtothetop-fixed-right="20">
<span class="fa-layers fa-fw">
<i class="fas fa-circle"></i>
<i class="fas fa-arrow-circle-up"></i>
</span></a>
</div>
</body>
</html>