Showing posts with label FM. Show all posts
Showing posts with label FM. Show all posts

Sunday, 21 June 2020

Yamaha TX7 Backlit LCD Upgrade

There was a time when 7-segment displays were in fashion:


They were followed by LCDs, which consumed less power and provided more detail in a smaller space. But these early LCDs had a problem - they used ambient light because they didn't have any internal illumination. So they weren't very easy to read in the dark - unlike 7-segment displays. (and for guitar pedals and some other 'need to be visible in the dark' applications, then 7-segment displays are back in fashion!)

The second generation of LCDs had LED backlights, which were often green in the early days, although yellow and red were also possible (red looks very distinctive!). Nowadays you can get green, yellow, red, blue and even white, although LCDs have been, to some extent, superseded by OLEDs, although there is a tendency for OLEDs to be very small, maybe even tiny, in size.

But back to the 1980s, and my TX7. Here's my TX7 as it was:


The TX7 is an interesting device to photograph, because the sloping front panel means that it almost always has a reflection of a window or a ceiling light in it. In the photo above, the only way to avoid this is to take the photo from an angle which is so low that the LCD is being viewed from the wrong angle, and so looks worse that it actually is. But a photo where the LCD is readable also has windows and ceiling lights reflected in it! Modern house building trends, like large windows, skylights and arrays of small LED ceiling lights, just make it worse. Even taken from a crazy angle, there's still a reflection - you can see an edge between the T and the X.

So years of struggling with the TX7's display finally persuaded me to do something about it - and I bought a backlit LCD. There are two types of backlight for LCDs: electro-luminescent panels (several different variants), and LEDs, Electroluminescent panels use a high frequency, high voltage oscillator to light up a panel behind the LCD, and the pale blue 'EL Foil' variety seem to have lives of a few years - so for example, my Kawai K5, Korg Wavestation and Yamaha SY99 all have electroluminescent backlights that no longer work. Replacing these displays (or the inverter electronics, which seem to contain the parts that fail) buys you another few years, and then they die again (my K5, for example). On gear which is already vintage, then the strain of major surgery to replace a display every few years seems like a dangerous gamble...

Notable 'classic' electroluminescent panels were used in the HH IC100 amplifiers in the 1970s. Curiously, the green-blue backlight, which illuminates all of the markings on the rotary controls on the front panels, seems to have a very long life, with many still working...


(Photo of an HH IC100 in the dark by James Davies,  https://www.flickr.com/photos/jamesdavies/14764665183 )

Anyway, I bought a replacement LCD (with a green LED backlight) for the TX7 from Chris at CPMagneticMedia on ebay.co.uk. It arrived very quickly, and was well packaged, bubble-wrapped on the outside, and then that dark reflective anti-static plastic inside. Fitting it was straight-forward: the TX7 needs only a few screws removing to open it up, and the LCD is easily accessible. The small black plastic 'pop rivet' connectors that are used to fasten the LCD onto the mounting brackets are quite fiddly, so here's a quick guide to releasing and installing them if you aren't familiar with how they work.


Releasing the pop rivet is kind of counter-intuitive. You can try to pull out the top of the mushroom part, but it is much easier to just push at the stalk with a small screwdriver and the mushroom part will just pop out.


Installing is the fiddly bit. First, you push the rivet in place, to hold the LC module onto the bracket.


Then you push the mushroom part into place in the round hole side of the rivet:


The mushroom part will lock into place and the sides of the rivet are pushed out slightly, holding the LCD module securely to the metal bracket.


Once the LCD is securely held in the brackets, there's a temptation to over-tighten the screws on the brackets, which the detailed instruction PDF warns you not to do! It was interesting to see that Yamaha had put an empty header with +5 and Ground on the main PCB, which made the backlight power easy to hook up, and I did wonder if Yamaha intended it to be used for a backlit LCD upgrade...

The end result tones with the cyan buttons on the TX7 rather nicely, and it is consistent with many of the 1990s Yamaha LCDs that also used green backlights:


Most importantly, it is now easily readable in high ambient lighting, with reflections, with ceiling lights, and in the dark. Much better, and I wish I had done it a long time ago. If it wasn't for my bad experience with the K5, then I might consider doing it for some of my other vintage synths. (although in general, many 80s synths require quite a lot of disassembly in order to get to the display and replace it, and that can be a lot of work...) Maybe one day...

However, I have to say that recent 'hardware' excursions have rather whetted my appetite for minor updates, and after the TR-505 and TX7, there may soon be additional posts on simple updates to some more of my vintage gear...

Links

HH Electronics on Wikipedia
CPMagneticMedia on ebay.co.uk
Yamaha TX7 on Encyclotronic

---

If you find my writing helpful, informative or entertaining, then please consider visiting these links:


Synthesizerwriter's StoreSynthesizerwriter's Store




Saturday, 9 February 2019

Modulated Sine Waves Two Ways - A Recipe in Two Parts (Part 2)

In the first part of this post, I covered the 'gen' part of how I made an FM drone generator based on the Rebel Technology Tutorial Workshop at Somerset House, London, in December. In this second part, I look at taking the gen code and turning it into a Max For Live device.

My starting point was as generic an FM sound generator as I could produce, using the many workshop attendee examples as the starting points (so the underlying examples in the workshop are a strong influence here). The gen~ code and the block diagram for what I made as my underlying oscillator module looked like this:



Now Gen is part of Max, and I was still running Max 7.3.5 at the time, because I'm a cautious updater rather than a b/leading edger. My plan was to leave the gen~ code alone and just put it inside a Max For Live device, which is where things got interesting...


So here's the gen~ module inside a Max For Live wrapper, with added spectrum display and rotary controls. 

Now you may have seen a social media post reporting that some versions of Live 10 and Max 8 doesn’t do exactly what you might expect with gen~. I saw it, so I contacted Cycling’ 74 and Ableton (which, btw, is always the best route: social media can sometimes be unreliable) and found that the Live 10.0.6 release should be fine with editing gen~ if you are using the full licensed Max 7 or Max 8. 

As a related sideline, I also learned something very interesting: Max 8 introduces a new object called ‘gen’ that works for events. Despite the name, that lack of a squiggly tilda is very significant. The underlying technology that you see in all of the gen~ patchers that I have been showing is called Gen, and it provides access to ‘lower level’ objects than the ones you get in Max, as well as embedded code. In this example, I’m working with audio signals, and so I'm using the gen~ object, not the ‘gen’ object.



Now  I wasn't aware of the new ‘gen’ object, and it is always good to take a look at new things in Max. So to find the differences between the gen and the gen~ objects, I looked at the help pages inside Max:




So rather than try and explore unknown territory with Live 10.0.2 (and more recently 10.0.5) I decided to update from Max 7.3.5 to Max 8.0.2, and to convert from using gen~ to just Max so that I could leave exploring using gen~ inside Max For Live for later on, when Live 10.0.6 is released (which now seems to be part 3 of this two-part blog post). So not quite the easy 'write it in gen~ and use it anywhere' that I was going to do, but at least I had learnt a lot, and I was now slightly more cautious about my planned next step follow-up, which was to explore the possibilities of the 'gen~-to-VST’ process (part 4!).

So the new 'first' task for a Max For Live version was now to turn this 'gen~' code into Max For Live for each of the bits that were inside the gen~ object in the grey screenshot several shots above.


This is the top level of the gen~ code, directly translated from gen~ into Max. Because Max has a toggle button already, then all of the DIY code to create a toggle button isn't needed here! The number of oscillators has also been increased: 10 pairs giving 20 oscillators here.


The 'spreader' code is almost exactly the same! Now I know that in Max 8, there are built-in functions to allow you to create 'spread' parameters for the multiple instances of a patch that you get by using the 'mc' object, but that would completely wipe out the 'gen~-to-Max' theme that I started with, and will be something I will look at in a future post! (Also, the spread functionality is in Max, and not in gen~, and so it won't work for projects that can only use gen~, as is the case with devices like those from Rebel technology.


As in the gen~ code, in the translation-to-Max, there are two oscillators, one detuned by 1.001 (I didn't spend any time optimising this!) and a straight-forward LFO-driven anti-phase panning circuit. Above this, there is the modulation section, which has another LFO (that can also run at audio frequencies...) and uses a selectable '+' or '*'object to do the modulation. The '+' gives 'linear' 'vibrato-style' FM and the '*' 'multiply' object gives 'multiply' FM (FM = frequency modulation). In this implementation (with these frequencies and modulation indexes), then 'Linear/vibrato' gives a milder sound, whilst 'Multiply/FM' is much brighter in timbre. Having two different sound source timbres is always good, and in Max For Live it is easy to add a switch for it. In hardware devices like the OWL Pedal, then adding a toggle switch isn't quite as straight-forward - but I have done it and this is described in a previous post in this blog.

One final translation is something which I've long wondered about why there isn't a pre-made object like this in Max. The 'dc-block' gen~ object stops DC voltages from getting into the audio output, and for an FM-based sound generator, then it should be very useful for avoiding 'clicky' speaker-stressing audio signals.


The contents of the DC-block patcher aren't complex - it is just that the parameters are tricky to remember!

Anyway, the final MAX-ified version has three repetitions of the 20-oscillator 'grey screenshot' above, and so provides 60 oscillators across three separate 'parts'. This gives some very interesting sound generation possibilities. Finally, I added MIDI input for pitch, so this is now a simple monophonic instrument for making drone sounds with various timbres and frequency content. Enjoy!

Getting INSTsineATMOSPHERE

You can download INSTsineATMOSPHERE for free from MaxForLive.com.

If you drag the .amxd file that you download from MaxForLive.com into the 'Third Party Packs' folder in 'Places' in the Brower panel on the left-hand side of Live, then you will be able to find it easily when you need it.

Modular Equivalents

In terms of modular equivalents, then reproducing this functionality using just basic modules in my modulars just required lots of VCOs and LFOs. But 60 VCOs is a lot of modules, and when you add LFOS it gives a modular equivalent of 120 ME, with a lot more modules required for the panning... If I throw away the 'you can only use basic modules' requirement, then things are different, but then we lose any basis of comparison.

Buy me a coffeeBuy me a coffee






Saturday, 19 December 2015

Sine3Generator

I've just published a new sound generator on the MaxForLive.com web-site. Here's the usual extended user guide...


Sine3Generator is a sound generator - and yes, I've done them before, and this is another one. Currently in a 'light' version with purple trim, I will update it to a 'dark' version over the next few weeks, and I may be unable to resist making a few tweaks too. 


This sound generator does not respond to MIDI inputs - it just sits there and makes noises continually...

What seems like a long time ago now, I wrote a series of 15 generators in 'Reaktor', and this represents a revisiting and updating of those ideas in M4L. There is lots of history to this type of stand-alone 'sound generator'. Modular synthesisers lend themselves quite well to this type of FM chaining, particularly if there are only a few VCOs... Back in the 1970s I built cascaded relaxation oscillators using injunction transistors, and discovered that frequency ability and tuning were very important, which is very apparent in some synthesisers of the time - the vernier dials on the EMS VCS3 are a good example, and the VCS3's matrix interconnection panel lends itself very well to complex chains of devices... 

More recently, Noisedrone .1 and Noisedrone2 have used Max For Live (M4L) to make sounds using cascaded chains of oscillators, and these have been popular downloads on the MaxForLive.com web-site. Another popular generator is my Noise Generator 0.4... So with 15 designs languishing on my hard drive, it seemed like a good time to blow the dust off them and try publishing them again.

The basic idea is very simple. A sine wave oscillator with LFOs that can modulate the pitch and the output is frequency modulated by another similar oscillator, which is modulated by another similar oscillator. It's a simple FM generator with a lot of controls, and a flexible output stage. The output allows mixing of three harmonically-diverse outputs: the third modulated oscillator itself ('Sine'), the ring modulated output of the third and second oscillators ('Ring') and the output of the second oscillator 'sample & hold' processed by the third oscillator, with LFO modulation of the mixing, plus LFO panning as well. 

A good way to start is to turn all the controls to the leftmost minimum position (and save this as a preset of course!), and then to select the Sine button, adjust the volume to your preference, and choose the pitch you want in Oscillator 3 (there's just a Pitch control there, so it is easy to find!). This is a good place to learn the output options: LFO modulation of volume, plus LFO panning. A lot of my M4L has similar approaches to things, so if you've seen one of my 'Pan' sections, then you will recognise the same controls across many of my devices. One variant here is that my 'usual' LFO has the ability to free-run or to sync with the Live timing, but for Sine3Generator, then you only get free running LFOs. 

Once you have the basic Oscillator 3 under your control (some ping-pong echo is very often applied to the output of this type of generator...) then there is the LFO modulation of the pitch of the oscillator to try out. 'Under control' is an interesting phrase. When I worked in a music shop we used to do listening exercises: someone would play a chord and the rest of us would say what it was, or someone would make a sound on a synth and everyone would have to recreate it from scratch. Rick Wakeman was famous for being able to set up a sound on a MiniMoog just by adjusting the knobs, and then playing it without the incremental audition/edit cycle that you often see, and of which I'm often a big user, particularly for FM synthesis. Which neatly brings me back onto the topic...

When you are comfortable with all of the controls for Oscillator 3, then you can try moving to the left and try exploring the pitch and modulation controls for Oscillator 2, then the LFO pitch modulation for that oscillator, and so on. (There's a bit of a theme here too - my devices often start in the middle and move outwards, but just to keep your awake, some of them start on the left and move to the right. Which format I use usually depends on the workflow...)

Because Oscillator 1 is at the top of a stack of FM then it can cause big changes to the oscillators underneath it, so be cautious at first with the pitch and modulation controls. If everything gets too much, then just go back to the 'all leftmost' preset that you saved and start again from Oscillator 3.

There's a lot to explore in Sine3Generator, and a lot of sounds waiting to be created. Recording the output and processing it further is thoroughly encouraged! Audacity is my editor of choice here, although mine is very customised...



(As always, my M4L stuff is a 'work in progress', so it may not be perfect (in fact, it probably won't be, because perfection is a rare thing indeed!), and early versions tend not to have very much help on controls included in the M4L. I know that this is a good thing to have, but I'm short on time an speed gets you fun things quickly, and none of my stuff is supposed to be professional, with timely support and detailed help inside. But please feel free to report bugs via the comments on MaxForLive.com, and I will try to fix them when I can find time. )


There is now also a 'dark' version...
Related articles