Forum: Mikrocontroller und Digitale Elektronik Teensy Synth "Shruthi 2"


von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen zusammen..

Ich entwickel zur Zeit einen neuen DIY Synthesizer auf Basis eines 
Teensy 4.0 Boards. Der Synthesizer wird ähnlich aussehen wie der kleine 
Shruthi Synthesizer von Mutable Instruments. Im Vergleich zum Shruthi 
wird dieser Synth mehrstimmig sein, ein farbiges TFT Display besitzen 
und noch andere Dinge wzB ein 2Channel 16Bit DA-Wandler, digitale und 
analoge Filter. Das Gehäuse- und Platinen-Format wird ähnlich dem 
Shruthi sein (siehe Bild). Deshalb habe ich für das DIY Project auch den 
Namen "Shruthi 2" gewählt.

Display Test am Teensy: https://youtu.be/14eL3NDJccw

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Kleines Update..

"Bald wird wieder Musik gemacht.."  :))

Ich habe das 2.2 Zoll große TFT Display gegen ein kleineres 1.8 Zoll 
Display ersetzt. Ich bin der Meinung das passt besser zu dem kleinen 
Shruthi Format. Das 2.2 Zoll Display hat doch etwas überladen 
ausgesehen. Wellenformdarstellungen und Menütexte passen auch auf so 
einem kleinen Farbdisplay mit einer Auflösung von 128 x 160 Pixel.

Das Teensy 4.0 Board habe ich auf die Rückseite gesetzt. Was noch fehlt 
ist der 16Bit 2Ch. DA-Wandler PT8211. Dieser ist bestellt. Mit den 4 
Potis steuert man die Parametereinstellung. Der Encoder ist mit einer 
Tastenfunktion ausgestattet und steuert die Menüfunktionen. Es gibt 4 
analoge Eingänge für Modulation. Midi-Buchsen und 6 Tasten und 8 LED's.

Es wird die Möglichkeit geben, den "Shruthi 2" mit oder ohne Filterboard 
zu betreiben. Man hat dann die Möglichkeit, die digitalen Filter im 
Teensy zu nutzen.

Gruß Rolf

: Bearbeitet durch User
von tom (Gast)


Lesenswert?

Rolf D. schrieb:

> "Bald wird wieder Musik gemacht.."  :))

Kannst Du etwas zur Latenz sagen?
Bzw. ist der Teensy auch für Eurorack interessant, in interaktion mit 
CV?

Schön wäre, wenn man bei deinem Synth die Form der Hüllkurven einstellen 
oder gar modulieren könnte.
Das ist eine sehr mächtige Funktion, die auch im Mix sehr wichtig ist 
und letztlich Kompressoren oft überflüssig macht.
Unterschätze niemals das Anpingen von Filtern ...

Was für eine Syntheseform wird es?

von Rolf D. (rolfdegen)


Lesenswert?

Wellenform-, Wavetable-, Granular-, FM-, PWM-, Subtraktive-, Additive-, 
16Bit Samples, Digitale und Analoge Filter, Delay und Hall Effekte. Mal 
schaun was der kleine Professor so alles kann. Sound 16Bit DAC mit 
44.1KHz und Oversampling. Hülkuven: DAHDSR (Delay Attack Hold Decay 
Sustain Release), Sequencer, TFT color Display, Shruthi-Filterboards 
uvm..

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

tom schrieb:
> Kannst Du etwas zur Latenz sagen?
> Bzw. ist der Teensy auch für Eurorack interessant, in interaktion mit
> CV?

Hallo Tom

Ich habe jetzt Midi integriert und die Latenz gemessen. Sie liegt im 
Bereich von 5ms. Die ADC-Eingänge im Teensy 4.0 und Teensy 4.1 rauschen 
sehr. Eine 12Bit Auflösung für Modulationszwecke dadurch kaum machbar. 
Ich benutze 4 Potis an den ADC Eingängen mit einer 7Bit Auflösung. Das 
funktioniert gut. Für meine 4 Modulationseingänge werde ich einen 
externen 12Bit AD-Wandler zB den MCP3208 benutzen. Der hat einen 
Referenzspannungseingang. Beim Teensy 4.0 und 4.1 ist die 
Referenzspannung für den ADC direkt mit der Versorgungsspannung im Chip 
verbunden. Einen externen Referenzspannungseingang gibt es leider nicht.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

First sound on my Teensy Synth "Shruthi 2" . Der Sound ist nicht 
besonders gut da er vom Handy aufgenommen wurde. Die Hardware besteht 
jetzt aus einem Teensy 4.1 Board und SGTL5000 2ch. 16Bit DAC. Zur Zeit 
ist der Shruthi2 noch einstimmig. Er soll später aber 6stimmig werden.

Video: https://youtu.be/ffCMaR70G6g

Gruß Rolf

: Bearbeitet durch User
Beitrag #6439961 wurde vom Autor gelöscht.
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Zur Zeit beschäftige ich mich viel mit der Entwicklung des kleinen
"Shruthi 2" Synthesizer. Ein häufiges Problem bei Entwicklungen von
Musikelektronik Projekten am PC, ist ein störendes 50Hz Brummen im
Audiosignal. Schuld ist eine Masseschleife die durch eine Doppelerdung
durch das Tonsignalkabel zwischen PC, Mischpult, USB-Schnittstelle und
Oszilloskop, sowie dem Schutz-
kontaktleiter in der Elektroanlage entsteht.

Um das Brumm-Problem an meinem Arbeitsplatz in den Griff zu kriegen,
habe ich einen NF-Übertrager (Niederfrequenz-Übertrager) und USB
Isolator enutzt. Beide Geräte trennen das Signal galvanisch vom Synth
zum Mischpult und der USB-Schnittstelle am PC. Jetzt kann ich ohne
störendes Brumm mit dem geerdeten Oszilloskop am Synthesizer messen. Der
vewendete USB-Isolator von Meilhaus ist USB-1 und USB-2 kompatibel und
funktioniert unter Windows 10
problemlos. Ohne Probleme konnte ich auch mein Teensy 4.1 Board über den
USB-Isolator programmieren.

1.Bild: USB Isolator
Link:
https://www.reichelt.de/meilhaus-usb-isolator-me-usb-iso-me-usb-iso-p266402.html?search=ME+USB

2.Bild: NF-Übetrager
Link:
https://www.monacor.de/produkte/beschallungstechnik/signalverarbeitung/signaloptimierung/fga-40hq/

Gruß Rolf

von Bülent C. (mirki)


Lesenswert?

schönes Projekt!
In meinen Audio Projekten hatte ich vieles immer auf Differential 
ausgelegt. Dadurch hatte ich die "Erdungsprobleme" nicht.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Ab heute tanzen wir mehrstimmig :)

Der "Shruthi 2" hat jetzt 6 Stimmen und spielt polyphon. Ich denke man 
kann das noch auf 8 Stimmen ausbauen, da die Prozessorauslastung 
inklusiv der Filterberechnung unter 6% liegt. Zur Zeit gibt es nur einen 
Oszillator pro Stimme. Es werden später aber 2 pro Stimme. Die 
Oszillator Funktionen sind noch nicht integriert. Das ist jetzt mein 
nächster Schritt. Am Klang wird noch gearbeitet. Es ist halt noch viel
zu programmieren. Packen wirs an ;-)

1.Bild: Der Synth Block
2.Bild: Prototyp "Shruthi 2"

Video Link: https://youtu.be/Oj_5WZgwOww

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen :)

Ich habe die Potentiometer-Abfrage in den Setup-Einstellungen noch etwas 
optimiert. Das verhindert das zufällige Springen der Potiwerte in den 
Menüseiten.
1
#include <ResponsiveAnalogRead.h>
2
3
//init ADC inputs fom Teensy in Setup function
4
  pinMode(14, INPUT_DISABLE);
5
  pinMode(16, INPUT_DISABLE);
6
  pinMode(17, INPUT_DISABLE);
7
  pinMode(22, INPUT_DISABLE);
8
        ResponsiveAnalogRead analog1(A0, true);
9
        ResponsiveAnalogRead analog2(A2, true);
10
        ResponsiveAnalogRead analog3(A3, true);
11
        ResponsiveAnalogRead analog4(A8, true);
12
  analog1.setActivityThreshold(16);
13
  analog2.setActivityThreshold(16);
14
  analog3.setActivityThreshold(16);
15
  analog4.setActivityThreshold(16);
16
  analog1.enableEdgeSnap();
17
  analog2.enableEdgeSnap();
18
  analog3.enableEdgeSnap();
19
  analog4.enableEdgeSnap();
20
21
//*************************************************************************
22
// read Potentiometers 
23
//*************************************************************************
24
boolean read_pots (void)
25
{
26
  boolean pot_change = false;
27
  
28
  // read Potentiometer 1
29
  if (analog1.hasChanged() == true){
30
    pot_1 = ((analog1.getValue())>> 3);
31
    pot_1_change = true;
32
    pot_change = true;
33
  }
34
  
35
  // read Potentiometer 2
36
  if (analog2.hasChanged() == true){
37
    pot_2 = ((analog2.getValue())>> 3);
38
    pot_2_change = true;
39
    pot_change = true;
40
  }
41
  
42
  // read Potentiometer 3
43
  if (analog3.hasChanged() == true){
44
    pot_3 = ((analog3.getValue())>> 3);
45
    pot_3_change = true;
46
    pot_change = true;
47
  }
48
  
49
  // read Potentiometer 4
50
  if (analog4.hasChanged() == true){
51
    pot_4 = ((analog4.getValue())>> 3);
52
    pot_4_change = true;
53
    pot_change = true;
54
  }
55
  
56
  boolean temp_flag = pot_change;
57
  pot_change = false;
58
  return temp_flag;
59
}

Im Anhang der komplette Arduino Code. Alles noch in Arbeit ;)

Gruß Rolf

von tom (Gast)


Lesenswert?

Rolf D. schrieb:
> Midi integriert und die Latenz gemessen. Sie liegt im
> Bereich von 5ms. Die ADC-Eingänge im Teensy 4.0 und Teensy 4.1 rauschen
> sehr. Eine 12Bit Auflösung für Modulationszwecke dadurch kaum machbar.

Danke für die Angtwort. 5ms sind ja gerade an der Grenze des Virtuosen.
Vielleicht rauscht alles mit einer linearen Spannungsversorgung weniger 
als mit USB-Strom?
Da ich jetzt Deine Grafik der Hüllkurve gesehen habe und du es 
viellleicht überlesen hast oder nach wie vor unterschätzt:

tom schrieb:
> Schön wäre, wenn man bei deinem Synth die Form der Hüllkurven einstellen
> oder gar modulieren könnte.
> Das ist eine sehr mächtige Funktion, die auch im Mix sehr wichtig ist
> und letztlich Kompressoren oft überflüssig macht.
> Unterschätze niemals das Anpingen von Filtern ...

Einfach die Hüllkurve mit sich selbst rückgekoppelt positiv oder negativ 
multiplizieren.
Oder die einzelnen Stufen

hoch 1  linear,
hoch >1 konkav,
hoch <1 konvex.

von rbx (Gast)


Lesenswert?

Sehr schönes Projekt! :)

Rolf D. schrieb:
> Die ADC-Eingänge im Teensy 4.0 und Teensy 4.1 rauschen
> sehr. Eine 12Bit Auflösung für Modulationszwecke dadurch kaum machbar.

..man könnte zumindest das Rauschen modulieren.
Beim Yamaha TX16W ließen sich die Filtertables ganz gut modulieren, der 
hatte auch nur 12Bit. (Allerdings erst viele Jahre später..)
(und außerdem hatte der eine (für seine Zeit) ziemlich gute 
Tonhöhen-Erkennung bei Eingangssignalen.)

von Rolf D. (rolfdegen)


Lesenswert?

Hallöchen aus dem schönen Wuppertal (:

Für die vier externe Modulationsbuchsen werde ich einen MCP3204 oder 
MCP3208 verwenden. Der hat 12Bit und einen externen 
Referenzspannungsanschluss.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Heute habe ich das KeyTracking für den Filter implementiert. Der 
Digitale Multimode-Filter hat einen Steuereingang mit der Bezeichnung 
octaveControl(). Darüber lässt sich die Filtereckfrequenz steuern.

An diesen Steuereingang wird das Signal für Filter Envelope und für das 
KeyTracking über einen Mixer angeschlossen (siehe SynthBlock).

Die Filtereckfrequenz (cutoff) wird über den Parameter frequency() 
eingestellt und die Resonanz über den Parameter resonance().

1.Bild: Digital Multimode-Filter 
https://i.ibb.co/pP9N6Ts/Shruthi2-Synth-Block.jpg
2.Bild: SynthBlock

Später gibts noch eine Hörprobe.

Gruß Rolf

: Bearbeitet durch User
von Audiomann (Gast)


Lesenswert?

Rolf D. schrieb:
> Wellenform-, Wavetable-, Granular-, FM-, PWM-, Subtraktive-, Additive-
Geht mit der Wavetable auch Wave-Guide-Synthese?

Ich würde gerne sowas nachbauen:
Beitrag "Tonerzeugung und Klangformung mit wenig Rechenbedarf"
(siehe Beispielklang)

von tom (Gast)


Lesenswert?

klar geht das.
hier ist die GUI zum einfachen Patchen im Teensy:
https://www.pjrc.com/teensy/gui/index.html?info=AudioSynthWaveform

Je nachdem, was deine Ansprüche sind, wieviel Zeit Du hast und wie es am 
Ende genau aussehen soll, würde ich dir jedoch eine mächtigere 
Entwicklungsumgebung wie Pure Data (läuft auch embedded) oder 
SuperCollider oder Csound oder Faust oder Python empfehlen.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Erster Test mit 8 Stimmen.

Die Oszilloskopfunktion ist noch nicht perfekt und wird noch geändert.

Vermutlich liegt das am Framebuffer für die Anzeige.

Video: https://youtu.be/hQjbzxM8q1A

Gruß Rolf

von Rolf D. (rolfdegen)


Lesenswert?

Hab einen Word warp error in AtmelStudio 7. Ich weis nicht warum. Hab 
einen String in mehrere Zeilen geschrieben und mit Plus verbunden.

error: invalid operands of types 'const char [41]' and 'const char [77]' 
to binary 'operator+
1
const static char* INITPATCH = "Solina,1.00,0.43,0.00,0,0,0.99,1.00,0.00" + 
2
"1.00,0.47,0.0,12,-12,12,12,0,0.83,0.70,0.16,0.00,0.00,1.10,282.00,0.00" +
3
"0.70,0.00,7.24,0,0,0,10.48,0,0,0.00,1,4.00,1448.00,0.22,1864.00,41.00,808.00" + 
4
"0.92,991.00,5.60,0.83,0.00,0.0,0.0,0.0,0.0,0.0";

: Bearbeitet durch User
von Larry (Gast)


Lesenswert?

> 0.00" + "1.00,

Traditionsbewusste C-Schreiber nahmen einfach einen \.

0.00,\
1.00,

Und selbst der ist wohl ueberfluessig.
Ich wuerde mal ein gutes Buch empfehlen.
Es ist nicht das Telefonbuch.

von Rolf D. (rolfdegen)


Lesenswert?

Hallo Larry

Danke für deinen Hinweis. Funktioniert jetzt. Man lernt nie aus ;)

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen zusammen..

Ich habe mal versucht den Audio Block von einer Stimmen aus ingesammt 8 
Stimmen darzustellen. Die nicht belegten Eingänge von "voiceMIxer1" und 
"voiceMixerM" werden von den anderen Stimmen benutzt.

"waveformMod1a" und "waveformMod1b" sind die beiden Waveform 
Oszillatoren in einer Stimme. Oszillator Wellenformen sind "SINE", 
"bandlimited SAWTOOTH", "bandlimited SQUARE", "TRIANGLE", "bandlimidet 
Puls", "S&H", "variable TRIANGLE" (from Triangle to SAW) und USER.

1.Bild: VoiceNo 1
2.Bild: VoiceNo 1-8

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen und einen schönen Sonntag :)

Ich habe mal einen Vergleich von einer Bandlimitierten Wellenformen im 
"DeepMind6" und meiner "Jeannie" gemacht. Die kleine Jeannie klingt 
einfach nur bezaubernd ;-)

Video: https://youtu.be/wBGwYatS-Ks

Gruß Rolf

Beitrag #6468677 wurde von einem Moderator gelöscht.
Beitrag #6468679 wurde von einem Moderator gelöscht.
von Rolf D. (rolfdegen)


Lesenswert?

Hallöchen..

Nach längerer Krankheit melde ich mich wieder zurück und blicke Lustvoll 
in die Zukunft. Auch meine "Jeannie" fragt schon, wann es weiter geht 
mit der Synthesizer-Entwicklung.

Da mir der ganze Drahtverhau unter der Platine auf den Kecks ging, habe 
ich mich dazu entschlossen, dass Ganze noch einmal neu aufzubauen und 
ordentlich zu verlöten.

Da der interne AD-Wandler im Teensy-Prozessor zu sehr rauscht, wird für 
die Potentiometerabfrage und die vier Modulationseingänge ein 
preisgünstiger ATmega168 Prozessor verwendet.

Dieser wird über eine Serielle Leitung vom Teensy Prozessor zyklisch 
abgefragt und liefert die ADC-Werte.


Ich wünsche Euch ein schönes und besinnliches Weihnachtfest und bleibt 
gesund holy-willi

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen und Frohe Weihnacht holy-willi

Ich hatten jetzt wieder etwas Zeit und Lust und habe an meiner "Jeannie" 
weitergearbeitet.

Hab den kompletten Synth jetzt auf eine Lochrasterplatte gelötet und 
eine Stromversorgung +5V und +3.3V integriert.

Versorgt wird das Ganze von einem 9V Steckernetzteil. Der 7805 wird ca. 
39C warm bei einer max. Last von 160mA.

Das Arduino Nano Board ( ATmega328 ) für die Poti-Abfrage und 
Modulations-Eingänge wird später durch einen Atmega328 ersetzt.

Durch den integrierten ATmega328 wäre eine XT Version mit vielen Potis 
und Schaltern denkbar.

Als 16Bit Dac verwende ich jetzt den preiswerten PT8211. Der wird vom 
Teensy 4.1 Board mit 4fachen Oversampling (88KHz) angesteuert.

Da reicht dann ein einfacher LowPass Filter am Ausgang. Zusätzlich wird 
noch eine schaltbare Bassanhebung (Bassbooster) integriert.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Ich habe die Schaltung noch etwas abgeändert. Statt einem ATmega wird 
ein MCP3208 mit 8 Kanälen und einer Auflösung von 12 Bit verwendet. Der 
MCP3208 arbeitet mit 3.3V und hat ein sehr geringes Rauschen von ± 1 
LSB. Die ADC-Daten werden über den Teensy SPI-Port 0 mit 1,6 MHz 
Taktrate übertragen.

Gruß Rolf

: Bearbeitet durch User
von O. R. (oscherischery)


Lesenswert?

Rolf D. schrieb:

> Da der interne AD-Wandler im Teensy-Prozessor zu sehr rauscht, (...)

Vielleicht sind die Stützkondensatoren zu weit vom Controller weg? 
Verschieb die mal von Deinem Lochraster direkt auf die Teensy-Platine. 
D.h. 4,7 nF von jedem ADC-Pin nach Masse.

Die Kondensatoren verhindern den Spannungseinbruch beim Samplen, d.h. 
wenn sich der interne sample&hold-Kondensator umlädt. Sonst siehst Du 
Übersprechen der Nachbarkanäle und deutlich erhöhtes Rauschen. Für 10 
bit muss der externe Stützkondensator 1000x größer sein als der 
chip-interne Sample-Kondensator. Empfehlungen stehen meist im Datenblatt 
des ADC.

Alternativ kann man ADC-Eingänge auch niederohmig treiben, z.B. über 
einen Operationsverstärker. Diesen Weg wählt man bei schnellen Signalen, 
wo der RC-Tiefpass vor dem ADC sonst zu groß wäre.

Der Tiefpass vor dem ADC sollte übrigens zu Deiner Abtastrate passen. 
Stichwort Abtasttheorem. Abtastrate ist wie oft die Software einen neuen 
Wert zum Rechnen benutzt, nicht wie oft die Hardware wandelt.

von Rolf D. (rolfdegen)


Lesenswert?

Hallo O.R.

Danke für deine guten Tip's. Hab am Teensy 4.0 und 4.1 ADC schon viel 
ausprobiert auch mit 100nF Kondensatoren direkt am ADC-Eingang (Input 
Cap. 1.5pF). Wenn der Prozessor sehr aktiv ist, werden Störungen und 
Rauschen über die interne Versorgungsspannung 3.3V an den ADC 
weitergeleitet. Mehr als 8Bit sind effektiv kaum nutzbar. Aus diesem 
Grund habe ich mich für einen externen AD-Wandler entschieden.

Link zum Datenblatt Seite 60: 
https://www.mouser.de/datasheet/2/302/IMXRT1060IEC-1396579.pdf

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen und hoffentlich auf ein schönes neue Jahr 2021 :)

Ich hab an der "Jeannie" weiter gearbeitet und die Auswahl von 
verschiedenen Wellenform Bänken hinzugefügt. Mit dem freien WaveEditor 
von Synthesis Technology habe ich die verschiedenen Wellenformen 
erstellt und mit Hilfe von Audacity und einem HexEditor Nero in meinen 
Programmcode übertragen. Die Wellenformen befinden sich nach dem 
programmieren im 8MByte großen Flashspeicher des Teensy 4.1.

Link: Synthesis Technologie
https://www.synthtech.com/

Link: Audacity
https://www.audacity.de/

Link: HexEditor Nero
https://www.hhdsoftware.com/free-hex-editor

Link: Youtube
https://youtu.be/deOFKt0GxbE

Gruß Rolf

: Bearbeitet durch User
von Bülent C. (mirki)


Lesenswert?

Sehr schönes Projekt!!

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Rolf D. schrieb:
> Link: Youtube
> https://youtu.be/deOFKt0GxbE

Ich höre im Video während der Töne leise Knacklaute, welche zwischen 
beiden Kanälen hin und her wandert. Sind das Kompressionsartefakte bei 
Youtube oder ist dieses Knacken auch im Original vorhanden?

von Rolf D. (rolfdegen)


Lesenswert?

Ja hab ich auch bemerkt. Kann sein das es in der Effekt-Engine im Teensy 
passiert und ich die Lautstärke im Mischer etwas verringern muss. Mal 
schaun..

von Rolf D. (rolfdegen)


Lesenswert?

Hab mal auf einen Kanal mit Sinus und ohne Fx getestet. Kein Störungen.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Schaltplan

Änderungen vorbehalten. Grüße Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen zusammen oder alleine (:

Ich habe gestern den ganzen Tag an einer Schaltung herumgedoktert um das 
Einschaltknacksen an meiner "Jeannie" zu eliminieren. Viele 
Konstrukteure von Musikgeräten machen sich keine Gedanken darüber und 
verzichten aus Kostengründen auf den zusätzlichen Schaltungsaufwand. 
Ursache für den Einschalt- bzw Ausschaltknackser ist hauptsächlich die 
Single-Supply Versorgungsspannung in meinem Synth und der 
Ausgangsverstärker.

Link: 
https://www.all-electronics.de/wp-content/uploads/migrated/article-pdf/81722/ei08-11-056.pdf

Es gab viele Überlegungen den Ausgang mit speziellen CMOS-Schalten zB 
NS5B1G384 zu schalten oder eine symetrische Versorgungsspannung mit 
+5V/-5V zu integrieren. Aber alle Schaltungsvarianten waren ohne Erfolg 
gekrönt. Es gab beim Einschalten der Versorgungsspannung immer einen 
mehr oder weniger großen Störimpuls am Ausgang.

Hier der Einschaltimpuls am Ausgang mit symmetrischer 
Versorgungsspannung. Man kann hierbei schön erkennen, dass durch den 
unterschiedliche zeitlichen Aufbau der Versorgungsspannung (+5V 78L05, 
-5V 79L05 + LT1054 Ladungspumpe für negative Versorgungsspannung)am 
Ausgangsverstärker, ein kurzer Impuls entsteht.

Bild 1: Einschalt-Impuls. Gelb: +5V, Blau: -5V, Pink: Audio-Ausgang

Letztendlich habe ich mich aber doch wieder für ein kostengünstigere 
Schaltungsvariante mit einem Miniatur-Relais zB G6K-2F-Y-TR DC5 
entschieden.
Das Relais schaltet nachdem sich die Ausgangs-Elkos C18/C19 aufgeladen 
auf den Audioausgang. Ein Einschaltknacks an angeschlossenen Geräten 
sollte dadurch nicht mehr oder nur noch ganz leise auftreten.

Bild 2: Schaltungsvariante mit Miniatur-Relais am Ausgang

Gruß Rolf

: Bearbeitet durch User
von Micki (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Rolf,

das ist ja ein tolles Projekt. Ich bin neu in der Diy-Teensy-Ecke, habe 
aber fast das gleiche Ziel wie du und plane mit dem Teensy4.1 einen 
Universal-Editor zu bauen, der eben auch Polysynth kann.

Daher hätte ich großes Interesse an deinem Sketch. Ich habe allerdings 
keinen Link gesehen. Kann ich den haben.

Ich würde mich über eine Zusammenarbeit sehr freuen.

Beste Grüße aus Düsseldorf!
Bleib gesund

Micki

von Rolf D. (rolfdegen)


Lesenswert?

Hallo Micki

Kein Problem. Mein Code ist Open source und basiert auf den frien 
Code-Kern des Teensy Synthesizer TSYNTH von ElectroTechnique. Ich habe 
den Code für meine Synth angepasst und geändert und bin noch nicht 
fertig. Ich programmiere unter Atmel Studio 7.

Link TSynth: https://electrotechnique.cc/

Mein Code: 
https://drive.google.com/file/d/1YR7Gxg8-dmrmmCZVHiO7xNsEXhx2U4iD/view?usp=sharing

Mein aktueller Blog: 
https://www.sequencer.de/synthesizer/threads/avr-synthesizer-wave-1-de-generator.87599/page-19

Gruß Rolf

Beitrag #6552143 wurde vom Autor gelöscht.
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallo ..

Anti-Pop Schaltung ohne Relais ..

Der LM317 erhöht nach dem Einschalten langsam die Betriebsspannung für 
den Audioverstärker. Dadurch kommt es nur noch zu einem kleinen 
Störsignal beim Einschalten.

Da der LM317 wegen seiner internen Uref von 1,25V seinen Ausgang nicht 
auf 0 Volt regeln kann, sorgen die beiden Dioden D1 und D2  durch ihren 
Spannungsabfall dafür, dass der Anstieg der Ausgangsspannung bei 0 Volt 
beginnt. Der Spannungsabfall an D1 und D2 hat aber auch den Nachteil, 
das die maximale Versorgungsspannung am Ausgangsverstärker etwas singt.

1.Bild: Schaltung
2.Bild: Spannungsanstieg ohne AntiPop
3.Bild: Spannungsanstieg mit AntiPop

Audio File: 
https://drive.google.com/file/d/1BYZRGSl4H3rWMuQaOre5pfe5TaR1NqYx/view

Gruß Rolf

von Norbert S. (micki)


Lesenswert?

Hallo Rolf,

1000 Dank.
Du machst ziemlich das, was ich mir vorgestellt habe. Ich fand den 
TSynth toll, wollte aber nicht noch ein Gerät rumstehen haben. Aber 
meine Anfängerfähigkeiten reichen bisher nicht aus, um den TSynth 
umzustricken.
Ich danke erstmal für deine Infos und werde mir das heute Abend ansehen.

Beste Grüße
Micki

von Rolf D. (rolfdegen)


Lesenswert?

Hi Norbert,

ich stecke noch ziemlich tief in der Entwicklung. Daher der etwas 
chaotische Code. Hardware steht auch noch nicht ganz fest. Eventuell 
fallen die Modulationseingänge weg und dafür kommt noch ein kleiner 
Joystick und als Erweiterungsmodul eine steckbare Platine mit VF-1 
Effektchip dazu.

Gruß Rolf

von Norbert S. (micki)


Lesenswert?

Hallo Rolf,
gestern Abend habe ich mir das Skript und deine Schaltpläne angeschaut. 
Ich bin zutiefst beeindruckt. Ich werde mich da durchbeißen 😂👍

Eine Frage: Der Encoder hängt bei dir nur an Masse und am Teensy.
Bei mir (Interrupt nach Müller-Dürholt) klappt der nicht (?).

Benutzt du eine special Library? Wenn ja welche? Ich würde das Problem 
gerne lösen.

Weiter viel Erfolg wünscht
Micki

von Rolf D. (rolfdegen)


Lesenswert?

Hi Norbert

Für die Encoder-Abfrage wird aus der Arduino-Lib Encoder.h von Paul 
Stoffregen verwendet. Diese Abfrage nutzt interrupts.

Gruß Rolf

von Norbert Schreiber (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Rolf,

ich hoffe, ich kann diese Plattform nutzen, um Fragen zu stellen.
Falls es einen besseren Ort für einen Austausch gibt, dann wäre ich 
dankbar für einen Hinweis.

Ich habe den Encoder-Basic-Sketch von PS gestern probiert. Ursprünglich 
hatte ich die Pins 31 und 32 vorgesehen für DT und Clk, erhielt aber die 
unten angehängte Fehlermeldung.

Ich habs auch mit den Pins 8 und 9 versucht, gleiches Ergebnis.

Vielleicht siehst du ja schnell, was ich falsch mache.
Im *.doc meine Pinbelegung für Audio, Display, Knobs, Potis und Encoder

Beste Grüße
Norbert

********************************************************************

Arduino: 1.8.13 (Windows 10), TD: 1.53, Board: "Teensy 4.1, Serial, 600 
MHz, Faster, German"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs 
-logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools 
C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files 
(x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files 
(x86)\Arduino\libraries -libraries 
C:\Users\Micki\Documents\Arduino\libraries 
-fqbn=teensy:avr:teensy41:usb=serial,speed=600,opt=o2std,keys=de-de 
-ide-version=10813 -build-path 
C:\Users\Micki\AppData\Local\Temp\arduino_build_937643 -warnings=none 
-build-cache C:\Users\Micki\AppData\Local\Temp\arduino_cache_208821 
-verbose G:\Einplatinen Computer\Arduino 
Teensy\Encoder_Stoffregen\Encoder_Stoffregen.ino

C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine 
-hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program 
Files (x86)\Arduino\tools-builder -tools C:\Program Files 
(x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files 
(x86)\Arduino\libraries -libraries 
C:\Users\Micki\Documents\Arduino\libraries 
-fqbn=teensy:avr:teensy41:usb=serial,speed=600,opt=o2std,keys=de-de 
-ide-version=10813 -build-path 
C:\Users\Micki\AppData\Local\Temp\arduino_build_937643 -warnings=none 
-build-cache C:\Users\Micki\AppData\Local\Temp\arduino_cache_208821 
-verbose G:\Einplatinen Computer\Arduino 
Teensy\Encoder_Stoffregen\Encoder_Stoffregen.ino

Using board 'teensy41' from platform in folder: C:\Program Files 
(x86)\Arduino\hardware\teensy\avr

Using core 'teensy4' from platform in folder: C:\Program Files 
(x86)\Arduino\hardware\teensy\avr

Detecting libraries used...

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E 
-CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib 
-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN "-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\sketch\\E 
ncoder_Stoffregen.ino.cpp"  -o nul -DARDUINO_LIB_DISCOVERY_PHASE

Alternatives for Encoder.h: [Encoder@1.4.1 Encoder@1.4.1]

ResolveLibrary(Encoder.h)

  -> candidates: [Encoder@1.4.1 Encoder@1.4.1]

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E 
-CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib 
-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN "-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" 
"-IC:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\sketch\\E 
ncoder_Stoffregen.ino.cpp"  -o nul -DARDUINO_LIB_DISCOVERY_PHASE

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E 
-CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib 
-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN "-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" 
"-IC:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder" 
"-IC:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder\\utility" 
"C:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder\\Encoder.cpp" 
-o nul -DARDUINO_LIB_DISCOVERY_PHASE

Generating function prototypes...

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -E 
-CC -x c++ -w -g -Wall -ffunction-sections -fdata-sections -nostdlib 
-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN "-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" 
"-IC:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\sketch\\E 
ncoder_Stoffregen.ino.cpp"  -o 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\preproc\\ 
ctags_target_for_gcc_minus_e.cpp"  -DARDUINO_LIB_DISCOVERY_PHASE

"C:\\Program Files 
(x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u 
--language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns 
--line-directives 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\preproc\\ 
ctags_target_for_gcc_minus_e.cpp"

Sketch wird kompiliert...

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/precompile_helper" 
"C:\\Program Files (x86)\\Arduino\\hardware\\teensy\\avr/cores/teensy4" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643" 
"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -x 
c++-header -O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib 
-MMD -std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN "-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr/cores/teensy4" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643/pch/Arduin 
o.h"  -o 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643/pch/Arduin 
o.h.gch"

Using previously compiled file: 
C:\Users\Micki\AppData\Local\Temp\arduino_build_937643\pch\Arduino.h.gch

"C:\\Program Files 
(x86)\\Arduino\\hardware\\teensy/../tools/arm/bin/arm-none-eabi-g++" -c 
-O2 -g -Wall -ffunction-sections -fdata-sections -nostdlib -MMD 
-std=gnu++14 -fno-exceptions -fpermissive -fno-rtti 
-fno-threadsafe-statics -felide-constructors -Wno-error=narrowing 
-mthumb -mcpu=cortex-m7 -mfloat-abi=hard -mfpu=fpv5-d16 -D__IMXRT1062__ 
-DTEENSYDUINO=153 -DARDUINO=10813 -DARDUINO_TEENSY41 -DF_CPU=600000000 
-DUSB_SERIAL -DLAYOUT_GERMAN 
"-IC:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643/pch" 
"-IC:\\Program Files 
(x86)\\Arduino\\hardware\\teensy\\avr\\cores\\teensy4" 
"-IC:\\Users\\Micki\\Documents\\Arduino\\libraries\\Encoder" 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\sketch\\E 
ncoder_Stoffregen.ino.cpp"  -o 
"C:\\Users\\Micki\\AppData\\Local\\Temp\\arduino_build_937643\\sketch\\E 
ncoder_Stoffregen.ino.cpp.o"

In file included from G:\Einplatinen Computer\Arduino 
Teensy\Encoder_Stoffregen\Encoder_Stoffregen.ino:7:0:

C:\Users\Micki\Documents\Arduino\libraries\Encoder/Encoder.h: In 
constructor 'Encoder::Encoder(uint8_t, uint8_t)':

C:\Users\Micki\Documents\Arduino\libraries\Encoder/Encoder.h:82:25: 
error: cannot convert 'volatile uint32_t* {aka volatile long unsigned 
int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in 
assignment

   encoder.pin1_register = PIN_TO_BASEREG(pin1);

                         ^

C:\Users\Micki\Documents\Arduino\libraries\Encoder/Encoder.h:84:25: 
error: cannot convert 'volatile uint32_t* {aka volatile long unsigned 
int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in 
assignment

   encoder.pin2_register = PIN_TO_BASEREG(pin2);

                         ^

Mehrere Bibliotheken wurden für "Encoder.h" gefunden

 Benutzt: C:\Users\Micki\Documents\Arduino\libraries\Encoder

 Nicht benutzt: C:\Program Files 
(x86)\Arduino\hardware\teensy\avr\libraries\Encoder

Bibliothek Encoder in Version 1.4.1 im Ordner: 
C:\Users\Micki\Documents\Arduino\libraries\Encoder  wird verwendet

Fehler beim Kompilieren für das Board Teensy 4.1.

von Rolf D. (rolfdegen)


Lesenswert?

Ich glaube es liegt an der Definition für deine Encoder Variable. Nimm 
mal long statt byte ?

Beispiel
1
/* Encoder Library - TwoKnobs Example
2
 * http://www.pjrc.com/teensy/td_libs_Encoder.html
3
 *
4
 * This example code is in the public domain.
5
 */
6
7
#include <Encoder.h>
8
9
// Change these pin numbers to the pins connected to your encoder.
10
//   Best Performance: both pins have interrupt capability
11
//   Good Performance: only the first pin has interrupt capability
12
//   Low Performance:  neither pin has interrupt capability
13
Encoder knobLeft(5, 6);
14
Encoder knobRight(7, 8);
15
//   avoid using pins with LEDs attached
16
17
void setup() {
18
  Serial.begin(9600);
19
  Serial.println("TwoKnobs Encoder Test:");
20
}
21
22
long positionLeft  = -999;
23
long positionRight = -999;
24
25
void loop() {
26
  long newLeft, newRight;
27
  newLeft = knobLeft.read();
28
  newRight = knobRight.read();
29
  if (newLeft != positionLeft || newRight != positionRight) {
30
    Serial.print("Left = ");
31
    Serial.print(newLeft);
32
    Serial.print(", Right = ");
33
    Serial.print(newRight);
34
    Serial.println();
35
    positionLeft = newLeft;
36
    positionRight = newRight;
37
  }
38
  // if a character is sent from the serial monitor,
39
  // reset both back to zero.
40
  if (Serial.available()) {
41
    Serial.read();
42
    Serial.println("Reset both knobs to zero");
43
    knobLeft.write(0);
44
    knobRight.write(0);
45
  }
46
}

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Es geht voran. Ich bin gerade dabei die Filterpage zu programmieren und 
die Filterüberblendung von LowPass nach HighPass darzustellen.

Gruß Rolf

von Norbert S. (micki)


Lesenswert?

Hallo Rolf,

leider liegt es nicht an der Definition der Encoder-Variablen. Die ist 
ja auch schon im Sketch von Paul Stoffregen auf "long" gesetzt.

Ich denke, es hat was mit Routinen im Hintergrund zu tun. Im Fehlertext 
heißt es :
"cannot convert 'volatile uint32_t* {aka volatile long unsigned
int*}' to 'volatile uint8_t* {aka volatile unsigned char*}' in
assignment"
aber ich weiß nicht, was ich da machen könnte. Da fehlen mir die Skills.

Ich schreibe jetzt mal im pjrc-Forum. Vielleicht kennen die das Problem.

Schönes Wochenende und vielen Dank für die Unterstüzung.

von Rolf D. (rolfdegen)


Lesenswert?

Wie fragst du deiner Encoder genau ab.

In einer alten Version meiner Software frage ich den Encoder wie folgt 
ab:
1
#define ENCODER_OPTIMIZE_INTERRUPTS
2
#include <Encoder.h>
3
4
// Encoder Pins
5
Encoder myEnc(31, 30);
6
7
8
//*************************************************************************
9
// read Encoder
10
//*************************************************************************
11
boolean read_Encoder (void)
12
{
13
  int newPosition = (myEnc.read() >> 2);
14
  
15
  if (newPosition != oldPosition) {
16
    if (newPosition < 0) {
17
      newPosition = 0;
18
      oldPosition = 0;
19
      myEnc.write(0);      
20
    }
21
    
22
    else if (newPosition > 3){
23
      newPosition = 3;
24
      oldPosition = 3;
25
      myEnc.write(3 * 4);
26
    }
27
    oldPosition = newPosition;
28
    return true;
29
  }
30
  return false;
31
}

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallo again..

Kleines Video zum Filter: https://youtu.be/2QipRkolZk0

My next step ist die Implementierung von Filter- und Amp Envelope

Ein besseres Video folgt. Bis dahin liebe Grüße aus dem verregneten 
Wuppertal.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Kleines Update..

Die Envelopes bekommen noch einen Delay- und Hold Parameter. Diese 
beiden Parameter werden später noch in die Grafik hinzugefügt. 
Zusätzlich gibts in der Kopfzeile ein Peakmeter für die Kontrolle des 
Ausgangspegel am DAC.

Bis zum nächsten mal. Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallo liebe Freunde (:

Ich habe in der Jeannie die kleinste Attack Time von 1ms auf 0.25ms 
verringert. Das macht mehr Punch bei Percussion Sounds.

1.Bild 1ms
2.Bild 0.25ms

Grüße aus Wuppertal..

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Das Platinchen wird immer voller..

Jetzt sind LEDs, Taster und Joystick hinzugekommen. Ich hoffe Andre kann 
den Joystick irgendwie auf der Platine noch unterbringen. Damit lassen 
sich dann ausgewählte Parameter wzB Filter Cutoff und Pitch in der 
Modulationsmatrix modulieren. Zusätzlich bekommt die Jeannie noch ein 
steckbares Effektmodul Spin FV-1 auf die Rückseite der Platine montiert.

Das hier ist ein Prototyp und die Anordnung von Tastern, Potis u.a. 
wirds sich noch etwas ändern. Dann ist aber gut. Den Rest macht die 
Software.

Bis denn.. Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Das hier ist eine andere Platine mit dem Spin FV-1 Chip. Die hatte ein 
Freund für ein anderes Projekt entwickelt.

Der FV-1 klingt nicht übel. Ich habe den Chip damals als Prototyp in 
einen Degenerator eingebaut.

Sound-File vom Degenerator: 
https://drive.google.com/file/d/1jG6EDCP229hFpG_nj78ssqflCWHZS45M/view

Video: https://youtu.be/unN71yPqREU

Bild: FV-1 Prototyp im Degenerator

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Am Freitag habe ich von UK-electronic die FV-1 Chips bekommen. Dies sind 
28-polige SMD-Chips, aber das Löten ist nicht schwierig. Zum Vergleich 
daneben ein 8-poliges IC (1.Bild).

2.Bild Das Menü zum einstellen der Effekte wird in der Jeannie ähnlich 
aussehen wie im Degenerator.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Die Schaltpläne (Änderungen vorbehalten)

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen liebe Freunde..

Es geht voran. Corona hat auch was positives. Man verbringt mehr Zeit 
Zuhause und am Rechner. Bevor es ans layouten der Platinen geht, will 
ich wissen, ob alles funktioniert. Ich bin da vielleicht etwas 
altmodisch. Aber ein Versuchsaufbau auf dem Breadboard ist immer mit 
Kontaktproblemen und Störungen verbunden. Da löte ich lieber und bin mir 
sicher, dass es zumindest keine Kontaktprobleme gibt :)

Die rechte Platine wird das optionale Fx Board. Die Platine wird später 
im Layout etwas kleiner ausfallen und über eine Kontaktleiste auf die 
Rückseite mit der Hauptplatine verbunden.

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

1.Bild: Der Prototyp der Fv-1 Schaltung ist jetzt fertig gelötet und 
funktioniert fehlerfrei. Die Platine wird später etwas kleiner werden 
wegen SMD und Umplatzierung der Power Schaltung (+/- 5V) auf die 
Hauptplatine.

2.Bild: Das Fx Menü im Synth ist fast fertig. Es fehlt noch das erneute 
Anzeigen der Parameterwerte nach einem Programmwechsel.

Youtube: https://youtu.be/Tq4jn6Mz5Ko

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen und schönen Tag (:

Es gibt mal wieder ein paar Änderungen im Schaltplan. Der DAC Ausgang 
(PT8211) am Teensy Board hat einen aktiven 32KHz LowPass Filter bekommen 
(2.Bild). Dadurch werden hochfrequente Störsignale am Eingang des Effekt 
Chips verringert.

3.Bild
Der OTA (IC5a/b) für die Lautstärkeregelung des Effektsignals (MIX) ist 
jetzt an den Ausgang des Effekt Chips verlegt worden. Damit ist der 
Noisefloor am Synthesizer Ausgang bei kleinen Effekt Pegeln etwas 
geringer.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Wir haben damit begonnen die Platinen zu routen. Bin gespannt wie groß 
die werden.

Bild: Fx Board

von Tobias (. (Gast)


Lesenswert?

Hallo Rolf, hast du vor, an das Teensy auch MIDI-Geräte anzuschließen? 
Wie ist das gedacht? Ich hätte da einen gewissen Bedarf für einen 
MIDI-Empfänger, der müsste aber USB-host spielen können, um 
MIDI-Master-Keyboards verstehen zu können. Das Teensy wird als eine 
Plattform genannt, mit dem man einen USB-host bauen kann.

von Rolf D. (rolfdegen)


Lesenswert?

Hallo Tabias

Danke für dein Interesse. Ich muss deine Frage leider verneinen. Die 
"Jeannie" unterstützt in der derzeitigen Entwicklungsstufe nur ein 
normales Midi-In und Midi-Thru.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen :cheer:

Der Fortschritt lässt sich nicht aufhalten. Dieses mal geben wir richtig 
Gas. Das Fx Platienchen ist fertig. Andre hat jetzt damit begonnen das 
"Jeannie" Mainboard zu routen. Bin gespannt..

1.Bild: Fx Board
2.Bild: Mainboard

Das ist der erste Entwurf des "Jeannie" Mainboard (2.Bild). Es wird noch 
einige Änderungen geben wzB das Teensy Prozessor Modul (Links). Das wird 
noch weiter nach unten verschoben, damit man die USB Buchse von Außen 
benutzen kann.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Der 1.Entwurf in 3D

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Es geht voran..

Das 3D Model der Hauptplatinen. Die Platine hat ungefähr die Größe einer 
Laborkarte im Euroformat (160 x 100).

Das Fx Modul wird hinten einfach draufgesteckt.

4.Bild ist der aktueller Prototyp

Gruß Rolf und schönen Sonntag :)

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

So..

Die Platine jetzt fertig. Wir haben uns überlegt, für die Elektronik 
Bastler einen Expansions-Anschluss (K4, K8) im Synthesizer zu 
integrieren.

Er besteht aus 3 analogen Eingängen (0-3.3V) , sowie Datenleitungen und 
Stromversorgung für die Ansteuerung eines zweiten 74HC595.

Damit lassen sich z.B. über zwei 16 Kanal Analogmultiplexer (74HC4067) 
Potis, Schalter und Steuerspannungen abfragen.

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Ups.. Ich habe schon lange nichts mehr über unsere "Jeannie" gepostet. 
Der DIY Synth ist fast fertig. Bin noch dabei einen kleinen Step 
Sequencer zu integrieren.

Es können dann Platinen oder komplette Bausätze inkl. Gehäuse auf 
tubeohm.com bestellt werden.
LinK: https://www.tubeohm.com/new-developement.html

Blog: 
https://www.sequencer.de/synthesizer/threads/avr-synthesizer-wave-1-de-generator.87599/page-25

Youtube: https://youtu.be/azkAbpPoJL8
Youtube: https://youtu.be/V-1fEZYGhbw

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Für die LFOs habe ich noch eine Phasen Steuerung von 0 Grad und 180 Grad 
eingebaut.Im System Menü kann der globale Parameter für die 
Transponierung von +- 12 Halbtönen eingestellt werden.

Beim MasterTune bin ich mir noch nicht sicher ob die Einstellung ok ist.
Hab die Einstellung auf +- 10Hz beim 440Hz Grundton programmiert.
Das entspricht bei allen Tönen eine maximale Verstimmung von +- 2,27%
Sollte doch für eine Stimmung mit analogen Synthis ausreichen 🤔

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

First Case Designe

Es wird ein farbiges und transparentes Gehäuse werden mit farbig 
abgesetzten Seitenstützen.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Das ist der erster Entwurf für den Sequencer. Über die "Shift"-Taste 
wird es noch zusätzliche Parameter geben wzB die Anzahl der Steps oder 
Step Länge.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen liebe DIY Freunde..

Ich hatte heute etwas Lust und hab mal ein kleines Filmchen über die 
Jeannie gedreht. Die Ersten Eindrücke. Viel Spaß :)

Youtube: https://youtu.be/EwucWjbxPkU

von Michael W. (Gast)


Lesenswert?

Was sagen die Musiker zu der Bedienbarkeit? Schon die großen Sequencer 
am PC-Bildschirm werden von einigen nicht gemocht, da sie eine Aversion 
gegen Mausbedienung haben.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Danke für dein Interesse. Das Hauptmerkmal der Jeannie sind die 
Synthesizer Funktionen und die kleine Bauform. Ich wollte keine große 
Platine mit vielen Reglern und Tasten bauen. Das gibt es schon. Aus 
diesem Grund habe ich das Grafische Userinterface entwickelt um die 
Bedienung auch mit weniger Bauteilen zu realisieren. Der Sequencer ist 
eine kleine Zusatzfunktion.

Hier eine Sound Demo mit Sequencer. Der Sequencer in der Jeannie läuft 
und gleichzeitig werden auf einem angeschlossenen Midi-Keyboard Noten 
gespielt.
Link: 
https://drive.google.com/file/d/1s1OCn4WAIJBdLkKUmH0S9qgTmxRnekML/view?usp=sharing

Eigentlich ist die Jeannie ein kleiner "Clone" dieses Synthesizers 
(Bild) nur mit einigen Extras wzB 32Bit DAC und DSP Effekte Link: 
https://electrotechnique.cc/

Gruß Rolf

: Bearbeitet durch User
von Soul E. (Gast)


Lesenswert?

Ein "Clone" ist eine Kopie, ein Plagiat. Dein Gerät unterscheidet sich 
deutlich und enthält eine Menge eingene Leistung. Daher würde ich diesen 
Begriff hier nicht verwenden.

von Rolf D. (rolfdegen)


Lesenswert?

Der Synth Kern basiert auf der Entwicklung vom TSynth wurde von mir aber 
in vielen Punkten geändert.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Nach kleinen technischen Schwierigkeiten sind wir jetzt in der Endphase 
unserer Entwicklung. Mit dem FV-1 DSP Chip für die Effekte hatten wir 
noch etwas Probleme. Das konnten wir aber lösen. Die Bauteilbeschaffung 
ist noch ein kleines Problem. Wir versuchen es über Chinesische Händler. 
Die Gehäusekonstruktion ist fertig und wird in den nächsten Wochen 
bestellt. Es wird ein transparentes und farbiges Gehäuse mit Stützfüssen 
werden(ähnlich wie im Bild).

Mehr Informationen hier: https://www.tubeohm.com/new-developement.html

Ein paar technische Details zur Jeannie kann ich jetzt schon verraten..
* 8 stimmig polyphoner DIY Synthesizer
* ARM Cortex-M7 Prozessor 816MHz mit 1MByte Ram
* 2 digitale Oszillatoren pro Stimme mit PWM Kontrolle für Variable 
Pulse * und Variable Triangle Waveform
* 1 PWM LFO
* Pitch Envelope für beide Osczillatoren
* 2 LFOs für Pitch und Filter
* Osc FX (XOR, XMOD, MOD, AND, OR, FM) with OSC-Mix function
* 12 Standard Wellenformen (zum Teil bandlimitiert)
* 500 User Wellenformen
* Noise Generator (White or Pink)
* Digitaler 12dB Multimode Filter mit Resonanz und Überblendfunktion 
(LP/HP/BP)
* 2 ADSR Envelopes max 12sec für Amplifier und Filter mit positiver und 
negativer Steuerung
* Waveshaper mit verschiedenen Kurvenformen
* zwei Unisono Modes
* 15 DSP Effekte mit einstellbaren Parametern
* Farbiges TFT Display mit 128x160 Pixel
* 16 Step Sequencer
* SD Karte fürs laden und speichern der Sound Programme max 2048
* Externer Netzteilanschluss 12 VDC/1A und Netzschalter
und einiges mehr..

Sound Demo: https://youtu.be/UMu46sERF3A

Gruß Rolf

: Bearbeitet durch User
Beitrag #6817288 wurde vom Autor gelöscht.
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen liebe Synthianer smile

Das neue Jeannie Panel Board ist aus China eingetroffen. Andre hat das 
Board jetzt aufgebaut und getestet. Es funktioniert alles wundervoll. 
Das DIY Manual ist auch fast fertig. Jetzt fehlt nur noch das Gehäuse 
und dann sind wir fertig.

Gruß Rolf

: Bearbeitet durch User
von Tobias (. (Gast)


Lesenswert?

Rolf D. schrieb:
> Osc FX (XOR, XMOD, MOD, AND, OR, FM) with OSC-Mix function

Wie funktioniert denn das technisch? Also Musikalisch? Werden die 
Stimmen gemuxed / geunded? Das wäre eine Art Ring-OSC, oder?

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallo Tobias

Jede Stimme besitzt zwei Oszillatoren mit Modulationseingängen für 
Frequenz- und Phasenmodulation.

Die XOR Funktion ist eine Art Ringmodulation im Stil von Korg MS20. XMOD 
moduliert einen Oszillator mit dem anderen, abhängig von der Position 
des OscMix Reglers. Ein negativer Werte erhöht die Modulation von Osc1 
durch Osc2. Ein positiver Wert erhöht die Modulation von Osc2 durch 
Osc1.

Bei FM wird Osc1 durch Osc2 moduliert.

AND und OR ist eine digitale Logikfunktion beider Oszillator Ausgänge. 
Das Ergebnissen sind interessanten neuen Wellenformen bis hin zu 
aggressiver digitaler Verzerrung.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Unsere Gehäuse für die Jeannie geht jetzt in die Produktion :)

Gruß Rolf

von Rolf D. (rolfdegen)


Lesenswert?

Ein kleiner Synth mit viel Potential für Klangtüftler:

Ich habe in die kleinen Jeannie insgesammt 945 16Bit User Wellenformen 
gepackt. Dazu kommen noch 12 zum Teil bandlimitierte Grundwellenformen.
Dann für jede Stimme einen 12dB Multifilter mit Resonanz und dahinter
für jede Stimme einen separaten Waveshaper mit verschiedenen 
Kurvenformen.

Abgerundet wird das Ganze durch einen 24Bit Effekt DSP mit einstellbaren 
Parametern. Sollte für Klangtüftler ausreichen 👍

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Software Änderungen im Sequencer

Die Sequencer-Record Funktion nimmt jetzt Velocity-Werte beim Einspielen 
der Noten am Keyboard auf. Die Lautstärke der Noten entspricht einer 
Farbe. Je heller die Farbe um so lauter die Note.

Ferner ist ein Sequencer Poly-Mode geplant. Schließlich haben wir ja 
einen 8 stimmigen Synthesizer.Dabei werden maximal 4 Noten gleichzeitig 
in einem Step gespeichert.

Gruß Rolf

von Rolf D. (rolfdegen)


Lesenswert?

Frohe Kunde.. :)

Wie mir Andre berichtet ist unser Effekt DSP begrenzt wieder lieferbar. 
Aber leider zu einem etwas höheren Preis. Damit können wir bald unser 
Jeannie DIY Kit inklusive Gehäuse im vollen Umfang auf der Website von 
tubeohm.com zum verkauf anbieten.

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Die neuen Gehäuse für unseren DIY Synthi sind eingetroffen. Wir haben 
zum Test mal drei Farben bestellt. Ich finde das gelbe Case sehr gut.

Gruß Rolf

von Jimi H. (jimih)


Lesenswert?

Hallo Rolf,
wie wird dieser Synthesizer überhaupt eingesetzt?
Wird das Teil via MIDI angesteuert?

Jimi

von Rolf D. (rolfdegen)


Lesenswert?

Hallo Jimi

Es gibt Midi IN und Midi OUT bzw True. Uber MIDI CC Messages können 
Parameter gesteuert werden. Eine Midi-Software für die Jeannie ist 
geplant.

Eigenschaften

    • 8 stimmig polyphoner DIY Synthesizer
    • ARM Cortex-M7 Prozessor 816MHz mit 1MByte Ram
    • zwei digitale Oszillatoren pro Stimme
    • 15 Wellenformbänke mit insgesamt 945 Wellenformen
    • 12 Standard Wellenformen zum Teil bandlimitiert
    • Rauschgenerator (White und Pink Noise)
    • Oszillator Modulation (XOR, XMOD, MOD, AND, OR, FM)
    • Waveshaper mit Verschiedenen Kurvenformen
    • 2 LFOs für Pitch und Filter mit 6 unterschiedlichen Wellenformen
    • 1 PWM LFO von 0.04Hz - 25Hz
    • Digitaler 12dB Multimode Filter mit Resonanz und Überblendfunktion 
(LP/HP/BP)
    • 2 ADSR Generatoren 0.5ms – 12s mit positiver und negativer 
Steuerung
    • 24Bit DSP Effekt Modul mit 15 Effekten und einstellbaren 
Parametern
    • polyphoner 16 Step Sequencer
    • SD Karten fürs Laden und Speichern der Sound Programme max. 2048
    • Farbiges 1.8 Zoll Display mit einer Auflösung von 160x128 Pixel
    • Lautstärkeregler
    • Boost Funktion für tiefe Bässe
    • Stereo Audioausgang Klinkenbuchse 6.3mm
    • 4 Potentiometer für die Parametereingaben
    • Drehgeber für Menüsteuerung und Soundauswahl
    • 6 Funktionstaster
    • Externes Netzteil 12 VDC/1000mA
    • und Netzschalter

Gruß Rolf

: Bearbeitet durch User
von Tobias (. (Gast)


Lesenswert?

Hey, das schaut jetzt richtig gut aus!
Von dem, was der so kann, steckt der die krüppeligen 
Behringer-Mini-Clones aber locker in die Tasche, oder?

Was kosten denn die Teile und das Gehäuse?

von Rolf D. (rolfdegen)


Lesenswert?

Hallo Tobias

Schau mal hier..  Link: https://www.tubeohm.com/jeannie.html

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..

Meine Jeannie hat jetzt endlich ein schönes Zuhause gefunden :)

Ab sofort gibts auf https://www.tubeohm.com/jeannie.html Kits, Bauteile 
und Bauanleitung.

Gruß Rolf

von Rolf D. (rolfdegen)



Lesenswert?

Kleines Fotoshooting mit Jeannie und ein wenig Musik

Youtube: https://youtu.be/ZQ4xBk2VSVQ

Link: https://www.tubeohm.com/

Gruß Rolf

von Tobias (. (Gast)


Lesenswert?

Schaut richtig cool aus! Wenn der etwas kann, was andere nicht haben, 
werden sich den sicher einige Musik ins Studio stellen. Sieht schon mal 
besser aus, als die B......r-Plagiate.

von Rolf D. (rolfdegen)


Lesenswert?

Danke :) und einen schönen Rutsch ins neue Jahr.

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallöchen..
In der Zwischenzeit gab es wieder einige Updates für unsere Jeannie..

Hier die wichtigsten Updates
 - Auswahl von State Variable Filter oder 24dB Ladder Filter im 
Systemmenü
 - Hüllkurven jetzt mit Exponentiellen Verlauf
 - Einstellbare Attack-Phase mit exponentiellen oder linearen Anstieg
 - LFOs mit Fade In und Fade Out und one shot Funktion
 - Modulationsmenü hinzugefügt
 - Oszillatoren jetzt mit Phasen Modulation
 - SysEx Dump für Patches und Patch Bank in Vorbereitung (siehe Bilder)

Mehr Infos hier: 
https://www.sequencer.de/synthesizer/threads/tubeohm-jeannie-polyphonic-diy-synthesizer.160564/

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Neues Future. Habe einen 3.LFO hinzugefügt.
Kleines Video zur AMP Modulation mit LFO 3

Link: https://youtu.be/1wHLFC4NroQ

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Hallo liebe Synthiana :)

Unsere Jeannie kann jetzt Stereo. Die acht Stimmen lassen sich beliebig 
im Stereo-Panorama verteilen (siehe Bild)

Im Poly Modus sind die Stimmen anders verteilt wie im Unison- und 
Mono-Mode.

Stimmenverteilung im Poly-Mode:
1.Voice Links 90%, Rechts 10%
2.Voice Links 80%, Rechts 20%
3.Voice Links 70%, Rechts 30%
4.Voice Links 60%, Rechts 40%
5.Voice Links 40%, Rechts 60%
6.Voice Links 30%, Rechts 70%
7.Voice Links 20%, Rechts 80%
8.Voice Links 10%, Rechts 90%

Stimmenverteilung im Mono-Mode
Mono: Stimme Mitte
Mono-2: 1.Stimme Links, 2.Stimme Rechts
Mono-3: 1.Stimme Links, 2.Stimme Mitte, 3.Stimme Rechts
Mono-4: 1.Stimme Links, 2.Stimme links zur Mitte, 3.Stimme rechts zur 
Mitte, 4.Stimme Rechts
Mono-6: 1.Stimme Links, 2.Stimme etwas links zur Mitte, 3.Stimme etwas 
mehr links zur Mitte, 4.Stimme etwas mehr rechts zur Mitte, 5.Stimme 
etwas rechts zur Mitte, 6.Stimme rechts

Das Ganze lässt sich mit dem PAN-Regler von Mono zu Stereo spreaden :)

An der Stimmenverteilung im Unison-Mode wird noch gearbeitet.

Youtube: https://youtu.be/75-9MeFV5rk

Gruß Rolf

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Ein Metall Gehäuse für die Jeannie :)

Gibt's bei Erica Synth aber ohne Holzseitenteil 
https://www.ericasynths.lv/news/tubeohm-instruments-jeannie-case/

Gruß Rolf

von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Jeannie with self-made wooden side panels..

Youtube: https://youtu.be/0iixKh_5uvA

: Bearbeitet durch User
von Rolf D. (rolfdegen)


Angehängte Dateien:

Lesenswert?

Jeannie Virtueller Midi Controller 1.0

Der Midi Controller empfängt und sendet die Daten über USB. Einige 
Funktionen sind zu speziell und können nur an der Jeannie programmiert 
bzw eingestellt werden.
Jetzt will ich die Prg-Nr. und den Namen beim Umschalten anzeigen 
lassen. Vielleicht kennt sich jemand mit der Programmierung der Ctrlr 
App aus. Für Hilfe wäre ich jedenfalls dankbar.

Gruß Rolf

von Rolf D. (rolfdegen)


Lesenswert?

Hallöchen..
Der letzte Beitrag ist schon etwas her. In der Zwischenzeit gabs für die 
Jeannie einige Firmware Updates (siehe Link). Unter anderem kann Jeannie 
jetzt auch Wavetables auf beiden Oszillatoren. Um das zu 
bewerkstelligen, habe ich einen Teil der Oszillator Engine vom Braids 
Synthesizer (Mutable Instrument) implementiert.

Jeannie Blog: 
https://www.sequencer.de/synthesizer/threads/jeannie-polyphonic-diy-synthesizer.160564/

Video: https://youtu.be/K3h3YKNzHP0

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.