AVR Synthesizer "WAVE 1" / De-Generator

Dieses Thema im Forum "Lötkunst" wurde erstellt von rolfdegen, 10. Januar 2014.

  1. rolfdegen

    rolfdegen .....

    Keine Sorge. Ist alles noch erhältlich. Wir haben auch ein modulares Konzept entwickelt, das uns erlaubt, bestimmte Baugruppen wzB Filterboard, CPU-Board oder Panelboard auszustauschen. Für später ist zB ein neues CPU-Board mit ARM-Prozessor geplant um 4 stimmig und in 16Bit zu spielen (obwohl die 8Bit Auflösung im DEGENERATOR schon einen gewissen Reiz hat).

    Gruß Rolf

    DEGENERATOR Firmware/Buglist

    Build 3.63f 03.03.2018
    - Modulationsmatrix: geänderte Amount für Osc Pitch - 16 / + 16 Semitones
    - Modulationsmatrix: geänderte Amount für Osc fine - 2 / + 2 Semitones
    - Modulationsmatrix: Modwheel Amount Wert vergrößert (von 127 auf 255)
    - Osc-Page: Osc-Sync für alles Wellenformen außer Samples

    Build 3.63g 11.03.2018
    - Init Sound: Osc1:SAW / Mod. ENV1~Cutoff +33 / Mod. ENV2~VCA +63 / Mod. PitchBend~Osc1+2 Pitch +8 / Mod. MWheel = LFO1~Osc1+2 fine +32
    - Polling time für Midi buffer auf 250us verringert.
    - Midi overflow symbol [!] in der Überschriftleiste integriert

    Build 3.64 11.03.2018
    - Modmatrix: Mit der Taste "MOD-MAT" kann jetzt von Slot 1-6 auf Slot 7-12 gewechselt werden
    - Wird die Taste "CANCEL" länger als 3sec gedrückt, werden im DEGENERATOR alle Noten ausgeschaltet (Panic-Funktion)

    Build 3.64a 22.03.2018
    - Draw sample curve on osc-page if new sample recording
    - Sample Editor: MUTE/CUT/LOOP/REV/SEC/SECL funktioniert jetzt
     
  2. rolfdegen

    rolfdegen .....

    Es wurde Zeit für etwas Neues..

    Ich meine natürlich nicht meinen DEGENERATOR, sondern ein neues und gemütliches Arbeitszimmer
    (siehe Bilder). Zuerst sollte es nur ein neuer Büroschrank werden um den ganzen Elektronik-Müll, der
    sich seit Jahren angesammelt hat, zu verstauen. Als ich dann aber durch die Schwedischen Einkaufs-
    hallen in Wuppertal wanderte und die "Ungeahnten Möglichkeiten" sah, dann überkam mich die Lust
    auf mehr.

    So wurde es dann doch noch ein großer Eckschreibtisch mit Rollcontainer samt Bürostuhl und kleiner
    Komode. Als ich dann endlich gehen wollte, viel mir noch ein gemütlicher Ohrensessel auf, der für
    Gäste oder für Entspannung dienen soll. Mein Budget für das Arbeitszimmer war zwar erschöpft,
    aber ein kleiner Notbookständer für meine zwei Synthesizer habe ich dann auch noch bestellt.

    Das alte Arbeitszimmer, bestehend aus einem Wohnzimmertisch, einem Küchentisch als Lötecke, zwei
    Regalen, einem Sideboard und einem Sofa, habe ich mit Hilfe meines netten Nachbarn auf den Sperr-
    müll gestellt. So war denn ausreichend Platz für den großen Eckschreibtisch mit Lötecke und Büro-
    schrank mit zwei Regalen.

    Bilder:
    [​IMG]
    https://lh3.googleusercontent.com/-837IB...0325_015715.jpg

    [​IMG]
    https://lh3.googleusercontent.com/-ZAYuX...0325_014416.jpg

    Ach was soll ich sagen.. Jetzt ist es richtig schön gemütlich und das arbeiten macht doppelt Spaß [​IMG]

    Grüße aus Wuppertal. Rolf
     
    haebbmaster gefällt das.
  3. lilak

    lilak |||

    hallo rolf ... der elch hat dein arbeitszimmer sehr gemütlich eingerichtet. erst mal herzkliche glückwünsche aus berlin!

    DEGENERATOR sieht wirklich interessant aus. ich arbeite auch schon eine weile an einem wavetable synth auf basis der 12 bit samples aus dem prophet vs. und nach dem prinzip des harmonic aliasing. das ist alles hier genauer erklärt, das ist aber nicht mehr ganz up to date:

    https://www.sequencer.de/synthesize...diy-wavesequencer-synth-abteilung-r-d.128854/

    inzwischen existiert da ein ausgefeilter prototyp in pure data den ich als nächstes in hardware umsetzen will. das hauptproblem dabei ist dass ich DACs mit variable sample rate brauche weil sonst das harmonic aliasing nur bedingt funktioniert. evtl. hast du da mit deinen erfahrungen eine schlaue idee wie das grundsätzlich zu machen ist?

    beim degenerator fällt mir vor allem auf dass ich die 8 bit unschön finde, das ist auch für mich das problem beim shruti. ich finde 12 bit ziemlich ideal, das hat noch genug noise aber auch genug top end. ansonsten finde ich klingt der degen deutlich besser als der shruti!

    .
     
  4. rolfdegen

    rolfdegen .....

    12Bit sind leider nicht machbar, da der Prozessor (ATXMEGA128A1U) im DEGENERATOR schon an seiner Leistungsgrenze arbeitet. Wir haben später mit einem 32Bit ARM-Prozessor ganz andere Möglichleiten. Da sind 4 Stimmen und 16Bit möglich.
    Die Umsetzung bzw Entwicklung wird dann aber keine 4 Jahren dauern. Hoffe ich.. :gaehn:

    Gruß Rolf
     
  5. lilak

    lilak |||

    ja klar atxmega hat natürlich wenig oktan. ich hab die bela plattform im auge, das ist ein kompletter linux rechner dahinter, beaglebone black und praktisch NULL latenz ... oder sogar fpga aber das ist teuer und aufwändig zu programmieren.

    https://bela.io/

    ist irgendwo beschrieben wie du die hardware für den filter gelöst hast? das ist bei mir noch ein schwarzes loch ...
     
    Zuletzt bearbeitet: 27. März 2018
  6. humax5600

    humax5600 .....

  7. rolfdegen

    rolfdegen .....

    Es gibt ein neues Firmware Update für den DEGENERATOR

    Build 3.64b 01.04.2018
    - DMA Transfer mit Double-Buffer Funktion für Audio-Daten implementiert. Spart Prozessor Ressourcen
    - Fast 16Bit Noisegenerator implementiert. Spart Prozessor-Ressourcen

    Ich habe mich am Osterwochenende endlich mal hingesetzt und mich mit der DMA-Funktion im ATXmega128 beschäftigt. Die DMA-Funktion hatte ich immer vernachlässigt, da ich dachte, das sie mir nicht viel an Prozessor-Ressourcen einsparen würde. Aber wer's nicht wagt, der wird's nicht erfahren oder so.. [​IMG]

    Gesagt getan. Jetzt war nur zu überlegen, wie der DMA am effektivsten eingesetzt werden kann. Im DEGENERATOR existieren u.a. zwei Double-Buffer für die Audio-Ausgabe. Ich habe mir überlegt, dass die DMA-Funktion hier die größte Einsparung und Entlastung für den Prozessor einbringen könnte. Ferner bringt der ATXmega128 insgesamt 4 DMA Kanäle mit Double-Buffer Funktion mit. Wobei allerdings zwei DMA-Kanäle für eine Double-Buffer zusammengeschaltet werden müssen. Dies kann man dann idealer Weise für die beide Audio-Kanäle verwenden.

    DMA-Controller
    Der DMA-Controller (Direct Memory Access) ermöglicht das Übertragen von Daten zwischen Speicher und Peripheriegeräten ohne große Prozessorauslastung. Während der DMA-Controller Daten von einem Speicherbereich zu einem anderen Bereich kopiert, kann die CPU andere Aufgaben wzB. Tastenabfrage oder Textausgabe auf einem LC-Display ausführen.

    Link: DMA Funktion im Xmega


    Bild: Datenübertragung mit CPU
    [​IMG]

    [​IMG]


    Initialisierung des DMA-Kontrollers im DEGENERATOR
    Code:
    //*************************************************************************
    // DMA init
    //*************************************************************************
    void dma_init(void){
        DMA.CTRL = DMA_CH_ENABLE_bm | DMA_DBUFMODE_CH01CH23_gc; // set Double Buffer and enabled
        
        // DMA Channel 0 (Audio-Buffer A)   
        DMA.CH0.ADDRCTRL = DMA_CH_SRCRELOAD_TRANSACTION_gc | DMA_CH_SRCDIR_INC_gc
        | DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc;
        DMA.CH0.TRIGSRC = DMA_CH_TRIGSRC_DACB_CH0_gc; // DACB CH0 is trigger Quelle
        DMA.CH0.DESTADDR0 = (((uint32_t)(&DACB.CH0DATAH))>>0*8) & 0xFF;
        DMA.CH0.DESTADDR1 = (((uint32_t)(&DACB.CH0DATAH))>>1*8) & 0xFF;
        DMA.CH0.DESTADDR2 = (((uint32_t)(&DACB.CH0DATAH))>>2*8) & 0xFF;
        DMA.CH0.TRFCNT = 128;
        DMA.CH0.SRCADDR0 = (((uint32_t)(&Voice.Buffer_A))>>0*8) & 0xFF;
        DMA.CH0.SRCADDR1 = (((uint32_t)(&Voice.Buffer_A))>>1*8) & 0xFF;
        DMA.CH0.SRCADDR2 = (((uint32_t)(&Voice.Buffer_A))>>2*8) & 0xFF;
        DMA.CH0.CTRLA = 0xA4;   // Aktivieren, Wiederholen, 1 Byte, Single
        
        // DMA Channel 1 (Audio-Buffer B)
        DMA.CH1.ADDRCTRL = DMA_CH_SRCRELOAD_TRANSACTION_gc | DMA_CH_SRCDIR_INC_gc
        | DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc;
        DMA.CH1.TRIGSRC = DMA_CH_TRIGSRC_DACB_CH0_gc; // DACB CH0 is trigger Quelle
        DMA.CH1.DESTADDR0 = (((uint32_t)(&DACB.CH0DATAH))>>0*8) & 0xFF;
        DMA.CH1.DESTADDR1 = (((uint32_t)(&DACB.CH0DATAH))>>1*8) & 0xFF;
        DMA.CH1.DESTADDR2 = (((uint32_t)(&DACB.CH0DATAH))>>2*8) & 0xFF;
        DMA.CH1.TRFCNT = 128;
        DMA.CH1.SRCADDR0 = (((uint32_t)(&Voice.Buffer_B))>>0*8) & 0xFF;
        DMA.CH1.SRCADDR1 = (((uint32_t)(&Voice.Buffer_B))>>1*8) & 0xFF;
        DMA.CH1.SRCADDR2 = (((uint32_t)(&Voice.Buffer_B))>>2*8) & 0xFF;
        DMA.CH1.CTRLA = 0xA4;   // Aktivieren, Wiederholen, 1 Byte, Single
        
        // DMA Channel 2 (Audio-Buffer C)
        DMA.CH2.ADDRCTRL = DMA_CH_SRCRELOAD_TRANSACTION_gc | DMA_CH_SRCDIR_INC_gc
        | DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc;
        DMA.CH2.TRIGSRC = DMA_CH_TRIGSRC_DACA_CH0_gc; // DACA CH0 is trigger Quelle
        DMA.CH2.DESTADDR0 = (((uint32_t)(&DACA.CH0DATAH))>>0*8) & 0xFF;
        DMA.CH2.DESTADDR1 = (((uint32_t)(&DACA.CH0DATAH))>>1*8) & 0xFF;
        DMA.CH2.DESTADDR2 = (((uint32_t)(&DACA.CH0DATAH))>>2*8) & 0xFF;
        DMA.CH2.TRFCNT = 128;
        DMA.CH2.SRCADDR0 = (((uint32_t)(&Voice.Buffer_C))>>0*8) & 0xFF;
        DMA.CH2.SRCADDR1 = (((uint32_t)(&Voice.Buffer_C))>>1*8) & 0xFF;
        DMA.CH2.SRCADDR2 = (((uint32_t)(&Voice.Buffer_C))>>2*8) & 0xFF;
        DMA.CH2.CTRLA = 0xA4;   // Aktivieren, Wiederholen, 1 Byte, Single
        
        // DMA Channel 3 (Audio-Buffer D)
        DMA.CH3.ADDRCTRL = DMA_CH_SRCRELOAD_TRANSACTION_gc | DMA_CH_SRCDIR_INC_gc
        | DMA_CH_DESTRELOAD_BURST_gc | DMA_CH_DESTDIR_INC_gc;
        DMA.CH3.TRIGSRC = DMA_CH_TRIGSRC_DACA_CH0_gc; // DACA CH0 is trigger Quelle
        DMA.CH3.DESTADDR0 = (((uint32_t)(&DACA.CH0DATAH))>>0*8) & 0xFF;
        DMA.CH3.DESTADDR1 = (((uint32_t)(&DACA.CH0DATAH))>>1*8) & 0xFF;
        DMA.CH3.DESTADDR2 = (((uint32_t)(&DACA.CH0DATAH))>>2*8) & 0xFF;
        DMA.CH3.TRFCNT = 128;
        DMA.CH3.SRCADDR0 = (((uint32_t)(&Voice.Buffer_D))>>0*8) & 0xFF;
        DMA.CH3.SRCADDR1 = (((uint32_t)(&Voice.Buffer_D))>>1*8) & 0xFF;
        DMA.CH3.SRCADDR2 = (((uint32_t)(&Voice.Buffer_D))>>2*8) & 0xFF;
        DMA.CH3.CTRLA = 0xA4;   // Aktivieren, Wiederholen, 1 Byte, Single
    }
    
    
    //*************************************************************************
    // Timer0 Interrupt: DAC Task 40KHz/25usec
    //*************************************************************************
    ISR(TCC0_OVF_vect)
    {   
        // DMA Interrupt ------------------------------------------------------
        
        // if Channel Transaction Complete Interrupt Flag set
        if (DMA.INTFLAGS & DMA_CH0TRNIF_bm)
        {
            // set buffer_nr
            Voice.buffer_nr = 0;
            
            // set buffer_fill interrupt
            TCE1.INTCTRLA = 0b00000010;
            
            // clear DMA Interrupt (set one)
            DMA.INTFLAGS |= DMA_CH0TRNIF_bm;
        }
        else if (DMA.INTFLAGS & DMA_CH1TRNIF_bm)
        {
            // set buffer_nr
            Voice.buffer_nr = 1;
            
            // set buffer_fill interrupt
            TCE1.INTCTRLA = 0b00000010;
            
            // clear DMA Interrupt (set one)
            DMA.INTFLAGS |= DMA_CH1TRNIF_bm;
        }
    
    ....

    Ferner habe ich den 16Bit Noise-Generator überarbeitet. Dieser ist jetzt als Inline Assembler Code vorhanden und etwas kürzer im Code und in der Berechnungszeit. Er benötigt jetzt nur noch 512ns (16 Taktzyklen).
    Hierbei habe ich aus Zeitgründen auf die Übergabe der Ergebniswerte in der Funktion verzichtet und die Werte direkt in die Ausgabe-Variablen RNG_8 und RNG_16 geschrieben.

    Fast Noisegenerator
    Code:
    uint16_t RNG_16;
    uint8_t RNG_8;
    
    static inline Noise8(void) {
        asm volatile (
        "lds r30, RNG_16+0" "\n\t"
        "lds r31, RNG_16+1" "\n\t"
        "lsr r31" "\n\t"
        "ror r30" "\n\t"
        "brsh xxor" "\n\t"
        "ldi r17, 0xb4" "\n\t"
        "xxor: eor r31, r17" "\n\t"
        "sts RNG_8, r30" "\n\t"
        "sts RNG_16+0, r30" "\n\t"
        "sts RNG_16+1, r31" "\n\t"
        ::: "r17", "memory"
        );
    }
    Bis zum nächsten mal. Schöne Grüße aus Wuppertal [​IMG]
     
  8. rolfdegen

    rolfdegen .....

    So.. noch ein paar Bugfixes und dann ist der DE-GENERATOR fertig

    Build 3.64b 01.04.2018
    - DMA Transfer mit Double-Buffer Funktion für Audio-Daten implementiert. Spart Prozessor Ressourcen
    - Fast 16Bit Noisegenerator implementiert. Spart Prozessor-Ressourcen
    - Richtige Darstellung von Noise und Vowel Wellenform im Osc-Menü.
    - Falsche Berechnung von freien Speicherplatz für Samples. Freier Speicherplatz wird jetzt im Menü richtig angezeigt
    - Osc2: Flasche Berechnung der Loop-Punkte. Fehler beseitigt
    - Sample-Editor: Markierung der Loop-Punkte beim zoomen fehlerhaft. Fehler beseitigt.

    Andre hat das neue Panelboard aus China bekommen. Muss jetzt schnell die Bauteile bestellen und
    einlöten. Bin gespannt ob' funktioniert. Zur Info: Die neue Revision hat ein neues TFT Display erhalten
    und es sind ein paar Leuchtdioden mehr bestückt (Midi-In, Rec- und Seq-Taste).

    Facebook: https://www.facebook.com/tubeohm.tubeohminstruments

    DE-GENERATOR new Panelboard
    [​IMG]
    Link: https://plus.google.com/photos/phot...44281824883952002?authkey=CJrejtTh8MOPVQhl=de


    Andre der "Fleißige" [​IMG] hat ein kleines Platinchen rund um den FV-1 Chip von Semiconductor
    entwickelt. Der FV-1 ist eine einfach zu programmierender DSP, der speziell für Audio- und
    Effektgeräte-Anwendungen hergestellt wurde. Der FV-1 besitzt Stereo ADC und DACs.
    Insgesamt kann auf 16 Effekt-Programme zugegriffen werden. 8 Programme sind in das interne
    ROM integriert. In Verbindung mit ein serielles EEPROM können 8 zusätzlichen Programmen
    angesprochen werden. Mit 3 Potentiometereingängen können Echtzeit-Parameter gesetzt werden
    wie z. B. Reverb-Abklingzeit , Rate und Tiefe in einem Chorus oder einer Frequenz in einem Filter.
    Integrierte digitale LFOs und Rampengeneratoren ermöglichen die Programmierung
    Chorus, Flansch und Tonhöhenverschiebung.

    FV-1 Fx-Board
    [​IMG]
    Link: https://plus.google.com/photos/phot...44288989412012114?authkey=CLues-Sc19jXRAhl=de

    Gruß aus Wuppertal. Rolf
     
    lowcust gefällt das.
  9. rolfdegen

    rolfdegen .....

    Ja hier: http://cczwei-forum.de/cc2/thread.php?postid=92936#post92936 oder per mail. Gruß Rolf
     
  10. Hallo,
    gibt es die Platine des FV-1 zu kaufen?
    Gruß
     
  11. rolfdegen

    rolfdegen .....

  12. rolfdegen

    rolfdegen .....

    Hallöchen..

    Was Dave Smith da mit dem Sequential X Synthesizer baut ist schon genial und vorbildlich. Eine ähnliche Idee hab ich mit zwei Oszillatoren im DE-GENERATOR umgesetzt. Beide Oscillatoren besitzen eine Synth- und Sample-Engine. Es können User-Wellenformen und Samples über SD-Karte im WAV-Format geladen werden. Ferner können beide Oszillatoren auf 18 verschiedene Synthesealgorithmen zugreifen wzB Vowel-Sound, ZSaw,LPZ,PKZ u.v.a.

    Synthengine im DE-GENERATOR
    [​IMG] [​IMG]
    Link: https://plus.google.com/photos/1144...275309945320594?authkey=CN_jsejj3J_BtwE&hl=de
    Link: https://plus.google.com/photos/1144...275309400259506?authkey=CN_jsejj3J_BtwE&hl=de
    [​IMG]
    Link: https://plus.google.com/photos/phot...549277187583757026?authkey=CKPl3-SQ25xd&hl=de


    Ein Beispiel: Wärend Osc1 eine User-Wellenform oder einen Synthesealgorithmus wiedergibt, kann Osc2 einen Sample abspielen. Ferner können Osc1 und Osc2 zeitgleich auf den gleichen Sample oder zwei unterschiedliche Samples zugreifen. Ein kleiner Sample-Editor mit Cut-, Reverb- und Loop-Funktion ist ebenfalls vorhanden.

    PS: Was ihr da seht, ist schon das neue Panelboard (Finale-Version) für den DE-GENERATOR und bestückt mit dem neuen TFT-Display. Bin das gerade am teste. So wie's aussieht hat Andre gute Arbeit gemacht. Es funktioniert :)

    Gruß Rolf
     
    Zuletzt bearbeitet: 28. April 2018
    lowcust, Rackes und vankerk gefällt das.
  13. vankerk

    vankerk |||||

  14. rolfdegen

    rolfdegen .....

  15. rolfdegen

    rolfdegen .....

    Das fertige FV-1 Fx-Board von Andre. Klingt wirklich gut :)

    Wir überlegen noch, ob wir in einer späteren 16Bit Version des DE-GENERATOR's den PT2399 gegen den FV-1 ersetzen, weil dieser einfach besser klingt und mehr Möglichkeiten bietet.

    [​IMG]

    Gruß Rolf
     
  16. rolfdegen

    rolfdegen .....

  17. rolfdegen

    rolfdegen .....

  18. xenosapien

    xenosapien hochgradig unprofessionell

    Sauber, Gratulation!

    Wo kann man denn die PCBs / das DIY-Kit dann ordern, hast Du da schon Pläne?
     
  19. comboy

    comboy ......

    denke mal bei andré / tubeohm im shop
     
  20. rolfdegen

    rolfdegen .....

  21. rolfdegen

    rolfdegen .....

    Die nächsten Seiten der Bedienungsanleitung

    [​IMG]

    [​IMG]
     
  22. rolfdegen

    rolfdegen .....

    lowcust gefällt das.
  23. rolfdegen

    rolfdegen .....

    Um die Qualität meiner Youtube Videos zu verbessern, habe ich mir eine kleine preisgünstige Video Camara gekauft und einen Videoeditor von Magix Video Deluxe 2018. Die Camera ist eine SONY HDR-CX405

    [​IMG]

    [​IMG]

    Kleines Youtube Testvideo mit der neuen Cam
    Link:

    Ansehen: https://www.youtube.com/watch?v=3TBOJz_Hqa0


    Gruß Rolf
     
  24. Moogulator

    Moogulator Admin

    Das sieht doch gut aus, wann kommt der denn in den Laden oder so in die Hände von Leuten? Oder ist es eher ein Work in Progress System? Das ist durchaus attraktiv wie es dargestellt wird.
     
  25. rolfdegen

    rolfdegen .....

    Danke :)

    Software steht. Wir feilen und schrauben aber noch etwas am Gehäuse ;-)

    Gruß Rolf
     
  26. c1151

    c1151 Guest

    Du hast meine volle Hochachtung für dein Projekt.
     
  27. rolfdegen

    rolfdegen .....

    Danke. Ich hoffe das es in ein paar Wochen mit dem Case klappt.
     
    c1151 gefällt das.
  28. rolfdegen

    rolfdegen .....

    Hallo zusammen..

    So langsam bekomme ich etwas "Muffensausen". Die erste Serie von 25 DE-GENERATOREN ist jetzt
    in Vorbereitung. Die speziellen TFT Displays sind bereits aus China eingetroffen und von uns auf
    Funktion getetstet. Das Panelboard wird jetzt mit speziellen Encoder von Burns bestückt, die ein
    höheres Rotational Life von min 100.000 Zyklen besitzen.

    TFT Display
    [​IMG]


    Das Manual ist fast fertig. Andre schreibt parallel noch an einer DIY Anleitung fürs Bestücken der
    Platinen. Das Ganze sieht dann im Endeffekt so aus..

    Beispiel Bestückungsplan
    [​IMG]

    In der Firmware hab ich noch ein paar Bugs gefunden und beseitigt.

    [​IMG]

    Gruß Rolf
     
    onkelguenni, Feedback und Green Dino gefällt das.
  29. rolfdegen

    rolfdegen .....

    So.. gibt wieder ein neues Video zum DE-GENERATOR



    Gruß Rolf
     
  30. rolfdegen

    rolfdegen .....

    Hallöchen..

    Ich war mal wieder etwas shoppen und hab mein Urlaubsgeld in ein Yamaha PSR-S670 Keyboard investiert.

    Yamaha brachte 2015 mit dem PSR-S670 ein neues Entertainer Keyboard auf den Markt. Mit zwei
    großen Lautsprechern 2x15 Watt und Bassreflex-Öffnungen an den Seiten macht der Synthi einen
    guten Klang.

    Ein großes blaues LC-Display mit 320×240 Pixel informiert über Klangeinstellungen und Styles.
    Das PSR-S670 verfügt über 400 interne Presets und 34 Drum Sets. Eine Besonderheit am Yamaha
    PSR-S670 sind die zwei Live Control-Drehregler. Damit können unterschiedliche Parameter in Echt-
    zeit modulieren werden. Das Gerät besitzt zwei USB-Schnittstellen. Eine für Midi und die Andere für
    das Abspielen von Audio-Aufnahmen.

    Amazona Testbericht: https://www.amazona.de/test-yamaha-psr-s670/

    [​IMG]
    Bild Link: https://plus.google.com/photos/photo/114...XE44DHkwE&hl=de

    Gruß Rolf
     
    Zuletzt bearbeitet: 14. Juli 2018