rolfdegen Posted December 12, 2015 Author Report Share Posted December 12, 2015 Hallöchen..Auf Heise.de habe ich einen sehr interessanten Artikel gelesen. Thema des Artikel ist 'Synthesizer im Eigenbau'. Darin werden vier bekannte DIY Synthesizer vorgestellt wzB der Shruthi, MeeBlip, Rockit und Nebulophone.DIY SynthesizerLink zum Artikel: http://www.heise.de/make/artikel/Synthes...au-3036913.htmlLink zu den Klangbeispielen: http://www.heise.de/make/inhalt/2013/01/086Ich denke ich werde über die Weihnachtstage mal meinen Raspberry Pi2 anwerfen und ein paar Musikalische Dinge ausprobieren und darüber berichten. Bis dahin viel Spaß beim lesen.Lieben Grüße aus Wuppertal. Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted December 16, 2015 Author Report Share Posted December 16, 2015 (edited) Hoh hoh hoh.. Bald ist Weihnachten und die Leute kaufen wie verrückt. Ich auch Zum DE:GENERATOR:Hab die 1.Menü Seite jetzt komplett überarbeitet. Zu jedem Sound Programm werden jetzt die Datei Größe und Wellenform (Sample-File oder Wellenform) angezeigt.Das laden eines Sound Programms funktioniert jetzt doppelt so schnell wie vorher. Damit man beim Suchen eines Sounds in anderen Sound Bänken die Orientierung nicht verliert, wird das aktuelle (geladene) Sound Programm grau markiert und unterm MiniScope nochmal angezeigt.Bild: Menüseite 'Sound Program'Gruß Rolf Edited December 16, 2015 by rolfdegen Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted December 22, 2015 Author Report Share Posted December 22, 2015 Hallöchen..Die Zeit rast dahin und man hat das Gefühl, nicht mehr viel Zeit zu haben, für die Dinge die man noch machen will. So gehts mir im Moment.Am DE:GENERATOR gibt es einige Änderungen. Um die Bedienung zu vereinfachen sind jetzt 8 Taster vorhanden. Zusätzlich gibts auf dem Front Panel zwei Potis. Diese können für Modulationszwecke frei programmiert werden. Damit das Ganze noch etwas bunter wird, gibts für die Kontrolle der LFO's jetzt drei LED-Lampen. Geplant ist noch die Beleuchtung der DATA Encoder mit blauen LED's.DE:GENERATORFront PanelLieben Gruß und schöne Weihnachten. Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted December 24, 2015 Author Report Share Posted December 24, 2015 Ho ho ho.. Ich wünsch euch allen ein schönes und gemütliches Weihnachtsfest.Ich habe testweise mal einen Encoder mit den blauen LED's bestückt. Wenn jetzt noch die Löcher in der Frontplatte etwas größer gemacht werden, so das Knopf das Loch nur knapp abdeckt, sollte etwas blaues Licht an den Seiten austreten. Hier mal zwei Pics..LED Beleuchtung für EncoderGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted December 27, 2015 Author Report Share Posted December 27, 2015 So.. die "Weihnachstbeleuchtung" ist jetzt komplett LED Beleuchtung der EncoderJetzt wird noch ein wenig an der Soundengine gearbeitet um die Bedienung zu verbessern.Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted December 29, 2015 Author Report Share Posted December 29, 2015 Was ich zur Zeit mache..Ich arbeite noch ein wenig an der Loop-Funktion.Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 4, 2016 Author Report Share Posted January 4, 2016 Hallo zusammen..Ich hoffe Ihr seit alle gut ins neue Jahr gerutscht und habt keinen Kater bekommen. Wenn ich an die Bowle denke... man die war so lecker Mein Kollege Andre war in den letzten Tagen auch sehr fleißig und hat die ersten Platinen und Gehäuse Entwürfe gezeichnet. Wegen der besseren Abstimmung untereinander,habe ich beschlossen, die ganzen Schaltpläne von Eagle nach Target 3001 zu importieren. Andre entwirft mit Target 3001 dann die Platinen für den DE:GENERATOR.Target 3001 gibts auch als Freeware von distrelec mit der Einschränkung auf maximal 700 Pins. Hier der Link: http://www.distrelec.de/de/cad-freeware/...ice_cadfreewareGehäuse Entwurf DE:GENERATORMit der Platzierung der LFO-LED's über dem Display bin ich noch nicht ganz einverstanden. Ich finde die Position rechts neben dem 4.Encoder besser.Auch der Namen "Transwave" für eine gemeinsame Produktlinie muss noch diskutiert werden.PCB Layout DE:GENERATORGruß Rolf Quote Link to comment Share on other sites More sharing options...
ilmenator Posted January 4, 2016 Report Share Posted January 4, 2016 1 hour ago, rolfdegen said: Mein Kollege Andre war in den letzten Tagen auch sehr fleißig und hat die ersten Platinen und Gehäuse Entwürfe gezeichnet. Wegen der besseren Abstimmung untereinander,habe ich beschlossen, die ganzen Schaltpläne von Eagle nach Target 3001 zu importieren. Andre entwirft mit Target 3001 dann die Platinen für den DE:GENERATOR.Target 3001 gibts auch als Freeware von distrelec mit der Einschränkung auf maximal 700 Pins. Hier der Link: http://www.distrelec.de/de/cad-freeware/...ice_cadfreeware Ein professionelles Tool ganz ohne Einschränkungen und zum Nulltarif is KICAD, zu finden unter http://kicad-pcb.org/download/ KICAD ist für so gut wie alle relevanten Betriebssysteme verfügbar. Beispiele für MIDIbox Platinen die mit KICAD entstanden sind finden sich im Wiki. Viele Grüße ilmenator Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 6, 2016 Author Report Share Posted January 6, 2016 Hallo ilmenator Danke für den Tip. Andre hat die 3.Beta vom Gehäuse Designe gemacht. DE:GENERATOR Case Designe Beta3Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 11, 2016 Author Report Share Posted January 11, 2016 Case Designe Beta4 Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 11, 2016 Author Report Share Posted January 11, 2016 Hallöchen..So ein Digi Scope ist doch eine feine Sache wie ich finde. Es hilft doch sehr bei der Fehlersuche Die Tage hatte ich ein Problem mit einem Encoder. Bei der Dateneingabe hatte ich öffters Zahlensprünge. Ich dachte zuerst an ein Problem in meiner Software, weil diese immer wieder weiterentwickelt und geändert wird. Aber Test brachten mich nicht weiter. Die Encoder und Tasten werden im DE-GENERATOR alle 500msec abgefragt. Das ist auch für eine schnelle Umdrehung der Encoder schnell genug. Das Problem musste also an der Hardware liegen. Hab dann mein Digi Scope "angeschmissen" und mal an die Kontakte des Encoders angeschlossen. Und siehe da.. viele nette Impulsefolgen und noch viel mehr. Das auf dem Bildschirm sah so gar nicht nach einem Gray-Code von einem Encoder aus. Die beste Software kann dieses Prellen nicht beseitigen.Ich hab dann einen neuen Encoder eingelötet und alles funktioniert jetzt fehlerfrei.Signalverlauf am alten Encoder. Man sieht deutlich wie die Signalflanken prellenSignalverlauf am neuen Encoder ohne prellenGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 17, 2016 Author Report Share Posted January 17, 2016 Hallöchen..Ich hab den externen Audio-Eingang im DE-GENERATOR etwas abgeändert. Man hat jetzt die Möglichkeit das Stereosignal am Eingang als Summensignal zu sampeln. Ferner ist das Eingangssignal auch auf die Filtereingänge geschalten. Für die MiniScope-Funktion wird der Stereoausgang auf den gleichen ADC-Eingang geschaltet. Das spart Bauteile und Platz auf der Platine.Stereo Eingang im DE-GeneratorGruß Rolf Quote Link to comment Share on other sites More sharing options...
nlate Posted January 17, 2016 Report Share Posted January 17, 2016 (edited) Hallo Rolf Wenn du R89 mit jeweils 10k auf die Multiplexereingänge X1 & X2 verschiebst, fällt nur eine geringe Spannung über dem Multiplexer ab, da der Multiplexerausgang bzw. der(-) Eingang von IC15b nahezu auf 0V. Dies kommt der Signalqualität deiner Einganssingnale zu Gute. Gruss Jo Edited January 17, 2016 by nlate Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 21, 2016 Author Report Share Posted January 21, 2016 Hallo zusammen..Damit das Sampeln von Audio-Signalen noch etwas störungsfreier funktioniert, habe ich den ADC-Eingang im Xmega Prozessor als Differenzial-Eingang beschaltet. Der ADC im Xmega Prozessor sampelt mit 12Bit und einer Abtastrate von 44.1KHz. Intern wird der 12Bit Wert dann auf 8Bit herunter gerechnet und ins 1MByte große Sample-Ram geschrieben. Der Operationsverstärker IC 15c+15d erzeugen aus dem Audio-Signal ein Differenzsignal für den ADC-Eingang.ADC im Xmega128A1: http://www.atmel.com/images/atmel-8032-u...ote_avr1300.pdfBild: ADC mit Differenzial-EingangInitialisierung des ADC im Xmega128A1 Prozessor php: 1: 2: 3: 4: 5: 6: 7: 8: 9: // intit ADCA 12Bit (Sample Input) // 8Bit / differencial mode / ext.VRef 2.5V PortA0 / Prescaler 64 / positive Input PortA3 / negative Input PortA1 ADCA.CTRLB = ADC_RESOLUTION_12BIT_gc | ADC_FREERUN_bm; ADCA.REFCTRL = ADC_REFSEL_AREFA_gc; ADCA.PRESCALER = ADC_PRESCALER_DIV64_gc; ADCA.CH0.CTRL = ADC_CH_INPUTMODE_DIFF_gc; ADCA.CH0.MUXCTRL |= ADC_CH_MUXPOS_PIN3_gc | ADC_CH_MUXNEG_PIN1_gc; ADCA.INTFLAGS = 0x00; ADCA.CTRLA = ADC_ENABLE_bm; // ADC enabled Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 21, 2016 Author Report Share Posted January 21, 2016 On 17.1.2016 at 5:45 PM, nlate said: Hallo Rolf Wenn du R89 mit jeweils 10k auf die Multiplexereingänge X1 & X2 verschiebst, fällt nur eine geringe Spannung über dem Multiplexer ab, da der Multiplexerausgang bzw. der(-) Eingang von IC15b nahezu auf 0V. Dies kommt der Signalqualität deiner Einganssingnale zu Gute. Gruss Jo Hi Jo Danke für deinen Tip. Werde es mal ausprobieren. Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 24, 2016 Author Report Share Posted January 24, 2016 Hallöchen..Im DE:GENERATOR habe ich für die Sample Aufnahme eine Noise Shaper Function integriert. Der ADC-Eingang arbeitet mit einer Auflösung von 12 Bit. Für die weitere Bearbeitung werden die Samples im DE:GENERATOR auf 8Bit herunter gerechnet. Beim normalen Herunterrechnen von 12 auf 8Bit (4* rechts Shiften) entsteht bei leisen Signalen ein sehr störendes pumpartiges Rauschen. Der Noise Shaper verschiebt dieses Rauschen in einen höheren Frequenzbereich, so dass unser Ohr das Rauschen als weniger störend wahrnimmt.Programmcode php: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: //************************************************************************* // Test noise-sharping 12Bit 44.1KHz //************************************************************************* ISR(TCC0_OVF_vect) { // Noise Shaper function int16_t sample_x = ADCA_CH0RES; int16_t sample_16 = sample_x * 12; sample_16 += quant_error; if (sample_16 < -32768){sample_16 = 32768;} else if (sample_16 > 32767){sample_16 = 32767;} int8_t sample_8 = sample_16 >> 8; quant_error = sample_16 - ((int16_t)(sample_8) << 8); /* convert 12Bit into 8Bit uint16_t sample_16 = ADCA_CH0RES; uint8_t sample_8 = sample_16 >> 4; */ // DAC out DACA.CH0DATAH = sample_8; DACB.CH0DATAH = sample_8; } Um das zu demonstrieren habe ich ein paar Klangbeispiele aufgenommen. Jeweils ohne und mit der Noise Shaper Funktion. Am deutlichsten hört man es bei Sound 3+4. Ohne Noise Shaper versinkt das Piano quasi im 8Bit Rauschen.Sound 1: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingSound 2: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingSound 3: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingSound 4: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingSound 5: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingSound 6: https://drive.google.com/file/d/0BxbpDqw...iew?usp=sharingGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted January 25, 2016 Author Report Share Posted January 25, 2016 (edited) Von Andre gibts eine neue Beta fürs GehäuseGehäuse Entwurf Beta15 Gruß Rolf Edited January 25, 2016 by rolfdegen Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 3, 2016 Author Report Share Posted February 3, 2016 Hallo zusammen..Der Schaltplan für das Frontpanel ist jetzt fertig. Insgesamt gibt es jetzt 13 Tasten, fünf Drehimpulsgeber und 3 Potis. Für die indirekte Beleuchtung der Drehimpulsgeber und Potis sorgen 32 LED's. Für spezielle Statusinformationen wzB Midi-Empfang und laufende LFO gibt es noch zusätzliche rote LED's. Die LED-Farbe kann aber bei der Bausatzbestellung selber ausgewählt werden.Das LCD-Display wird über einen 8Bit breiten Datenbus vom Xmega Prozessor angesteuert. Mit dem Latch IC1a werden die oberen Adress- und Datenleitungen DB8-DB15 für das LCD erzeugt. Die LED-Hintergrundbeleuchtung liegt über R67 1.5 Ohm direkt an der Versorgungsspannung von +3.3 Volt.Die Drehimpulsgeber und Tasten werden mit Hilfe eines Schieberigster IC3a, IC4a und IC5a über die SPI-Schnittstelle am Xmega Prozessor abgefragt. Über die gleiche SPI-Schnittstelle steuert das Schieberegister IC6a die roten Status LED's an.Pot1+2 sind über zwei ADC-Eingänge am XMega verbunden und werden jede Millisekunde abgefragt. In der Modulationsmatrix kann diesen Potis ein oder auch mehrere Modulationsziele zugewiesen werden. Das Volum-Poti ist ein Stereo-Poti und steuert die Lautstärke am Audioausgang. Schaltplan FrontpanelSchaltplan Prozessor BoardGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 4, 2016 Author Report Share Posted February 4, 2016 Für eine bessere Darstellung der Bilder hier die Links:Link Schaltplan FrontpanelLink Schaltplan Prozessor BoardGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 19, 2016 Author Report Share Posted February 19, 2016 Hallöchen..Andre hat den ersten Entwurf für die Prozessor-Platine gemacht. Da die Platine mit einigen SMD-Bauteile bestückt ist und wir den Kunden diese Lötarbeit nicht zumuten wollen, werden wir diese selber löten und getestet ausliefern.Prozessor Board im DE-GENERATOR Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 29, 2016 Author Report Share Posted February 29, 2016 Hallo ihr Lieben!Da die Entwicklung der Platinen noch etwas andauert, habe ich die Zeit genutzt und an der Verbesserung der Menüoberfläche gearbeitet. Damit man die Menüseiten besser unterscheiden kann, haben diese jetzt farbige Frames, die nach Funktionsgruppen sortiert sind. So haben zum Beispiel die Menüseiten für den Oszillator alle einen blauen Frame und die LFO's einen grünen Frame.Die Menüseite für den Filter wurde auch überarbeitet. Entsprechend der eingestellten Filterfunktion wird der Frequenzverlauf und die Resonanz als grafische Filterkurve dargestellt. Ein kleines Scope Fenster auf der rechten Seite zeigt die Wellenform des Filterausganges in Echtzeit an.Das MiniScope hat jetzt eine bessere Triggerfunktion erhalten. Der Triggerlevel kann jetzt auch auf negative Amplitudenwerte eingestellt werden. Auf der linken Seite zeigt ein kleiner gelber Pfeil auf den eingestellten Pegel. Wird der Triggerlevel auf 0 eingestellt, ist die Triggerfunktion ausgeschaltet.Als nächstes steht die Oszillator Engine auf dem Programm. Ich will das Bedienkonzept etwas vereinfachen. Dadurch wird die ganze Sachen dann etwas überschaubarer.Bis zum nächten Post und ein schönes Wochenende.Gruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 29, 2016 Author Report Share Posted February 29, 2016 Hallöchen..Andre hat das CPU-Board jetzt fertig entwickelt. Ich muss es jetzt auf Fehler überprüfen und wenn alles gut ist werden diese Woche die ersten Platinen in China bestellt. Bin gespannt..Die zwei Pfostenleisten K3 und K4 verbinden das CPU-Board über zwei Flachbandkabel mit dem Bedienpanel für die LCD-Anzeige, Tasten und Encoder. Die restlichen Pfostenleisten sind mit dem Motherboard verbunden und zuständig für Stromversorgung, Audio- und Steuerleitungen. Die zwei 8 poligen Pfostenleisten auf der linken Seite des CPU-Boards sogen für einen sicheren und festen Halt des SD Karte Buchse.DE-GENERATOR CPU-BoardGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted February 29, 2016 Author Report Share Posted February 29, 2016 Hallo.. ich schon wieder Montags ist eben immer viel los und auch bei mir in der Entwicklungswerkstatt.Um den DE-GENERATOR in seiner "unbegrenzten" Möglichkeit der Klangerzeugung noch zu steigern, können jetzt die 128 festen Wellenformen als Wellenform Bank von der SD Karte geladen werden. Insgesamt besteht dann die Möglichkeit auf 128*100 Waveforms und 128*100 Sample-Files zu zugreifen . Eine Wellenform Bank besteht aus 128 einzelnen 256 Byte großen Wellenformen. Diese können zB am PC mit einem Audioeditor (Audacity) hergestellt und auf die SD Karte kopiert werden. Im Oszillator Menu kann dann der Benutzer auf die verschiedenen Wellenform Bänke und Sample-File Bänke zugreifen. Eine Editierung der Wellenform Bank ist im DE-GENERATOR momentan noch nicht vorgesehen.Mit dem Mode Schalter kann zwischen der Auswahl von Wellenform oder Sample-File umgeschaltet werden.Auswahl von WaveformsAuswahl von Sample-FilesGruß Rolf Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted March 31, 2016 Author Report Share Posted March 31, 2016 Hallöchen. Was ich zur Zeit mache.. nix Das war gelogen. Ich arbeite zur Zeit an ein paar Midi-Routinen für den DE:GENERATOR. Bei einer Routine handelt es sich um eine kleine Midi Noten Verwaltung (NoteStack).Der NoteStack macht folgendes: Wenn ich eine Midi Note spiele, wird die Noten Nummer auf Platz 1 im NoteStack gespeichert und der Ton vom Synthesizer gespielt. Lasse ich die Taste wieder los, so wird die Note im NoteStack gelöscht und der Ton wird ausgeschaltet. Simpel.. Jetzt drücken wir aber zwei Noten. Fast passiert: Zuerst wird die 1.Note auf Platz 1 im NoteStack gespeichert und der Ton gespielt. Danach wird die 2.Note auf Platz 2 im NoteStack gespeichert und der Ton für die 2.Note gespielt. Damit befinden sich jetzt zwei Noten im NoteStack. Die 1.Note auf Platz 1 und die 2.Note auf Platz 2. Lasse ich jetzt die 2.Note los, so wird im Stack die 2.Note auf Platz 2 gelöscht und der Ton für die 1.Note gespielt.Änliches passiert wenn die 1.Note losgelassen wird und die 2.Note noch gespielt wird. Dadurch wird dann die 1.Note auf Platz 1 im NoteStack gelöscht und die 2.Note auf Platz 1 verschoben. Der Ton für die 2.Note wird ohne Unterbrechung weiter gespielt. Insgesamt können 16 Noten im NoteStack verwaltet werden.NoteStack Schema C-Code Beispiel uint8_t NoteStack_pool[10]; uint8_t NoteStack_ptr = 0; uint8_t NoteStack_size = 10; //------------------------------------------------------------------------- // NoteOn //------------------------------------------------------------------------- void midi_NoteOn(void) { uint8_t midi_note_temp = midi_data[0]; // load midi_note if (NoteStack_ptr < NoteStack_size) { midi_note = midi_note_temp; NoteStack_pool[NoteStack_ptr] = midi_note; // write current note into notestack_pool NoteStack_ptr++; midi_sync_flag = 1; // start envelopes } } //------------------------------------------------------------------------- // NoteOff //------------------------------------------------------------------------- void midi_NoteOff(void) { // load current note uint8_t midi_note_temp = midi_data[0]; uint8_t last; // search current note into notestack_pool for (uint8_t i = 0; i < NoteStack_size; i++) { if (NoteStack_pool[i] == midi_note_temp) { // clear current note into notestack_pool NoteStack_pool[i] = 0xFF; NoteStack_ptr--; last = i; // sort notes into notestack_pool for (last; last < NoteStack_size;last++) { NoteStack_pool[last] = NoteStack_pool[last+1]; } // playing previous note if (NoteStack_ptr > 0) { last = NoteStack_ptr-1; midi_note = NoteStack_pool[last]; frequency_tune(); } else { // stop envelope if no note into notestack_pool midi_gate_flag = 0; } break; } } } Gruß Rolf 1 Quote Link to comment Share on other sites More sharing options...
rolfdegen Posted March 31, 2016 Author Report Share Posted March 31, 2016 (edited) Hallöchen..Heute sind die CPU Platinen für den DE:GENERATOR aus China eingetroffen. Wir haben insgesamt 10 Stück bestellt. Jetzt gehts ans SMD löten. Bin gespannt ob wir's hinbekommen.CPU Platinen für den DE.GENERATORGruß Rolf Edited March 31, 2016 by rolfdegen 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.