Just set independently volume left, volume right : )
Yes, exactly. Read my description in the previous post.
Months ago, I have already written the code on ESP32 for handling a hi-res LCD screen with big smooth fonts, hi-res rotary encoder, IR remote & balance control, as well as a user friendly menu system with user adjustable settings for fading, flash screen, display colors, etc. It's only the Muses part that needs to be completed.
Last edited:
For example, if you have 24bit audio track do not expect 24 bits after software attenuation!
Lots of new dac chips do attenuation using high bit maths. How much resolution do you think you loose with a 48 bit digital volume control?
I use Shallco switches with nice resistors for analogue but digital has much better clarity if attenuated by the dac volume control. Tbh i was rather shocked by how coloured and lacking in resolution the switched attenuator sounded in comparison.
No much love for relays here, even when using a single relay contact per attenuation position and using the relays in inverted mode, i.e. only passing signal through the normally closed contact.
LDR's totally suck to my old ears, whether used in shunt or potentiometric connection. CMOS switches ditto. No opinion about multiplying dacs or the bipolar switches Pass Labs use, should try them some day.
The Muses chips seem to be able to handle much higher signal levels compared to the PGA2311 type (e.g. 18V vs 2V RMS).
255-step, approximately 0.25dB steps, volume control, mute, balance, input designed by @johnhenryharris balanced or single ended. Uses an Apple remote or rotary encoder for volume, standby power, mute, balance, display dimmness.
https://www.diyaudio.com/community/threads/preamp-control-volume-input-mute-remote.326029/

Input selection board

https://www.diyaudio.com/community/threads/preamp-control-volume-input-mute-remote.326029/

Input selection board

@analog_sa , my opinion, every manipulation on audio material is a loss format, some is loss(less) and some is loss(yes) : ) it is NOT loss(free) definitelly. I didn't tried analog relays and I'm afraid it will be no diference between max14662 (which I tried), ts5a (which I tried) and now analog relays (which I want to try) because first two (pros is short path and small size, cons is high thd) and analog relay (pros better contact, more Vpkpk and current, cons biger signal path which can pickup noise trought contacs which is like an antena), generaly I not like analog sound trught digital music because of too many manipulations done in signal chain, I hear diference, the first one is dynamic loss. Pdm modulation, smps, high freq... it simply no go with fine analog things. The analogy is for tape, magne, gramo, time has trampled it. I found me in ddpd, only one conversion/manipulation is done on LC filter and speakers, I hear huge dynamic uncomparable to anything I hear. And I want to try dsd2pcm for dsd conversion to pcm because of need for dsp (I know that I will get loss"less" but possible loss"yes" and definitelly NOT loss"free") and if it not sound as how I want it will be omited and pure dsd will be used. Volume control by variable power supply, definitelly yes. Even dsd2pcm and pcm2dsd for me it sound better than any alalogy I hear. I'm using ct7302 and for usb Amanero and want to replace Amanero with ct7601. I have nowhere else to wander, I have found everything that satisfies me. Just my opinion. The only thing, analog, which I care is power supply, I'm looking for good regulated variable power supply, smps, the rest I allready know what to, today technology, ganFets with integrated isolator and gate drive, it is realy easy to play with things.
Last edited:
That looks good! I plan to use the Muses chip in my preamp as well: can I wire it just between a buffer and the gain stage? Or do I need additional opamps? There was a 20k pot that I have replaced with a relay attenuator, but the clicks annoy me. I don't understand if it's possible to just substitute a pot with the Muses chip, and how impedance matching works...
Hi,
I was thinking about something simple and came up with following design:
6 relays attenuator [0..-63dB]
Three options for control:
1. Potentiometer
2. Encoder
3. External MCU, via I2C
To enable it as standalone module, it can be configured as I2C master and output attenuation level to a display (I'm thinking about ssd1306 128x64 OLED)
I was thinking about something simple and came up with following design:
6 relays attenuator [0..-63dB]
Three options for control:
1. Potentiometer
2. Encoder
3. External MCU, via I2C
To enable it as standalone module, it can be configured as I2C master and output attenuation level to a display (I'm thinking about ssd1306 128x64 OLED)
Attachments
That looks good! I plan to use the Muses chip in my preamp as well: can I wire it just between a buffer and the gain stage? Or do I need additional opamps? There was a 20k pot that I have replaced with a relay attenuator, but the clicks annoy me. I don't understand if it's possible to just substitute a pot with the Muses chip, and how impedance matching works...
I'm afraid I can't really advise you on where to put the Muses on your preamp. I would think the best position is to put it where it will replace the pot. I'd be inclined to ignore opamps if you already have gain in your preamp. Maybe someone more knowledgeable can confirm.
With the Iron Pre, which has 6 or 12dB gain, depending on a jumper position, I'm using the Muses where the pot would have been - that is after the gain stage.
in Iron Pre, pot is ditto after input selector, then goes JFet buffer, then goes output autoformer
Noted. Thanks for the correction, Mighty ZM. 👍
With the Muses chip, it seems that balance can be handled with a set dB value attenuation on the lower channel. it works fine throughout the volume range from zero to full attenuation. I have tested it this way and the balance position stays fixed at all attenuation levels.
In my code, balance is represented by a global variable, defined as int Balance_dB. If the value is negative, e.g. Balance_dB = -5, then the left channel gets attenuated by 5dB. If the value is positive, the right hand channel gets attenuated. If it's 0, then no balance is applied.
NB: leftVolume & rightVolume is attenuation in dB.
In my code, balance is represented by a global variable, defined as int Balance_dB. If the value is negative, e.g. Balance_dB = -5, then the left channel gets attenuated by 5dB. If the value is positive, the right hand channel gets attenuated. If it's 0, then no balance is applied.
NB: leftVolume & rightVolume is attenuation in dB.
Code:
if (Balance_dB != 0) {
if (Balance_dB < 0) {
leftVolume -= abs(Balance_dB);
} else {
rightVolume -= Balance_dB;
}
}
PCB với MUSES72320 và NJW1119A.
That looks very interesting. Can you please supply more information?
I see Vietnamese. Use a translator if it's easier.
I've just added Muses72320 code for the ESP32 to post #1
It is based on the Arduino code by @alexcp. Admittedly, it's not as polished and refined as the library, but it works well enough. I've tested it on an ESP32 DOIT Devkit V1, which I think is quite a popular model ESP.
My hope is that it will allow the use of Muses attenuator chips while driving better and larger hi-res LCD screens.
Enjoy!
It is based on the Arduino code by @alexcp. Admittedly, it's not as polished and refined as the library, but it works well enough. I've tested it on an ESP32 DOIT Devkit V1, which I think is quite a popular model ESP.
My hope is that it will allow the use of Muses attenuator chips while driving better and larger hi-res LCD screens.
Enjoy!
Today, I managed to successfully integrate the Muses chip and a 2.4" TFT LCD screen together in the same ESP32 code for the first time. Both devices use the SPI protocol, and despite my lack of prior experience with SPI, I successfully managed to make them work together.
I could not find it so far on Diyaudio or the elsewhere. I need Muses72320 C code for a Microchip (PIC16F). Before writing the code by myself, is there anyone who has this and is willing to share the code with me?
“If it weren't for generous people like Nelson Pass, Wayne Colburn, Zen Mod, Mark Johnson, XRK, 6L6, AKSA, Salas, and many others, our DIY efforts would have looked very different. And since this forum is called diyAudio, we should embrace the culture of sharing. So, in the spirit of DIY, I encourage everyone who can contribute, to share information about digital attenuation, no matter how small.”
I’m quoting Skylar88 because it represents also my thinking.
When I finally get my Iron pre kit, I had to decide what to use for volume control.
I found that Muses solution were very attractive and I decided to try it.
Since there where no any non commercial project available I decided to make my own.
Free time is very little so it took a while to get the job done, but here it is.
Board as been tested on both Iron Pre version, SE and Balanced (two board are needed for Bal) and it work very well.
What next?
Now that I have a working Muses board I will make a MCU board for it
In this moment I’m using an Arduino Uno with the code that can be download in the very first post of this thread.
I’m planning to make the MCU board with these spec:
Once I will have the MCU board ready I’ll share it and also start writing a code for it. In the meantime if there is someone that want to collaborate writing the code, I can send an assembled and tested Muse board at shipping cost.
Here are some picture of board and IP BAL under test.
I’m making some aesthetical change to the board and next week, once I will get the new ones, I will publish the Gerber files.
By the way, any comment or suggestion is very well welcome.
Michele
I’m quoting Skylar88 because it represents also my thinking.
When I finally get my Iron pre kit, I had to decide what to use for volume control.
I found that Muses solution were very attractive and I decided to try it.
Since there where no any non commercial project available I decided to make my own.
Free time is very little so it took a while to get the job done, but here it is.
- The board is based on Muses 72323 (not the 72320. 72323 is the newer version with better spec.)
- 3ch ISP Digital isolator on board in order to avoid any noise transfer from MCU to Iron Pre.
- 5v Voltage regulator on board for the clean side of digital isolator and 72323 digital section.
Board as been tested on both Iron Pre version, SE and Balanced (two board are needed for Bal) and it work very well.
What next?
Now that I have a working Muses board I will make a MCU board for it
In this moment I’m using an Arduino Uno with the code that can be download in the very first post of this thread.
I’m planning to make the MCU board with these spec:
- At the beginning my intention was to make a board with an embedded microprocessor, but then I changed for a more DIY friendly solution. It will be a kind of hat for an Arduino Nano. The Nano is available with different microcontroller. The basic one is the ATMega 328, but there are others like Nano 33 BLE or Nano ESP 32. All the Nano’s share the same pinout giving the user the possibility to choose a more powerful microprocessori if and when needed. This give the user the possibility, for example, to start with an Arduino Nano and the above mentioned code, and change later with a more powerful Nano, to drive an hi-res lcd for example.
- Five optoisolated line to control the IronPre input relays. In this way there is no need for separate PS for relay.
- 1 optoisolated line for optional power on relay
- 1 optoisolated “trigger” line (to turn on an external device like a power amp)
- 1 optional front panel button for power on/off
- Connector for ISP and I2C bus (to drive an hi-res LCD)
- Rotary encorder
- IR receiver for remote control
Once I will have the MCU board ready I’ll share it and also start writing a code for it. In the meantime if there is someone that want to collaborate writing the code, I can send an assembled and tested Muse board at shipping cost.
Here are some picture of board and IP BAL under test.
I’m making some aesthetical change to the board and next week, once I will get the new ones, I will publish the Gerber files.
By the way, any comment or suggestion is very well welcome.
Michele
Attachments
It's great that you're sharing your projects and ideas with us, Michele.
I really need to look into your method of isolating pins/lines.
You gave me an idea on what to do with the encoder switch. It'll be perfect for toggling the preamp on and off manually, as I intend having only the knob of the encoder on the faceplate and no other switches. The main method of interfacing with the user is obviously via the remote, but I want a way to at least switch the preamp on or off and changing the volume, without the remote.
Going with an ESP32 MCU, whether it's the original Espressif model or Arduino Nano type is pretty much a necessity if you're planning to use an LCD screen. I encourage you to use a model with lots of RAM/Flash RAM for storing font data, as you will need it for big smooth TrueType fonts. Btw, it seems the Espressif ESP32 is a lot cheaper (50%) than the Nano ESP32 and it's not that much bigger in size. I'm using the DOIT ESP32 Devkit V1.
Once you get going with running the LCD screen on the MCU, I'll post some tricks that I've picked up along the way. One of them I learned yesterday, and it is to make the LCD start up with a black screen and then displaying your screen font, without first flashing an annoying blank white screen. It may sound easy to do, but it was not, for me anyway. More later on the subject.
I really need to look into your method of isolating pins/lines.
You gave me an idea on what to do with the encoder switch. It'll be perfect for toggling the preamp on and off manually, as I intend having only the knob of the encoder on the faceplate and no other switches. The main method of interfacing with the user is obviously via the remote, but I want a way to at least switch the preamp on or off and changing the volume, without the remote.
Going with an ESP32 MCU, whether it's the original Espressif model or Arduino Nano type is pretty much a necessity if you're planning to use an LCD screen. I encourage you to use a model with lots of RAM/Flash RAM for storing font data, as you will need it for big smooth TrueType fonts. Btw, it seems the Espressif ESP32 is a lot cheaper (50%) than the Nano ESP32 and it's not that much bigger in size. I'm using the DOIT ESP32 Devkit V1.
Once you get going with running the LCD screen on the MCU, I'll post some tricks that I've picked up along the way. One of them I learned yesterday, and it is to make the LCD start up with a black screen and then displaying your screen font, without first flashing an annoying blank white screen. It may sound easy to do, but it was not, for me anyway. More later on the subject.
- Home
- Amplifiers
- Pass Labs
- Digital Control of Attenuation – Repository for DIY