PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Alternative zu SPB-Linux



Sleepwalker
09.01.2011, 12:05
Hi,

da SPB-Linux nicht so einfach zu erweitern ist, scheinbar auch nicht mehr weiterentwickelt wird, ich auch ständig Probleme hatte die Sticks bootfähig zu bekommen, hab ich nach kleinen Alternativen gesucht.
Dabei habe ich tinycore gefunden. Es hat gegenüber SPBLinux einige Vorteile, ist in der Grundversion nur 6 -11 Mb gross, und kann schnell mit

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

und einem USB-Stick getestet werden.

Die wichtigesten Vorteile: Grafische Oberfläche, die man aber nicht starten muss, Packetverwaltung, relativ neuer Kernel und Treiber, installieren von Programmen "OnDemand", so das sie erst geladen werden wenn man sie braucht, und man kann relativ leicht neue Programme installieren, was bei spblinux nicht so einfach ist.
Ist auch für einen PC geeignet der AUCH abspielen soll. Player usw lassen sich über die Packetverwaltung installieren.

Es gibt nicht alle Packete die man zum falten braucht, aber alsa und Jack sind dabei. Brutefir müsste man sich von z.B. Ubuntu kopieren, der man mountet die enstprechenden Verzeichnisse aus der Ubuntuinstallation.

Für die faltinteressierten könnte das interessant sein.

Torsten

The Alchemist
11.01.2011, 12:52
Noch kann ich nicht den Vorteil von Tinycore erkennen.

Sehr nachteilig: Der Alsamixer vergißt bei jedem Start die Einstellungen, läuft Brutefir nur mit Alsa, gibt es bei mir Störgeräusche (hört sich an wie ein Hubschrauber in der Ferne).

Jack läuft nicht mit den erforderlichen Rechten, wie man das dauerhaft hinbiegt ist mir ein Rätsel, in der Praxis heißt das aber das man auf Jack verzichten muss (für den Betrieb als Blckbox würd ich das eh empfehlen.)

Dafür bootet das System in knapp 17s vom USB Stick..

Gruß
Elmar

ferryman
11.01.2011, 12:56
Hallo ihr zwei,

Axel und ich hatten auf unserem Faltrechner, der für den Contest gedacht war (dafür die Nacht vorher nicht überlebt hat - komplett silent, gedämtes Gehäuse, lüfterloses Netzteil, SSD...), ein Arch Linux ohne GUI, das eigentlich einwandfrei funktioniert hat.

Vielleicht ist das ja interessant für euch. Eine GUI halte ich mitlerweile für prinzipiell verzichtbar.

Viele Grüße,
Julian

Sleepwalker
11.01.2011, 15:43
Hallo Elmar,

das mit dem Mixer kann sein, aber den sollte man eh per script einstellen. Damit die Lautstärke bleibt:

amixer -c0 sset Master,0 100%

Das setzt den Masterregler, der alle Ausgänge gleichzeitig steuert auf 100%

amixer -c0 Mater,0 1dB-

...bei jedem Aufruf 1 dB leiser. Lauter mit nem + statt -
Es macht auch Sinn alle anderen Einstellungen beim start definiert zu setzen.

Mit Jack hab ich noch nichts gemacht. Brauche das aber als Faltkiste ja nicht.

Wenn du was automatisch starten möchtest:
Bei den Bootoptions "opt=sdXY" einfügen, dann hast du ein persistentes /opt, indem das startscript steht. "Backup" am Ende kannst du dir sparen.
Dort kannst du alles Eintragen was du starten möchtest.
Brutefir startet man besser mit nem eigene Script, z.B. startbrute.sh, das man in das Startscript schreibt. Da kann man auch die Kommandos für die Mixereinstellung mit reinmachen.

Bei spblinux passiert das auch in einem script. Der Stick von Uli Brüggeman kann in der Version die ich habe, auch nur die eine Karte. Klar kann man andere auch zum laufen bringen, aber mach das mal als Anfänger.

Andere Vorteile von tinycore hab ich schon genannt: Es gibt eine Paketverwaltung und es ist aktueller. Brutefir ist zwar nicht drin, aber dafür andere interessante Sachen, wie z.B. samba. Habs noch nicht getestet, aber damit sollte man Verzeichnisse freigeben können, so das man auch die Dateien auf der Faltkiste von Windows aus bearbeiten kann, sie kopieren kann usw.
Fürs Einrichten ist auch die GUI besser (finde ich).
Wenn du tinycore ohne GUI starten möchtest, kannst du wieder als Kerneloption "text" angeben.
Da ich ja noch ein paar Sachen mehr machen möchte (DIY-VV), ist es auch ganz nett mal firefox auf der Kiste starte zu können. Zumindest bis die Entwicklungsphase vorbei ist. Das spart das ständige umstecken des Sticks in einen anderen Rechner.

Der start von Platte geht, je nach dem wie lahm das Bios ist, sehr fix. Die Platte hab ich aber leider zerschossen, so das ich jetzt auch nen Stick nehme :o Mein Ubuntu auf nem Stick braucht gefühlte 2 min. Gemessen hab ichs aber noch nicht.
Ich habe das ganze auch mal mit Grub2 getestet, aber wieder runtergeworfen, weils den Startvorgang auch um ein paar Sek. verzögert.

Das mit den Geräusen im HIntergrund habe ich hier nicht. Im Augenblick läuft brutefir aber imo auch noch nicht im RT-Modus. Vielleicht liegts daran?

Bei 2 Kanälen, aufgeteilt auf die beiden Prozessren liegt der Atom 330 bei ca. 3-4 Prozent mit 64 Bit.

Torsten

Edit: Alles was im Startscript steht wird automatisch als root ausgeführt. Falls das dein Problem mit Jack ist, starte es von da aus.

ferryman
11.01.2011, 16:37
Mein Ubuntu auf nem Stick braucht gefühlte 2 min. Gemessen hab ichs aber noch nicht.
Meins braucht gemessene 35 Sekunden :cool:

Viele Grüße,
Julian

Sleepwalker
11.01.2011, 18:04
@Elmar: Ich denke ich verstehe nun das "Mixer-Problem". Alsactl speichert die Einstellungen in /etc, was nach dem Neustart weg ist. Es könnte sein das es mit "Backup" behalten wird.

http://mirror1.atrpms.net/ccrma/man/man1/alsactl.1.html

Torsten

The Alchemist
11.01.2011, 19:16
Leider doch, der "Line In" Eingang ist immer wieder "Aus". :thumbdown:

Die Störgeräusche treten erst auf wenn Brutefir läuft und zwar Lautstärke unabhängig , sonnst ist alles stumm.

Gruß
Elmar

Sleepwalker
11.01.2011, 19:24
Hi,

ich nutz den spdif, vieleicht hab ich deshalb kein Problem?
Man kann btw auch alle anderen Einstellungen über den amixer steuern. Nur die Ausgänge einzeln hab ich noch nicht hinbekommen....
Torsten

The Alchemist
11.01.2011, 22:56
@Torsten

benutzt Du 44,1 kHz oder48,0 kHz Files in deiner Brutefir Config?

Das Alsa Problem:

Wenn man das Wiki lesen würde :D wird manchmal alles etwas einfacher.

Die Einstellungen im Alsamixer kann man mit dem Befehl "alsactl store" speichern. Dabei wird ein File in /etc Namens asound.state abgelegt.

Leider wird die Datei nicht auomatisch beim Start verwendet hier muss man dann noch "alsactl restore" als Script ausführen, aber erst wieder morgen :)

Das kann man speichern, wenn man mit Rootrechten die Datei opt/.filetool.lst editiert.
Ich benutze als Editor Geany, gebe also in der Konsole "sudo geany "ein.

In dieser Datei kann man alle Files benennen, die gespeichert werden sollen.

Ich habe Brutefir von Hand in die Verzeichnisse /usr/bin und usr/lib kopiert und lasse diese ebenfalls in derfiletool.lst speichern.

Jetzt kann ich Brutefir mit Eingabe in der Konsole starten.

Hier noch der Link zum Wiki: http://wiki.tinycorelinux.com/tiki-index.php

Gruß
Elmar

Sleepwalker
11.01.2011, 23:23
Hallo Elmar,

das was du gerade geschrieben hast, hab ich vor ca. 2 Stunden auch schon gelesen :D, allerdings im Forum von tinycore.Dort stand aber auch, das es bei der store/restore-Methode zu timingproblemen kommen kann. Man man, Linux ist echt heavy. Ich weiss gar nicht wann ich das letzte mal mit soviel Frust und Begeisterung im wechsel vor dem PC gesessen habe :)
Ich nutze 44.1.
Ich habe das Problem mit Brutefir bisher anders umgangen, indem ich ein Verzeichnis mit der "richtigen" Struktur in /home gelegt habe, und beim starten (startscript) als erstes mit cp -r das Verzeichnis nach "/" kopiere. Dann wird LCDd und lcdproc aufgerufen, dann brutefir... Funktioniert auch einwandfrei. Ich denke ich werde dabei bleiben, denn wenn erstmal alles läuft, sicher ich das Verzeichnis, und setze tc nochmal ohne all den Müll der sich schon angesammelt hat auf. Bei mir sinds durch Lirc und lcdproc schon ein paar mehr Dateien...

Ich "arbeite" gerade an der Lirc-Lösung für die Fernbedienung. Leider sind die ganzen Mirrors für die tc-Erweiterungen immer down und ich bekomme nicht die files die ich brauche:mad:

Ich habe auch lange gebraucht bis ich mal gefunden habe wie man Apps "richtig" deinstalliert...:rolleyes:

Torsten

The Alchemist
12.01.2011, 10:39
Kannst Du mir mal ein Beispiel von deinem Startscript und den Aufruf dazu (in bootlocal.sh ?) posten, ich kriegs nicht hin.

Ich kann nur kurz eine Brutefir Fehlermeldung sehen, aber nicht so schnell lesen.... obs irgendwo ein log gibt, hab ich noch nicht gefunden.

Gruß
Elmar

Sleepwalker
12.01.2011, 11:13
Hallo Elmar,

im Startscript steht z.Z. nichts weiter als :
brutefir

Das du nichts siehst, ist kein Wunder.
Die Console in der du brutefir startest, ist die, die im Hintergrund läuft, also praktisch "hinter" der Gui.
Wenn du Brutefir dagegen aus einem Script heraus startest, öffnet sich ein weiteres Konsolenfenster, und da siehst du dann auch das was du erwartest. Ich weiss nicht wie ichs besser erklären soll.
Du brauchst halt mehrer Konsolenfenster. Wenn du z.B. brutefir startest, versuchst du ja auch nicht IM GLEICHEN Fenster weitere Anwendungen zu starten...
Ich hoffe du weisst was ich meine:)

Torsten

Edit: Ein Log findest du unter Panel -> Demsg (oder so...)

Nochmal Edit: Achte darauf das die selbsterstellete Scriptdatei als ausführbar, ggf. sogar für alle User ist. Als alter Linuxer sagst du jetzt wahrscheinlich :"Ist doch klar", aber ich stoplere da regelmässig drüber.

The Alchemist
12.01.2011, 15:12
Ich habe in meinem Ordner /home/tc ein Script angelegt, was sich ausführen läßt (brute.sh). Wenn ich mit das Script aufrufe, wird, so wie du es beschrieben hast, Brutefir in einem Konsolenfenster gestartet.

Leider klappt das Ausführen beim Start nicht. Ich habe dazu die Datei /opt/bootlocal.sh um den Eintrag home/tc/brute.sh erweitert. Das scheint so nicht richtig zu sein.

Ich schaffe es nicht mein Script beim Start aufzurufen :o. Also die Frage : Wie wird ein Script aufgerufen?

Gruß

Elmar

Sleepwalker
12.01.2011, 21:11
Hallo Elmar,

das ganze ist ein wohl ein timingproblem, denn brutefir kann nicht laufen bevor alsa gestartet ist (klick der Xonar) Ich hatte in meinem Script mal ein

sleep 20

vor dem brutefir stehen. Ich habe das hinterher geloescht und gar nicht drauf geachtet ob es noch funktioniert, weil ich ja mit lirc beschaeftigt war.

Die Loesung: Kopiere das Script in den Ordner /home/tc/.X.d

Dann wird es erst nach X aufgerufen, also nach dem starten der GUI.

Das Fenster bleibt aber zu. Brutefir startet im Hintergrund und funktioniert auch normal. Kontrollieren kannst du das mit "ps" in der Console. Da werden die laufenden Prozesse angezeigt, und wenn da Brutefir drin steht, laeuft es auch :)

Damit du Fenster sehen kannst, schreibst du das in deinem startscript so:

aterm -e brutefir

Das hat den Vorteil das man Brutefir mit Strg-C abbrechen kann. Ohne das Fenster muss ich mit

sudo kill <Prozess ID von Brutefir>

stoppen, was nicht so schoen ist. Einen anderen Weg kenne ich sonst nicht :o

Torsten

Noch ein Tipp: Die erste Datei die ausgefuehrt wird ist nicht die bootlocal.sh, sondern die bootsync.
Das "&" sorgt wohl (?) dafuer das nicht gewartet wird bis der Befehl ausgefueht wurde, sondern gleich weitergemacht wird.
So siehts das zumindest im Moment fuer mich aus. Ich rate halt auch meist nur rum ...

Edit:

Mit Lautstaerkeeinstellung sieht das jetzt so aus:

#!/bin/sh

amixer -c0 sset Master,0 50%
amixer -c0 sset Master,0 on
aterm -e brutefir


Weil du ja Analog faehrste packst du noch davor:

amixer -c0 sset 'Analog Input Monitor',0 on
amixer -c0 sset 'Analog Input Monitor',0 100%

Nach dem Muster kannst du den gesamten Alsamixer einstellen. Welche Einstellungen es gibt sieht man durch ein einfaches

amixer

Torsten

Sleepwalker
12.01.2011, 22:17
Noch ein Nachtrag:

Einzelne Ausgaenge gehen so:

amixer -c0 sset 'Master',0 'Front" 20%

...

Torsten

The Alchemist
12.01.2011, 22:26
Also das mit das Script einfach in den XD Ordner kopieren , war einfach und klappt hervorrragend.

Ich hab jetzt einfach mal vor den Brutefir Befehl 'alsactl restore' gesetzt und alles funktioniert.

Ich hab nen Falter ohne Lautst'rkeregelung. :)

Wegen der St;rger'usche und der Tastatur werd ich das Ganze nocheinmal installieren,

Gruss
Elmar

Sleepwalker
12.01.2011, 22:29
Tastatur?

Torsten

The Alchemist
12.01.2011, 22:40
Nun ja, das mit kmap=de kam zu Spät :D.

Bei meiner Installationsart kann ich keine Parameter bei Start übergeben.

Da ich Jack und Pulseaudio (was nicht funktioniert, auch nicht wie im Wiki oder im Forum beschrieben) installiert habe, kann es sein das irgendetwas die Karte stört.

Ich weiß aber nicht ob man nicht alle Regler im Alsamixer bewegen muß, ich fürchte es gibt keinen "echten" Master...

Sleepwalker
12.01.2011, 22:57
Hi,

das mit der Tastatur ist kein Problem.
Du installierst ueber diese Paketverwaltung die Datei kmap.tzc.
Im Verzeichnis /usr/share/kmap/qwertz ist die Datei de.kmap.
Die kopierst du in dein /Opt.
Dann rufst du im der bootlocal.sh auf

loadkmap < /mnt/sdXY/Opt/de.kmap

Dann hast du zumindest in der Console kein Problem mehr. Bei Firefox fehlen weiter die Umlaute (wie man an meinen letzten Postings sieht), aber auch dafuer gibts eine Loesung, die ich irgendwo schon gefunden habe, aber mangels interesse noch nicht umgesetzt habe.

Welchen bootloader benutzt du?

Der "echte" Master wird mit den o.G. Befehlen gesteuert. Warum du Pulseaudio installiert hast versteh ich nicht, denn ich habe im Internet glesen das viele Leute das verfluchen weils fuer viel Probleme sorgt.

Torsten

und wieder Edit: Wenn du ein Programm deinstallieren moechtest z.B. (Pulsaudio) nicht einfach die .tcz Datei loeschen...

Panel ->Apps Audit ->Dependencies
Build Reporting Database (kann etwas dauern)
dann Paket auswaehlen und dann im Menu Dependencies -> Mark for Deletion.
Geloescht wird es erst beim Neustart.

Wenn du genau weisst welche Abhaengigkeiten bei den Paketen voranden sind, kannst du auch die .tzc Dateien im /tce/optional loeschen, ABER!!! du musst danach in der Console "tce-setup" ausfuehren. Sonst bootet die Kiste nicht mehr. Rate mal woher ich das weiss :D

Torsten

Sleepwalker
12.01.2011, 23:08
und noch ein Hinweis...

Das loadkmap < ... brauchste in der gui nicht versuchen, denn da geht es nicht...

Sleepwalker
12.01.2011, 23:17
und noch einer...den ich aber noch nicht probiert habe:
Deine Soundproblem in Verbindung mit Jack koennten am fehlenden "Realtime" liegen...

Dazu gibts aber auch ein Paket:
http://tinycorelinux.com/forum/index.php?topic=6502.0

Vieleicht behebt dass das "Hubschraubergeraeusch"

Torsten

Sleepwalker
12.01.2011, 23:55
Sooooo, die Fernbedienung laeuft auch!:D:D:D

Torsten

The Alchemist
13.01.2011, 10:02
Ich fürchte mein Soundproblem kommt aus einer ganz anderen Richtung. Jack benutze ich gar nicht.

Ich bin durch Zufall drauf gestoßen: Fehlendes CPU Takten.

Wenn ich unter Ubuntu den Takt auf 2,6 GHz takte habe ich ebenfalls Störgeräusche, was mir noch nie aufgefallen ist, da die CPU immer bei 1 GHz rumlümmelt.

CPU Scaling funktioniert natürlich wieder nicht so wie im Wiki oder im Forum beschrieben....:mad:

Da werd ich erstmal probieren ob der Resteverwerter, der ja Blackbox werden soll, den Fehler auch hat.

Lirc:

Du benutzt doch bestimmt einen selbstgebauten Empfänger für den Seriellen Port...

Während ich das Ding wiedersuche, kanss Du ja schon mal anfangen mit der Beschreibung.:D:D:D:D:D:D

Kannst Du die Lautstärke per Lirc steuern?

Der Befehl zur Lautstärke funktioniert.
amixer -c0 sset Master,0 50%


Wichtig für Line IN Nutzer:
Der AnaloginputMonitor muss gemutet sein, sonst wird das Signal gurchgeschliffen und zerstört direkt angeschlossene Hochtöner!! !!

Gruß
Elmar

Sleepwalker
13.01.2011, 11:02
Hallo Elmar,

ja, Lautstärke kann ich verstellen :). Auch alles andere sollte gehen, d.h. Filterwechsel, Eingangswahlwechsel (analog/digital), usw. aber das hab ich noch nicht umgesetzt. Ausschalten per FB geht aber auch schon ;)
Der Rest ist eher Fleissarbeit.
Im Prinzip kann man mit der Fernbdienung alles machen, indem man entweder den Befehl per Tastendruck direkt gibt, oder ein Script aufruft.
Beschreibung kommt noch. Ich nutze keine selbstgebaute FB, da ich noch eine von einer alten TV-Karte habe. Es werden aber wirklich sehr viele FBs unterstützt, und man kann sich auch selbst ein Config-File erstellen.
Es würde sinn machen das alles mal zusammen zu fassen, aber trotz 25 "Faltern" ist das Interesse wohl eher gering.

Das mit dem cpu-takt hab ich hier nicht. Wenn die Kiste nix andere machen soll, und es wirklich nicht mit tc klappt, könnte man ggf. im Bios den Takt runtersetzten. Ich werde das mal versuchen hinzubekommen, wenn alles andere läuft. Mein Encoder läuft nämlich noch nicht, und das Menu für die Anzeige muss ich auch noch machen.

Torsten

The Alchemist
13.01.2011, 11:35
Wechsel des Eingangs stell ich mir etwas schwierig vor , da man eine andere Eingangsdefinition in der Brutefir Config braucht.

Bezogen auf die Asus ist der analoge Eingang "hw0", der digitale "hw0,1". das kann man nicht parallel in einer Config angeben.

Wie Lirc funktioniert ist mir komplett schleierhaft, den Empfänger hab ich mir vor Jahren gebastelt, als ich noch XP benutzt habe, daher weiß, dass er funktioniert.

Lautstärke und An /Aus würden mir reichen.:D

Momentan kämpfe ich mit meiner Restekiste, da funktioniert das mit den Eingängen nicht, das Signal wird nur durchgeschliffen. Liegt aber evtl. daran, dass ich die Karte (Aureon Terratec) umgeflasht habe zur Prodigy 7.1. das mach ich mal rückgängig und teste nochmal.

Der Resteverwerter selbst macht keine Störgeräusch, da das Mainboard defekt ist, läuft er aber auch runtergetaktet, 200MHz Systemtakt auf 166 MHz Systemtakt.


Es würde sinn machen das alles mal zusammen zu fassen, aber trotz 25 "Faltern" ist das Interesse wohl eher gering.

Das macht trotzdem Sinn. Bei Dingen, die ich irgendwann mal zum laufen gebracht habe, hab ich mir angewöhnt , das in Foren zu posten.

Tritt nach 2-3 Jahren das Problem wieder auf google ich nach meinen eigenen Beiträgen:D

Gruß
Elmar

Sleepwalker
13.01.2011, 11:59
Das macht trotzdem Sinn. Bei Dingen, die ich irgendwann mal zum laufen gebracht habe, hab ich mir angewöhnt , das in Foren zu posten.

Tritt nach 2-3 Jahren das Problem wieder auf google ich nach meinen eigenen Beiträgen:D

Gruß
Elmar

Das setzt aber vorraus das ich selbst kapiere was ich schrieb :D

Der wechsel geht durch 2 Config-Dateien von Brutefir und bei Tastendruck ein Neustart von Brutefir mit der anderen Config. Dauert zwar ein paar sekunden, aber so oft macht man das i.d.R. ja nicht.

Welchen bootloader setzt du denn jetzt ein?

Lirc ist schon heftig. Ich hab da auch Stunden vorgesessen bis ich gerafft hab wie es geht, und warum es bei mir erst nur "halb" ging. Wahrscheinlich lese ich zuwenig in der Doku, probiere erst mal rum, bis ich merke das nix geht :rolleyes:

Wenn du alles zusammen und angschlossen hast, können wird die Sache mal zusammen angehen.

Hier:

http://lirc.sourceforge.net/remotes/

kannst du alle unterstützen FBs sehen. Andere gehen auch, aber da weiss ich noch nicht wie man die Config-Datei dafür erstellt. Soll zwar halbautomatisch gehen, aber... :o

Ich bin gerade an Samba dran, damit man die Filterdateien vom Windowsrechner rüberschieben kann....

Torsten

Sleepwalker
13.01.2011, 12:08
Doppelpost...

The Alchemist
13.01.2011, 12:56
Bootloader?

Also ich hab das auf nen USb stick nach Anleitung gemacht.

Dafür brauchte man Syslinux. :o

Okay, ich such dann mal meinen Empfänger. :)

Gruß
Elmar

The Alchemist
13.01.2011, 13:17
Ein Blick in die noch nicht entsorgte Kiste mit E-Schrott auf dem Dachboden offenbart als Sender eine Grundig TP 715.

Der Fernseher lange entsorgt, die Fernbedienung bekommt vielleicht den 2. Frühling!:)

Der Empfänger hängt am seidenen Faden und muss noch einmal nachgelötet werden..

Einem Versuch steht nichts im Wege.

Gruß
Elmar

Sleepwalker
13.01.2011, 14:38
Hi,

ich fuerchte ich habe mir gerade die Frontkanaele der SK geschossen. Das Billig-Netzteil von Pollin hat bum gemacht...
Neues Netzteil... nun verzerren die Frontkanaele und sind sehr leise. Die anderen laufen mit aplay.
Nun bekomme ich die anderen Ausgaenge aber nicht mit brutefir zum laufen.

HELP.

Ein Eintrag in der Config

output "o_left", "o_right" {

device: "alsa" { device: "hw:0,0";}; # ignore_xrun: true; };

channels: 2/0,1; # number of open channels / which to use

geht, aber :

output "o_left", "o_right" {

device: "alsa" { device: "hw:0,0";}; # ignore_xrun: true; };

channels: 2/2,3; # number of open channels / which to use

geht nicht.

Wie spreche ich die andern Kanaele an?

Torsten

The Alchemist
13.01.2011, 15:49
Kann grad nicht testen.

Quick&Dirty:

Versuch mal 4 Outputs zu definieren, wenn das der "Reihe nach " geht, könnte das klappen:

output "a", "b", "o_left", "o_right" {

device: "alsa" { device: "hw:0,0";}; # ignore_xrun: true; };

channels: 4; # number of open channels / which to use

Viel Glück

Elmar

Edit: evtl. mußt Du irgendwas auf die Ausgänge "a" "b" ausgeben, damit die beschäftigt sind, das Blöde dabei ist, dass die Prozessorleistung steigt.

The Alchemist
13.01.2011, 18:11
Hab obigen Versuch gestartet , und es funktioniert.

Brutefir stellt zwar fest, dass die Ausgänge nicht benutzt werden, aber sonst läuft das wie erwartet.

Die Dummy Ausgänge müssen auch nicht beschäftigt werden.

Bei den Channels reicht es die Anzahl der Kanäle anzugeben, also in diesem Fall 4, steht hier eine falsche Zahl, gibt es einen " Channel Mapping Error"

Trotzdem k*ck* mit der Karte

Gruß

Elmar

Sleepwalker
13.01.2011, 18:39
Hi,

die Karte scheint in Ordnung zu sein, denn im anderen Rechner lief sie normal. Also hab ich die Installation überprüft, bis ich alles gelöcht hatte, dann hat der Stick angefangen rumzuspinnen. Komplett neu erstellt, und bootet immer noch nicht wieder richtig. Ich könnte kotzen...
Entweder spinnt das Board, oder der Stick. Jetzt pack ich erstmal wieder alles auf ne USB-Platte...Dabei hat es doch schon so gut funktioniert heul.

Mal kurz zu lirc:
1. installiere das Paket für lirc.
2. Besorg dir die Datei Setserial-2.17.tce. Die gibts nicht als Paket, aber man kann sie so runterladen, aber frag mich nicht nach der Adresse. Musst mal im tiniycore-Forum suchen.
Die packst du dann in dein /Opt

Dann sollte das entweder in der bootlocal.sh stehen, oder in einem Script, das du in der bootlocal.sh aufrufst:

mkdir /var/run/lirc
# Verzeichnis fuer Lirc erstellen

tar -xf /opt/proglirc/setserial-2.17.tce -C /
# Das Programm setserial entpacken

setserial /dev/ttyS0 uart none
sleep 1 #
modprobe lirc_serial
#Modul laden
modprobe lirc_dev
#Modul laden
lircd -d /dev/lirc0 /opt/proglirc/IrFb_AS-218.conf
# lircd starten. Als device lirc 0 ... Die Daten der Fernbedienung stehen in IrFb_AS-218.conf
irexec /opt/proglirc/FbBefehle.conf
#irexex mit der Datei /opt/proglirc/FbBefehle.conf als configfile starten. Darin steht welche Taste was machen soll

Wegen der Dartstellung hier im Forum beziehen sich die Kommentare immer auf die Zeile darüber.

Beachte bitte die Verzeichnisse. Bei mir steht z.B. Setserial-2.17.tce in /opt/proglirc

Die erste Zeile ist nur nötig bei tinycore. Irgendwie gehts sonst nicht.

Die Fernbedienungsdatei ist die IrFb_AS-218. Da musst du die passende für dich runterladen und das entsprechend anpassen.

Die FbBefehle erstellst du selbst. Darin steht was bei einem Tastendruck passieren soll. Eine genaue Erklärung findest du bei lirc.org.
Hier mal als Beispiel:

begin
remote = AS-218
button = VOL_DOWN
prog = irexec
repeat = 1
config = /home/tc/MVolumeminus.sh
end

begin
remote = AS-218
button = VOL_UP
prog = irexec
repeat = 1
config = /home/tc/MVolumeplus.sh
end

begin
remote = AS-218
button = POWER
prog = irexec
repeat = 1
config = exitcheck.sh
end

In den Scripten MVolumeminus und MVolumeplus steht bei mir halt der Befehl um 1db lauter oder leiser zu machen.

Das was bei "config" steht ist der Befehl der ausgegeben wird.
prog ist das Programm an das der Befehl geschickt wird. Hier reicht das schicken an die Konsole in der irexec läuft. Romote ist halt der Name der Fernbedienung, in meinem Fall halt...
Welche Buttons deine Fernbedienung hat, oder besser wie sie heissen, kannst du in der IrFb_AS218.conf (hier natürlich die Datei für deine FB) sehen.

Wenn etwas nicht klappt, mach zuerst den test mit mode2
Nachdem dein startscript für lirc die Befehle setserial ...und modprobe ausgeführt haben, kannst du mit:
mode2 /dev/lirc0 schonmal gucken ob überhaupt was ankommt.
Wenn nicht, mit "lsmod" nachgucken ob die module geladen wurden.
Im Verzeichnis /dev sollten dann auch 2 Lirc devices sein. Normalerweise lirc0 und lircd.

Wenns nicht sofort klappt, bitte nochmal melden.

Torsten

Sleepwalker
13.01.2011, 22:06
Ich dreh durch...nachdem mir ja das eine Netzteil abgeraucht ist, hab ich mein M2ATX eingebaut. Das ist eigentlich für Autos gedacht, und kann mit 8-24 Volt versorgt werden.
Es funktioniert im Prinzip einwandfrei, aber aus irgend einem Grund macht die SK dann Ärger. Jetzt hab ich ein weiteres billig-Netzteil von Pollin dran, und es läuft wieder alles.
4 mal das System neu aufgesetzt, mit diversen Live-CDs gebootet, 3 Sticks formatiert...jetzt wird erstmal ein bischen geweint :mad:.

Was macht lirc?

Torsten

The Alchemist
13.01.2011, 23:06
Ich hab den ganzen Abend rumgekaspert und gerade gesehen, dass ein Kabel am Empfänger ab ist.....:(

Vielleicht ist das der Grund warum es nicht geklappt hat.

In /dev habe ich nur ein Modul lirc0...

Ich werd morgen Abend weiter testen.

Gruß
Elmar

Sleepwalker
13.01.2011, 23:19
Nach Modprobe usw. das eingeben

mode2 -d /dev/lirc0

Wenn der Empfänger funktioniert, dann siehst du beim Tastendruck zahlen auf dem Bildschrim ...

Torsten

http://www.vdr-wiki.de/wiki/index.php/LIRC#Checkliste_nach_wilderigel

Ich könnte dir auch mein opt verzeichniss schicken, dann gehts sofort

The Alchemist
14.01.2011, 08:17
Empfaenger geloetet und mode2 empfaengt Daten.

Das Opt Verzeichnis brauch ich nicht mehr, wenn Du die Scripte fuer die Lautstaerke +/- und dein Exitscript posten koenntest waer das prima.

Gruss
Elmar

Sleepwalker
14.01.2011, 11:41
Hi,
prima,

für -

amixer -c0 sset Master,0 1dB-

+

amixer -c0 sset Master,0 1dB+
mehr steht da noch nicht drin
Das sollte auch ohne Script gehen. Einfach bei Config den Befehl reinschreiben.


Das script zum beenden gibt es schon. Einfach so aufrufen. Das script fährt sofort runter, OHNE Backup!

Torsten

und wie immer noch 2 Hinweise...

Wenn es nicht "Master" sondern irgendwas ist das Leerzeichen enthält, z.B. "Line In", dann muss das in Hochkomma geschrieben werden.
..........'Line In',0......

Wenn du z.B. nur die Front steuern möchtest

Master,0 'Front' 1dB-

Ich hoffe die Syntax stimmt, kann gerade nicht nachgucken.

The Alchemist
14.01.2011, 22:34
Es laeuft. Endlich. Ich kann aber nicht unbedingt behaupten, dass es wirklich Spass gemacht hat.

Dafuer weiss ich jetzt wie irrecord funktioniert. :cool:

Wenn man eine funktionierende lircd.conf Datei fuer seine Fernbedienung findet, ist die Installation von lirc mit der Anleitung von Torsten einfach.

Wenn man eine findet, die aber nicht funktioniert, was man aber nicht weiss, dann sucht man sich dumm und dusselig.

Gruss
Elmar

Sleepwalker
15.01.2011, 08:46
Hi,

wir könnten ja mal ne Anleitung schreiben die "ganz vorn" beginnt, bis zum lauffähigen System auf Basis von tinycore.
Aus den Brocken hier im Thread wird sicher kein Anfänger schlau.

Torsten

The Alchemist
15.01.2011, 10:43
Du meinst ganz von vorn, also mit Installation auf einen Stick?

Damit warten wir noch ein paar Tage, ich hab versucht Setserial in die Repos zu bringen.

Ich werd jetz mal ein Clonezilla Abbild von meinem Stick machen, und dann neu installieren.

Meine Installation ist nämlich mittlerweile auf > 100 MB angewachsen. (Sehr viel Schrott dabei)

Gruß
Elmar

Edith meint,es sei vielleicht sinnvoller sich mit dem Remastern zu beschäftigen.....

The Alchemist
15.01.2011, 16:20
Ich hab zig Sachen geloescht und nochmal die Sache mit der Cpu Taktung angegangen.

Ploetzlich funktioniert es so wie im Forum beschrieben.
http://tinycorelinux.com/forum/index.php?topic=2259.0

Zur bootlocal.sh 2 Zeilen hinzugefuegt und der Hubschrauber ist weg :D.

modprobe powernow-k8
cpufreq-set -g ondemand

Gruss
Elmar

Sleepwalker
15.01.2011, 21:29
Hi,

da ichs immer vergesse zu erwähnen: Wenn du die Kerneloptions ändern möchtest: Im Verzeichnis /boot/syslinux findet sich eine Datei xy.cfg. Die ist der menu.lst in Grub sehr ähnlich. Dort kannst du das Booten anpassen.

Zur Anleitung: Ja, ich meinte schon das Verteilen des USB-Sticks, und dann einer Beschreibung wo was wie passiert, damit man auch nachvollziehen kann was das Ding macht, und wie man es ggf. für sich modifiziert. Aber wahrscheinlich wird dieser Thread mangels interesse sterben, so wie der von fujak 2006.
2014 kommt dann einer und fragt wie das doch gleich ging :D

Ich such noch ne Quelle für ein Pixelbasiertes LCD, das aber nicht höher als 60mm sein darf, und das auch Farben kann...

Torsten

ferryman
16.01.2011, 07:57
Hoi zusammen,

ich muss halt eingestehen, dass mir die Beständigkeit fehlt, mich durch die Zahllosen Fallstricke und Stolpersteine durchzuquälen. Ich bezweifle, dass ich ohne Alc's Live-CD heute über Linux falten würde.

Das weitere Rumspielen ist dann was Anderes, ich habs ja schließlich nicht so gelassen :p
Ich hab jetzt nen Faltrechner, der sowohl über Aqualung als auch über SPDIF-IN 8 Kanäle falten kann, und mir dem ich 4 Filterbänke umschalten kann. Und jetzt bin ich wieder bei den Boxen :dont_know:

Das verschlankte Linux kommt für mich aber sicher noch auf den Schirm, da ich irgendwann auch die Blackbox zumindest als Option haben möchte.
Momentan ein Traum: Die Lautstärkeregelung im Alsamixer per Drehknopf. Oldschool mit Kabel dran, nix Fernbedienung.

Viele Grüße,
Julian

Sleepwalker
16.01.2011, 09:56
Hi,




Das verschlankte Linux kommt für mich aber sicher noch auf den Schirm, da ich irgendwann auch die Blackbox zumindest als Option haben möchte.
Momentan ein Traum: Die Lautstärkeregelung im Alsamixer per Drehknopf. Oldschool mit Kabel dran, nix Fernbedienung.

Viele Grüße,
Julian

das mit dem Drehknop MUSS ich auch haben. Ich möchte halt gerne das VV-Feeling haben, allerdings nicht mit Poti, sondern Drehencoder.
Wenn deine config noch mit alsa läuft, sollte sie unter tinycore sofort funktionieren. Natürlich ohne lcd und FB.

@Elmar: Ich habe gerade mal den vncserver installiert, damit ich von der extra Maus und Tastatur wegkomme. Funktioniert einwandfrei. Jetzt kann ich vom htpc weiterarbeiten.

Torsten

elheizo
16.01.2011, 10:43
Reift Ihr das hier mal schön aus, ich hatte schon Bekanntschaft mit Linux und muß sagen das ich mich echt schwer getan habe.
Nach einem halben Jahr bin ich Rückfällig geworden und wieder bei MS gelandet.

Als Hauptrechner ist Linux mir da noch immer zu aufwändig mit zu vielen Ecken und Kanten, viele wichtige Programme sind nur unter MS verfügbar.
Da sich auch Linux immer weiter entwickelt wird sicher nochmal ein Versuch von mir kommen, aber erst wenn Ihr das im Griff habt:p

Ich bin schon am ummodeln von nem kleinen PC, der aber noch zu groß ist.

Also schön dran bleiben :D

Gruß Udo

ferryman
16.01.2011, 10:54
Moin Torsten,

wie schwierig wird das denn sein, so ein Script (lauter/leiser) mit dem Drehencoder zu steuern?

Das sind bei mir zwei Welten - wer weiß, wie man sie verknüpft?

Fernbedienung ist für mich strenggenommen vollkomen irellevant - aber es wäre absolut vom Feinsten wenn ich ein paar Befehle auf mechanische Schalter legen könnte.

Viele Grüße,
Julian

Sleepwalker
16.01.2011, 11:49
Moin Torsten,

wie schwierig wird das denn sein, so ein Script (lauter/leiser) mit dem Drehencoder zu steuern?

Viele Grüße,
Julian

Nicht so schwierig. Wie immer ist die Frage wie man es machen möchte. Man kann ein simples C-Programm schreiben, das nach dem Aufruf die Pins am Port zurückgibt, oder eben Pins setzt.
Diese Pins kann man dann in einem Script weiterverarbeiten.
Das wäre der universellste Weg, weil die meisten wahrscheinlich noch ein script anpassen können, aber bei C das Handtuch werfen.

Das gibts allerdings schon:

http://sourceforge.net/projects/parashell/files/parashell/2.3/parashell_2.3-510.zip/download

Das ganze im Script in einer Do-While-Schleife aufrufen, die gewünschten Pins abfragen und dann entweder direkt die Befehle aufrufen, oder weitere Scripts aufrufen.
Das dürfte der einfachste Weg sein. Ich weiss nur nich wie sich das dann mit lcdproc verhält, denn das greift ja auch auf den pp zu. Für dich wäre das egal, weil wegen kein Display, für mich aber nicht;)
Bei ner Blackbox die dann auch mal den eq und configumschaltung usw. können soll, seh ich ein Display allerdings schon als sinnvoll an.

Ich guck mal ob ich das hinbekomme.

Torsten

The Alchemist
16.01.2011, 17:15
So mein erstes Remaster ist ca. 26 MB groß.
Funktionieren tut es noch nicht ganz "out of the box", ich muß da wohl noch ein paar "Setup-scripte" für unsere Windows Homis machen. :cool:
So tierisch groß ist das nur geworden, weil ich auf Geany als Editor nicht verzichten will.

Ab Mittwoch bin ich erstmal ne Woche weg; ob ichs bis dahin noch schaffe weiß ich noch nicht.

Ich bin aber jedenfalls dran ne Version zu stricken.

Die Startoptionen stehen bei mir unter /mnt/sdb1/boot/extlinux/extlinux.conf. (sdb1 ist der Stick)

Da hab ich "kmap=qwertz/de-latin1-nodeadkeys" eingetragen und hab jetzt die Tastatur mit Umlauten. :)

Gruß

Elmar

Sleepwalker
16.01.2011, 17:52
.
Die Startoptionen stehen bei mir unter /mnt/sdb1/boot/extlinux/extlinux.conf. (sdb1 ist der Stick)

Da hab ich "kmap=qwertz/de-latin1-nodeadkeys" eingetragen und hab jetzt die Tastatur mit Umlauten. :)

Gruß

Elmar

Um es noch universeller zu machen kannst du mit Labeln arbeiten, dann ist das Device egal.
Du nennst den Stick z.B. "Tiny".
Dann heisst es nicht mehr z.B.
tce=sdb1 home=sdb1 ....

sondern....

tce=LABEL=Tiny home=LABEL= Tiny.

Hat den Vorteil das es auch läuft wenn der Stick einen anderen Namen bekommt, weils z.B. noch ein Stick steckt, oder weil noch Festplatten dran hängen....
Sonst fangen die Leute wieder an zu suchen.
Torsten

Sleepwalker
16.01.2011, 23:49
Hallo Julian,

hier mal ein Script um die Eingänge des PP abzufragen:
Damit es funktioniert muss man sich das Programm "Pin" hier:

http://parashell.sourceforge.net/

besorgen. Es wird für die Eingänge nur das Programm "Pin" im Ordner "bin" benötigt. Das script muss wahrscheinlich auf Ubuntu mit "sudo" ausgeführt werden. Einfach testen.
Es ist so geschrieben das die Flanke abgefragt wird, d.h. 1 mal drücken und halten ergibt nur einmal einen Befehlsausführung. Kann man aber leicht ändern. Was besser ist hängt halt davon ab was am PP dran hängt.
Am PP kann man ohne weitere Beschaltung 5 Taster oder Schalter anschliessen. Geschaltet wird gegen "GND", d.h. du ziehst eine Leitung vom Pin 10,11,12,13 oder 15 zum Taster, und die Leitung die zurückkommt geht dann auf GND. Normalerweise sind die PP mit Pull-Up Widerständen versehen, so das man keine extra einbauen muss. Der einfache Kontakt sollte reichen.

Für einen Drehencoder muss es noch leicht angepasst werden, aber Filterwechsel ist damit möglich.
Ich hab versucht es ordentlich zu kommentieren. Frag wenn was unklar ist.

--------------------------------------------------------------
#!/bin/bash

#Zuordnung der Bits im Eingangsbyte
Pin10=$((1<<6))
Pin11=$((1<<7))
Pin12=$((1<<5))
Pin13=$((1<<4))
Pin15=$((1<<3))

Pin10aktiv="Taste 1"
Pin11aktiv="Taste 2"
Pin12aktiv="Taste 3"
Pin13aktiv="Taste 4"
Pin15aktiv="Taste 5"



#Hier beginnt die Schleife für die Abfrage
while (true)
do

#HIer den Pfad zum Programm "Pin" eintragen
#Die 0x379 ist der Standart LPT1 und sollte so stimmen.
Eingangsbyte=$(/opt/pin 0x379)
PinLaktiv=$[Eingangsbyte]

#Ergenis invertieren, da die Eingänge normalerweise als Low-aktiv beschaltet werden,
#d.h. der Schalter schaltet wenn er geschlossen ist denn Pin nach GND.
PinHaktiv=$((~$PinLaktiv))

#Pin 10 abfragen
if ((PinHaktiv & Pin10)); then
if !($MFlankePin10);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin10aktiv
MFlankePin10=true
fi
else
MFlankePin10=false
fi

#Pin 11 abfragen
if ((PinHaktiv & Pin11)); then
if !($MFlankePin11);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin11aktiv
MFlankePin11=true
fi
else
MFlankePin11=false
fi

#Pin 12 abfragen
if ((PinHaktiv & Pin12)); then
if !($MFlankePin12);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin12aktiv
MFlankePin12=true
fi
else
MFlankePin12=false
fi


#Pin 13 abfragen
if ((PinHaktiv & Pin13)); then
if !($MFlankePin13);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin13aktiv
MFlankePin13=true
fi
else
MFlankePin13=false
fi

#Pin 15 abfragen
if ((PinHaktiv & Pin15)); then
if !($MFlankePin15);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin15aktiv
MFlankePin15=true
fi
else
MFlankePin15=false
fi

done
--------------------------------------------------------------

Torsten

ferryman
17.01.2011, 08:32
Hallo Torsten,

:thumbup:

Vielen Dank dir. Sind die Befehle, die ich da einfügen kann, normale Konsolenkommandos, wie "brutefir" oÄ?

Der Drehencoder wird meine erste Baustelle; wenn ich Filter wechseln will hab ich momentan kein Problem damit mit der Tastatur zu arbeiten - oder mit einer Fernbedienung.

Der Drehencoder ist aber für Hifi-Feeling unabdingbar :rtfm:
Auch wenn ich am Rechner abhöre, immer klicken um mal ein bisschen lauter zu machen... nee... :o

Viele Grüße,
Julian

Sleepwalker
17.01.2011, 09:04
Hi,

ja, das sind normale Befehle. Mal als Beispiel:

[...]

#Pin 10 abfragen
if ((PinHaktiv & Pin10)); then
#Befehle die nach der ersten If-Abfrage stehen werden solange ausgeführt wie man die Taste drückt...

amixer -c0 sset Master,0 1dB+

if !($MFlankePin10);then

#Befehle die hier stehen werden einmalig beim drücken ausgeführt

amixer -c0 sset Master,0 on

#Echo mit "#" auskommentieren, damit keine Ausgabe auf den Bildschirm mehr erfolgt

#echo $Pin10aktiv

MFlankePin10=true

[...]

Das gilt für alle 5 Tasten in den entsprechenden Abschnitten.
Für einen Encoder muss man min. die Flange des einen Signals auswerten, und dann gucken ob das 2te Signal High oder Low ist, denn damit enscheidet man ob der Encoder links oder rechts rum gedreht wurde.

Kann ich noch reinmache, aber teste es erstmal..

Das ganze hat aber auch einen Harken: Da das ganze im polling-Mode läuft, d.h. die Schnittstelle wird immer und immer wieder abgefragt, kostet das Script, auch wenn es eigentlich nichts tun, einiges an Prozessorleistung. Das lässt sich nur umgehen wenn ich das Pin-Programm ändere.
In der Bash sind afaik nur sleep-Kommandos von min 1 Sek. möglich. Das reduziert die Prozessorlast, aber ist dann für Encoder unbrauchbar. Für reine Tasten würde es gehen.

Dazu fügst du nach dem

"do"

ein

"sleep 1"

ein

Teste einfach mal ob du mit der Prozessorlast leben kannst. Das mit dem Encoder mach ich im laufe des Tages rein. Vermutlich hast du eh noch keinen...

Torsten

ferryman
17.01.2011, 09:24
Hallo Torsten,

Ich hab tatsächlich noch keinen.

Die Prozessorlast ist natürlich tatsächlich ein Punkt. Mal schauen ob mein Atom das packt.

Ich bin erstmal ab morgen ein paar Tage auf Seminar.

Viele Grüße,
Julian

The Alchemist
17.01.2011, 13:56
Also an dieser Drehdings Sache hätte ich auch noch Interesse, gibts denn so was in fertig, ich mein die Hardware?

Gruß

Elmar

Sleepwalker
17.01.2011, 14:06
Hi,

günstig:

http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=B29;GROUPID=3714;ARTICLE=7 3923;START=0;SORT=artnr;OFFSET=16;SID=15jldI16wQAQ 8AAD61tqI126de6960200e483432b1332adac5f5f

besser:

http://www.reichelt.de/?ACTION=3;GROUP=B29;GROUPID=3714;ARTICLE=73911;
SID=15jldI16wQAQ8AAD61tqI126de6960200e483432b1332a dac5f5f

http://www.reichelt.de/?ACTION=3;GROUP=B29;GROUPID=3714;ARTICLE=73915;SID =15jldI16wQAQ8AAD61tqI126de6960200e483432b1332adac 5f5f

Mit Drehknopf aus Alu oder so gibts sicher auch, da kenn ich aber keine Bezugsquelle.
Man sollte auch schon einen mit Mitteltaste nehmen. Kann man für "Mute" oder halt für eine Menusteuerung nehmen.

Torsten

Dazu:

http://cgi.ebay.ch/Edler-Knopf-Drehknopf-Vollmetall-D-44-mm-55-g-/250713718419

oder

http://cgi.ebay.ch/Drehknopf-Metalldrehknopf-HIFI-Bausatz-Rohre-Hobby-10-x-/360228190904?pt=LH_DefaultDomain_77&hash=item53df45fab8

Jackman
17.01.2011, 14:45
Hallo Leute,
ich lese bisher zwar mit,aber beim Verständnis muss ich im Moment noch passen, dazu fehlt mir jegliche Erfahrung mit Linux.

Zu den Encodern hätte ich noch DIESEN (http://business.shop.ebay.de/Elektronik-Elektrotechnik-/65483/i.html?_catref=1&_fln=1&_ipg=25&_ssn=maritalogo&_trksid=p3911.c0.m282) Tipp. Der Laden ist wirklich zu empfehlen.

Weiterhin gutes Gelingen!

Sleepwalker
17.01.2011, 15:08
Hi,

ich habe das Programm "pin" mal so angepasst das man ein Delay in uS angeben kann. So sollte die Prozessorlast sinken. Man muss halt dann einen Kompromiss finden bei dem der Encoder auch schnelle Drehungen noch mitbekommt, das aber nicht zuviel Last verursacht.

Webspace hab ich aber nicht....

Torsten

Sleepwalker
17.01.2011, 19:29
Update...
Elmar: Wenn du das testest achte bitte darauf das du die Bash-Shell istalliert hast bei tinycore. Bei Ubuntu sollte die schon aktiv sein.

Die beiden Encoderpins müssen an Pin 11 u. 12 angeschlossen werden. Leider ist das Problem mit der Prozessorlast nicht weg. Wenn man die Delay-Zeit zu hoch setzt, bekommt das Script schnelle Drehungen nicht mehr mit. Bei mir steigt die Prozessorlast um ca. 20% an. Viel zu viel für eine Aufgabe die ein uC "mal eben" mitmacht.
Mir fällt aber nichts ein wie man das "mal eben" beheben kann. Ein reines C-Programm hätte da sicher keine Probleme mit, kann aber nicht von jedem "mal eben" angepasst werden.
Ich versuch mal die Pin_delay Datei anzuhängen...

#!/bin/bash

#Zuordnung der Bits im Eingangsbyte
Pin10=$((1<<6))
Pin11=$((1<<7))
Pin12=$((1<<5))
Pin13=$((1<<4))
Pin15=$((1<<3))

Pin10aktiv="Taste 1"
Pin11aktiv="Taste 2"
Pin12aktiv="Taste 3"
Pin13aktiv="Taste 4"
Pin15aktiv="Taste 5"

#Hier beginnt die Schleife für die Abfrage
while (true)
do


while ((PinLaktiv == PinLaktivalt))
do
#HIer den Pfad zum Programm "Pin" eintragen
#Die 0x379 ist der Standart LPT1 und sollte so stimmen. Die 1000 gibt die Verzögerung
#in mikrosekunden an. Höhere Werte sorgen für weniger Prozessorbelastung, aber dann funktioniert
#ein Encoder nicht mehr zuverlässig. Für Taten reicht aber ein Wert von 50000-100000 aus.
Eingangsbyte=$(/opt/pin_delayed 0x379 1000)
PinLaktiv=$[Eingangsbyte]
done
#Hier gehts erst weiter wenn sich bei den Eingängen was geändert hat.
PinLaktivalt=$PinLaktiv

#Ergenis invertieren, da die Eingänge normalerweise als Low-aktiv beschaltet werden,
#d.h. der Schalter schaltet wenn er geschlossen ist denn Pin nach GND.
PinHaktiv=$((~$PinLaktiv))

#Pin 10 abfragen
if ((PinHaktiv & Pin10)); then
#Hier den Befehl einsetzen der solange ausgeführt wird wie die Taste gedrückt wird.
if !($MFlankePin10);then
#Hier den Befehl einsetzen der einmal bei einer Flanke ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin10aktiv
MFlankePin10=true
fi
else
MFlankePin10=false
fi

#Pin 11 abfragen
if ((PinHaktiv & Pin11)); then
#Hier den Befehl einsetzen der solange ausgeführt wird wie die Taste gedrückt wird.
if !($MFlankePin11);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

#Einfache Encoderauswertung.
#Wenn eine steigende Flanke an Pin 11 erkannt wird, und Pin 12 ist auch "An" dann wurde in die eine Richtung
#gedreht
if ((PinHaktiv & Pin12)) ;then
amixer -c0 sset Master,0 1dB- >>/dev/null
#Wenn Pin 12 nicht "An" ist, dann wurde in die andere Richtung gedreht.
else
amixer -c0 sset Master,0 1dB+ >>/dev/null
fi
echo $Pin11aktiv
MFlankePin11=true
fi
else
MFlankePin11=false
fi

#Pin 12 abfragen
if ((PinHaktiv & Pin12)); then
#Hier den Befehl einsetzen der solange ausgeführt wird wie die Taste gedrückt wird.
if !($MFlankePin12);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin12aktiv
MFlankePin12=true
fi
else
MFlankePin12=false
fi


#Pin 13 abfragen
if ((PinHaktiv & Pin13)); then
#Hier den Befehl einsetzen der solange ausgeführt wird wie die Taste gedrückt wird.
if !($MFlankePin13);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin13aktiv
MFlankePin13=true
fi
else
MFlankePin13=false
fi

#Pin 15 abfragen
if ((PinHaktiv & Pin15)); then
#Hier den Befehl einsetzen der solange ausgeführt wird wie die Taste gedrückt wird.
if !($MFlankePin15);then
#Hier den Befehl einsetzen der ausgeführt werden soll
#Das "echo $PinXXaktiv kann zum Funktionstest benutzt werden.

echo $Pin15aktiv
MFlankePin15=true
fi
else
MFlankePin15=false
fi
done

Edit: Bei beiden Dateien kann das .txt am Ende umbenannt werden...

The Alchemist
17.01.2011, 20:39
Hallo Torsten,

wie schon so oft bist Du wieder etwas zu schnell für mich.:D

Die letzten 45 Jahre meines Lebens bin ich sehr gut ohne Drehimpulsencoder klar gekommen.

Wenn ich mir die Dinger angucke sehe ich da 5 Pins. Die 2 einzelnen sind vermutlich der Taster, der in dem Script nicht belegt ist.

Sind die beiden äußeren Pins der Dreiergruppe die, die an Pin 11 und 12 angeschlossen werden müssen und der Mittlere geht auf Masse?

Ist das so richtig?

Kann ich irgendwelche von den Dingern die Jackman empfohlen hat nehmen?

Weil ich würd ca. 4 Stück benötigen, wenn meine Jungs sehen, dass ich ein Lautstärkeregler am PC hab wollen die das auch, also meine beiden PCs und die von den Jungs.....dann Versandkosten bei Reichelt:rolleyes:

Gruß

Elmar

Sleepwalker
17.01.2011, 21:08
Hi,

ja, die beiden einzelnen ist der Taster. Die 3 anderen sind für die beiden um 90 Grad versetzten Impulse. Einer ist ein gemeinsamer Anschluss für die beiden Kontakte, der in unserem Fall auf Masse kommt.

Hier kann man gucken was die einzelnen Pins bedeuten:

http://kabelfaq.de/

Da sieht man, das Pin 18-25 alle Masse sind.
D.h. der gemeinsame Kontakt, und einer von dem Taster geht auf Pin 18-25, der andere vom Taster z.B. auf 10, die beiden anderen vom Encoder auf 11 und 12.
Wenn die Drehrichtung nicht stimmt kann man entweder 11 und 12 tauschen, oder das im Programm ändern. Welcher der gemeinsame ist, solltest du dem Datenblatt entnehmen, auch wenn es normalerweise der mittlere ist....

Bevor du dir einen Berg an Encodern bestellst solltest du erstmal die Prozessorlast prüfen, denn die ist eigentlich für so nen Popelanwendung VIEL zu hoch. Ich habe die Reserven zwar, finds aber trotzdem doof.

Das "Problem" besteht aber nur bei einem Encoder. Bei "normalen" Tasten kann man die delay-time auf z.B. 100 000 setzten, was 100ms entspricht und für Tasten eigentlich reicht.
Dann liegt die Belastung je nach Rechner bei 1-3% (z.B. bei meinem Atom330).

Das wird auf jeden Fall noch geändert, aber jetzt kümmer ich mich endlich mal um das eigentliche Filtern. Bisher wars ja nur Linux-geplänkel...

Torsten

The Alchemist
17.01.2011, 22:34
Also ich hab mir mal ein Säckchen voller Drehdingser bestellt. Braucht man ja immer mal ;)

Ich komm zwar zweimal in den nächsten 10 Tagen fast bei Reichelt vorbei, nur haben die dann blöderweise keine Geschäftszeiten. Wann ich das nächste mal in WHV bin weiß ich nicht und darum ist der Berg von den Dingern billiger als einer :rolleyes:

Wenn ich nächste Woche wieder Zuhause bin, sind die Dinger dann hoffentlich auch da.

Gruss
Elmar

Sleepwalker
21.01.2011, 08:56
Hi Elmar,

ich habe vorgestern mal den Tipp von Dir im aktiv-hören mit der Filterverkettung probiert. Funktioniert einwandfrei :)

Torsten

Sleepwalker
23.01.2011, 12:53
Mal wieder kleine Erfolge zu vermelden:

Umschalten per FB funktioniert, EQ funktioniert.
WENN man Brutefir mit "sudo" ausführt, läuft es (?) wohl direkt im RT-Modus. Es gibt dann auch keine Schwierigkeiten mit dem "Encoder-Script".

Da ich ja ohne Acourate "arbeite" sieht das bei mir nun so aus:

Filtererstellung über Maxo (linearphasig), 3Weger mit Doppel-WG (fehlt noch der TMT, kommt später).

Messen mit Arta um die Pegel anzugleichen (das funktioniert nur noch eingeschränkt, vermutlich weil Arta nicht solche Latenzen erwartet).

Dann Impulsmessung mit LSR2 von Acourate (Angst um Chassis...)

Über script DRC mit allen möglichen Configs auführen, damit man die Filter direkt gegenhören kann.

In der Brutefir-Config läuft es so das es einmal Coeffs für die Weiche gibt, für alle DRC-Configs und einmal einmal einen Dirac-Impuls. 17 Bisher...

Dann gehts vom Input je nach FB-Taste so:

1. DRCMinimal -> WeicheHT,WeicheMT,WeicheTT ->Ausgang
2. DRCsoft -> WeicheHT,WeicheMT,WeicheTT ->Ausgang
3. DRCnormal -> WeicheHT,WeicheMT,WeicheTT ->Ausgang
4. DRCstrong -> WeicheHT,WeicheMT,WeicheTT ->Ausgang
5. DRCerb -> WeicheHT,WeicheMT,WeicheTT ->Ausgang
0. DiracImpuls ->EQ >WeicheHT,WeicheMT,WeicheTT ->Ausgang

Einen Harken hat der EQ aber: Er verzögert das Signal nochmals, so das die Latenz in dieser Config auf ca. 1,5 Sekunden steigt.
Es ist auch so, das jede Stufe seinen eigene Latenz mitbringt. D.h. die Filterverkettung ist deutlich flexibler als die verschiedenen Impulse Offline vorzufalten, aber es dauert auch länger.
Man kann die Blöcke des EQs beschränken (der Parameter bestimmt die Länge in "Partitions"), aber wie sich das auf die Filter der EQs auswirkt weiss ich noch nicht. Nach meinem Verständnis dürfte er bei niedrigen Frequenzen dann gar nicht mehr richtig arbeiten...aber so ganz bin ich durch die Problematik noch nicht durchgestiegen.

Falls jemand ne Quelle kennt wo das mal für Kleinkinder erklärt wird (Dat isse ne Ball), wäre ich für nen Link dankbar. Aus der reinen Mathematik dahinter peil ich das nicht :o

Was mir noch nicht gelungen ist: Das "fliessende" Umschalten der Filter. Wenn ich den Paramter auf true mache, bricht brutefir mit nem Fehler ab. Es erfolgt beim Umschalten aber kein Knacks oder sonstige Störgeräusche, aber es wird auch nicht sanft übergeblendet. Im Moment eigentlich auch besser, denn die Unterschiede sind sehr gering. Erst wenn man von z.B. "Soft" auf "Strong" (siehe DRC) umschaltet, merkt man es deutlich.

Torsten

Sleepwalker
25.03.2011, 12:29
Hi,

ich hab noch etwas weiter gespielt, vor allem mit der EQ-Funktion von Brutefir und dabei noch einige interessante Dinge entdeckt.
Man kann beliebig viele "EQ-Dateien" (einfacher Text/Amplitude,Phase)) erstellen, und diese dann entweder mit einem dirac-Impuls falten, oder mit schon vorhandenen Filtern. Genau genommen braucht man eigentlich gar keine "extra-Filter" wie sie z.B. Maxo o.Ä. erstellt. Beim Messen mit Arta hab ich festgestellt, das die Filter die Maxo erstellt zwar sehr steil sind, aber nur begrenzt sperren, d.h. sie dämpfen um z.B. 40 db, und danach nicht mehr. Anders sieht das aus, wenn man nur mit der EQ-Funktion arbeitet. Da sind nicht nur beliebig steile Filter möglich, sondern auch eine beliebig hohe Dämpfung und Phase.

Z.Z. ist es bei mir so gelöst, das ich die Filter hintereinander habe, also so:

Eingang -> EQ "Über alles" ->DRC -> Weiche Kanal -> EQ Kanal -> Ausgang

Das hat den Vorteil, das man die einzelen Koeffizienten "online" per FB durch einen Dirac-Impuls ersetzten kann, was zwar immer noch die Latenz eines Filters zur Folge hat, aber sonst das Signal 1:1 weitergibt. Dadurch ist es möglich zwischen verschiedenen DRC-Stufen umzuschalten, und auch die EQs Ein-/Auszuschalten.
Dadurch liegt die Latenz aber mitlerweile bei fast 3 Sek.

Man kann die EQs aber auch beim starten von Brutefir direkt mit z.B. dem Weichefilter oder DRC falten. Dann gibt man bei der EQ-Funktion keinen Dirac an, sondern einen schon existierenden Koeffizienten.

Auf Wunsch kann ich gerne mal auszüge aus meiner mitlerweile doch recht grossen config posten, damit man sieht was ich meine...

Lange Rede, kurzer Sinn: Man braucht keine Programme bei denen man nicht weiss was da eigentlich im Hintergund mit dem Signal gemacht wird. Brutefir allein reicht aus um Weichen und beliebige Übertragungsfunktionen zu generieren....

The Alchemist
25.03.2011, 14:26
Hallo Torsten,

mit dem EQ von Brutefir hab ich noch nie irgendwas gemacht.

Daher hab ich großes Interresse an den Auszügen der Config.

(Besonders interressiert mich die "Weiche")

Gruß

Elmar

Sleepwalker
25.03.2011, 16:56
Hi,

der EQ-Teil sieht so aus:


## DEFAULT GENERAL SETTINGS ##

float_bits: 32; # internal floating point precision
sampling_rate: 44100; # sampling rate in Hz of audio interfaces
filter_length: 2048,32; # length of filters
#config_file: "~/.brutefir_config"; # standard location of main config file
overflow_warnings: true; # echo warnings to stderr if overflow occurs
show_progress: true; # echo filtering progress to stderr
max_dither_table_size: 0; # maximum size in bytes of precalculated dither
allow_poll_mode: false; # allow use of input poll mode
modules_path: "."; # extra path where to find BruteFIR modules
monitor_rate: true; # monitor sample rate
powersave: false; # pause filtering when input is zero
lock_memory: true; # try to lock memory if realtime prio is set
convolver_config: "~/.brutefir_convolver"; # location of convolver config file

## LOGIC ##

logic: "eq" {
debug_dump_filter: "/tmp/rendered-%d";

{
coeff: "c_EQ_Eingang_LR";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 20.0;
magnitude:
20.0/0;
#phase: 6300.0/0,20000/180;
};
{
coeff: "c_EQ_TTleft";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 30,40,55,180,280,350,700,950,1000,1160;
magnitude:
30/-20,
40/0,
55/-2,
180/-2,
280/-5,
350/-2,
700/-2,
950/-10,
1000/-17,
1160/-42;
#phase: 700/0,950/360,1160/360;
};
{
coeff: "c_EQ_MTleft";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 600,800,1000,1800,2250,2600,3000,4000;
bands: 600,800,1000,1800,2250,2600,3000,4000;
magnitude:
600/-2,
800/-2,
1000/0,
1800/-1,
2250/-2.5,
2600/-2,
3000/-4,
4000/-4;
#phase: 800/0;
};
{
coeff: "c_EQ_HTleft";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 500,2000,3000,3500,5000,6000,10000,20000,22000;
magnitude:
500/-96,
2000/-24,
3500/-2,
5000/-2.5,
6000/-2.5,
10000/0,
20000/-6;
#phase: 500/0,3000/0;
};
{
coeff: "c_EQ_TTright";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 30,40,55,180,280,350,700,950,1000,1160;
magnitude:
30/-20,
40/0,
55/-2,
180/-2,
280/-5,
350/-2,
700/-2,
950/-10,
1000/-17,
1160/-42;
#phase: 700/0,950/360,1160/360;
};
{
coeff: "c_EQ_MTright";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 600,800,1000,1800,2250,2600,3000,4000;
magnitude:
600/-2,
800/-2,
1000/0,
1800/-1,
2250/-2.5,
2600/-2,
3000/-4,
4000/-4;
#phase: 800/-0,1000/0,2600/0,3000/360,4000/360;
};
{
coeff: "c_EQ_HTright";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 500,2000,3000,3500,5000,6000,10000,20000;
magnitude:
500/-96,
2000/-24,
3500/-2,
5000/-2.5,
6000/-2.5,
10000/0,
20000/-6;
#phase: 500/0,3000/0;
};


};
Die einzelnen EQs werden auf den Coeff "umgelegt", der jeweils angegeben ist. Als Beispiel:



{
coeff: "c_EQ_TTleft";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 30,40,55,180,280,350,700,950,1000,1160;
magnitude:
30/-20,
40/0,
55/-2,
180/-2,
280/-5,
350/-2,
700/-2,
950/-10,
1000/-17,
1160/-42;
#phase: 700/0,950/360,1160/360;
};
Das ist der EQ für den Tieftöner links.
Die beiden "Bands" (iso octave...)sind durch die "#" davor auskommentiert, d.h. nicht wirksam. Wirksam sind die Frequenzen die hinter dem 3. "Bands" stehen.
Brutefir hat sowohl die "Bänder" für "iso octave" als auch "1/3 iso oktave" schon als Vorgabe drin.
Vorteil: Man muss nicht alle Frequenzen bei "Bands" per Hand eingeben.
Nachteil: Man kann dann auch nur diese Frequenzen nutzen.
Stehen bei "Magnitude" später Frequenzen drin die bei "Bands" nicht aufgeführt wird, bricht Brutefir mit nem Fehler ab.

Bei der freien Eingabe, wie ich sie mache, muss man die Frequenzen zwar einzeln aufschreiben, ist dafür aber auch völlig frei in der Auswahl.
Wer mit den 31 Bändern der "1/3 octave" auskommt, kann sich einen Teil der Schreiberei sparen.

" coeff: "c_EQ_TTleft";"

gibt einen coeff an, der mit dem EQ gefaltet wird. Bei mir ist das ein Dirac Impuls. Das Ergebnis ist dann wieder
"c_EQ_TTleft"

Den Dirac Impuls muss man nicht suchen oder erzeugen. Der wird mit Brutefir schon "mitgeliefert":



coeff "c_EQ_TTleft" {
filename: "dirac pulse";

format: "FLOAT_LE";
attenuation: 0.0; # attenuation in dB
blocks: -1; # how long in blocks
skip: 0; # how many bytes to skip
shared_mem: true; # allocate in shared memory

};
D.h. die Angabe der Datei "dirac pulse" reicht.

Wenn man nun den EQ nutzen möchte, macht man das wie bei jedem anderen Filter, nutzt aber als coeff "c_EQ_TTleft"

Der EQ selbst ist einfach einzustellen. Man gibt hinter "Magnitude" einfach die Frequenz und die Amplitude so an:

30/-20,
40/0,

D.h. bei 30 Hz -20dB, bei 40 Hz 0 dB.
Gleiches gilt für die Phase, die man aber nicht angeben muss.

Wichtig dabei: Nach jedem Wert muss ein "," stehen, beim letzen Wert ein ";"

Magnitude: 30/-20,40/0,100/-5.3;

kann man auch schreiben.

Eine Weiche könnte ganz einfach so aussehen:

Magnitude: 20/0,1000/0,1200/-3,1800/-12,4000/-80;

Wenn man genau Filterflanken haben möchte, muss man ein wenig rechnen, oder aber, da die Chassis selten absolut linear sind: Beim Messen einfach in Arta einen akustischen Zielfunktion vorgeben, und durch messen und anpassen des Filters das gewünschte Ergebnis erzeugen.

Theoretisch lässt sich jeder EQ auch über das CLI "online" ändern, aber da beim Neustart von Brutefir die Änderungen weg sind, macht das bei der Chassisentzerrung IMO wenig Sinn. D.h. mann muss nach jeder Filteränderung Brutefir neu starten.

Die dabei erzeugten Dateien werden in meinem Fall in

debug_dump_filter: "/tmp/rendered-%d";

abgelegt: D.h. im Verzeichnis /tmp stehen nachher Dateien die

rendered1
rendered2

usw. heissen. Die Nummern geben die Coeffs an. Laut Doku kann man diese Dateien dann benutzen um die Koeffizienten zu analysieren.

Edit:

So sieht die Weiche elektrisch aus:

http://img151.imageshack.us/img151/8540/weiche.png (http://img151.imageshack.us/i/weiche.png/)

Für die Falter die sich nun "wundern" wo "meine" CLI "eingeschaltet wird:

Das passiert in der "Brutefir_defaults"...

## LOGIC ##

logic: "cli" { port: 3000; };

beide in der "config" ging nicht, k.A. wieso...

Sleepwalker
25.03.2011, 17:31
...und wie schaltet man jetzt die coffs per FB um?

So:



remote = AS-218
button = 1
prog = irexec
repeat = 0
config = echo 'cfc "f_DRC_Links" "c_DRC_minimal_L" ; cfc "f_DRC_Rechts" "c_DRC_minimal_R" ;quit; ' | telnet localhost 3000
end
begin

Wer es per Kommandozeile(script), also ohne FB machen möchte oder muss:

'cfc "f_DRC_Links" "c_DRC_minimal_L" ; cfc "f_DRC_Rechts" "c_DRC_minimal_R" ;quit; ' | telnet localhost 3000


Das ist den "entscheidende Befehl. Zu lesen ist das so:

Aktiviere den "coeff" "c_DRC_minimal_L" im Filter "f_DRC_Links"

das gleiche dann für rechts....

"quit" schliesst die Telnetverbindung
das |telnet localhost 3000 öffnet die Verbindung.

EQ aus geht so:



begin
remote = AS-218
button = 0
prog = irexec
repeat = 0
config = echo 'cfc "f_EQ_Eingang_Links" "c_dirac_pulse" ; cfc "f_EQ_Eingang_Rechts" "c_dirac_pulse" ;quit; ' | telnet localhost 3000
end

Dabei werden die coeffs mit dem EQ im Filter "f_EQ_Eingang_Links" gegen die coeffs eines Dirac Impulses getauscht.

Wieder einschalten:

begin
remote = AS-218
button = LOOP
prog = irexec
repeat = 0
config = echo 'cfc "f_EQ_Eingang_Links" "c_EQ_Eingang_LR" ; cfc "f_EQ_Eingang_Rechts" "c_EQ_Eingang_LR" ;quit; ' | telnet localhost 3000
end

"Filter" beginnen bei mir immer mit "f_", coeffs mit "c_"...

Sleepwalker
27.03.2011, 12:00
Sowas:

{
coeff: "c_EQ_Test";
#bands: "ISO octave";
#bands: "ISO 1/3 octave";
bands: 1200,1750,3000,3500,5000,6000,10000,12000;
magnitude:
1200/-96,
1750/-24,
3500/0,
5000/0,
6000/0,
10000/-24,
12000/-96;
#phase: 2000/0,3500/360;
};

};


Ergibt NUR mit dem EQ sowas:

http://img51.imageshack.us/img51/1194/weicheeq.png (http://img51.imageshack.us/i/weicheeq.png/)

Wie man sieht, genügt wirklich Brutefir allein, um eine DCX nachzubilden. Dazu kommt, das man nicht mal mehr über eine Lautstärkereglung nachdenken muss, denn die kann man wunderbar über den Alsamixer machen.
Wen das immer noch nicht überzeugt, dem kann ich auch nicht helfen :D

The Alchemist
27.03.2011, 14:14
Respekt was Du da alles rausholst.

Wenn das Posting 4 Stunden früher gekommen wäre hättte ich das für "BillichWillich-Koax-Klein-Geschlossen" ausprobiert, statt über 2 Stunden mein Octav wieder hinzubiegen, was irgendwie beim letzten Synaptic update zerschossen wurde.

Gruß

Elmar

BDE
27.03.2011, 16:57
Hmm,
was man heute nicht alles mit einem PC machen kann..


Verstehe ich das richtig, dass man so eine komplette Stand-Alone Lösung basteln kann? Also eine echte Alternative zu eine Alto Maxidrive o.ä.? Oder ist es eher wie mit den HTPC`s, 5mal starten die wie man es will und dann funktioniert irgendetwas wieder nicht… :confused:


Man bootet das alles von einem USB-Stick ohne Festplatte? Habt ihr euch durchgerungen eine ausführliche Anleitung für Linux Noobs zu schreiben? Am besten bei der Hardware angefangen.. Eine grafische Benutzeroberfläche um die Filter/ EQ einzustellen gibt es aber nicht?


Externe Signale (LP, TV usw..) routet ihr auch per Line-In über den PC/Weiche zu den Endstufen?


@Sleepwalker: Gibt es auch Nähere Infos zu deinen Doppel WG? So etwas suche ich auch noch… :D

Gruß
Mark

Sleepwalker
27.03.2011, 17:50
Hmm,
was man heute nicht alles mit einem PC machen kann..


Verstehe ich das richtig, dass man so eine komplette Stand-Alone Lösung basteln kann? Also eine echte Alternative zu eine Alto Maxidrive o.ä.? Oder ist es eher wie mit den HTPC`s, 5mal starten die wie man es will und dann funktioniert irgendetwas wieder nicht… :confused:



Ja, man kann das durchaus als Alternative sehen. Allerdings nicht mit dem Bedienkomfort den eine Maxidrive oder eine dcx bietet. Der Komfot wird im Grunde aber nur einmal benötigt. Normalerweise bastelt man ja nicht ständig an der Weiche rum, sondern stellt das ganze ein, fummelt hier und da noch ein wenig, und hört dann Musik.
Ich finde den Komfort der o.G. Lösung ausreichend.




Man bootet das alles von einem USB-Stick ohne Festplatte? Habt ihr euch durchgerungen eine ausführliche Anleitung für Linux Noobs zu schreiben? Am besten bei der Hardware angefangen.. Eine grafische Benutzeroberfläche um die Filter/ EQ einzustellen gibt es aber nicht?


Das mit der Anleitung hatte ich ursprünglich mal vor, aber dafür ist das Interesse zu gering. Die graphische Benutzeroberfläche zu programmieren hatte ich auch mal überlegt, aber auch hier: Für 3 Leute lohnt das nicht, und ich brauche die mitlerweile auch nicht mehr. Mein DSP-Rechner hat aber auch gar keinen festen Monitor, sondern nur ein 4 Zeilen LCD (das aber auch noch nichts anzeigt ausser einem "Startbildschirm"). Was ich steuern möchte mache ich per Ferbedienung und nem Drehencoder, wobei ich den Drehencoder tatsächlich fast nicht benutze. Die FB reicht vollkommen.

Ein bischen DIY sollte es in einem DIY-Forum auch schon sein dürfen ;)



Externe Signale (LP, TV usw..) routet ihr auch per Line-In über den PC/Weiche zu den Endstufen?


Hier werden von den Leuten unterschiedliche Wege "gefahren". Einige nutzen gleich Windows zum abspielen und filtern auch mit Windows. War mir "zu gefährlich" und zu fummelig. Wenn man NUR CD hört o.Ä. geht das ja noch, aber mit jedem neuen Player muss man wieder gucken ob das routen passt.

Andere nutzen Linux und Brutefir, spielen aber vom "Weichenrechner" gleichzeitig ab. Kann man machen.

Mein Ziel war es aber von vornherein einen "Stand Alone Vorverstärker" zu bauen. D.h. der Rechner funktioniert allein als DSP. Die Signale bekommt er vom HTPC über Spdif. Wenn man möchte kann man alle Eingänge der Soundkarte nutzen, und z.B. per FB umschalten. Welche Eingänge das sind, hängt von der verwendeten Soundkarte ab. Normalerweise hat man mind. einen Line-In, und intern einen Anschluss für ein CD-Laufwerk, also 2x Analog in, 1x Digital in...
Das ganze funktioniert im Übrigen auch mit dem "Onboard-Sound", wenn Linux die SK unterstützt, was aber bei den meisten moderneren Boards gegeben ist.
Das ist dann zwar kein "High-End", aber viele Onboard-SKs sind besser als man denkt.



@Sleepwalker: Gibt es auch Nähere Infos zu deinen Doppel WG? So etwas suche ich auch noch… :D

Gruß
Mark

Ne, nix näheres. Sind selbst gefräst, Pi x Auge und funktionieren zwar, sind aber nicht perfekt. Also eher nicht zum Nachbau geeignet.

BDE
28.03.2011, 14:19
..Das mit der Anleitung hatte ich ursprünglich mal vor, aber dafür ist das Interesse zu gering. Die graphische Benutzeroberfläche zu programmieren hatte ich auch mal überlegt, aber auch hier: Für 3 Leute lohnt das nicht..

Da muss ich dir leider recht geben, für 3 Leute lohnt der Aufwand wohl nicht..
Weiterhin viel Erfolg..
Gruß
Mark

KAL
29.04.2011, 22:13
Ich melde mich mal, dann wären es schon vier :-))

Im Ernst, ich hab gerade meinen FaltungsPC gebaut, ne M-Audio Delta 2496 eingesteckt und das SPB Linux von Uli geladen.

Da die Config ja speziell von Uli auf diese Karte abgestimmt worden ist, läuft es mit digital in.

Ich würd ja gern analog in einschalten, habe aber nur Bruchstücke bisher gelesen. Ist wohl ein amixer Kommando.
Hier sieht man meinen Wissensstand was Linux angeht.

Das Tiny Core so aufsetzen, dass es meinen Bedürfnissen entspricht fänd ich spannend, übersteigt aber sicher meine Fähigkeiten - noch.
Wobei ich auf jeden Fall diese To Do Liste am Ende abgehakt haben will :

mit Fernbedienung
- Umschalten der Filterbänke
- Lautstärke
- Lautstärkeanzeige

evtl. später mit anderer Soundkarte auch mehrere Eingänge
umschalten und ... die Kür ... 5.1 Kinosound falten.

Träum... back to square one. please help

Tiny Linux auf den Stick, ok. Schwierig wird es bei der Aussage, dass ich BruteFIR von ner Ubuntu Distri bekomme. Wieso kann ich nicht das BruteFIR von dem SPB Linux nehmen ?

Soundtreiber. Muss ich den auch einbinden oder reicht der Aufruf snd=snd-ice1712

Wie gehts dann weiter ?

Danke

schrottie
29.04.2011, 22:56
Beim Messen mit Arta hab ich festgestellt, das die Filter die Maxo erstellt zwar sehr steil sind, aber nur begrenzt sperren, d.h. sie dämpfen um z.B. 40 db, und danach nicht mehr.
http://www.diy-hifi-forum.eu/forum/picture.php?albumid=42&pictureid=4388
Der VST-Analyser von Chr. Budde behauptet was anderes.:p

Sleepwalker
30.04.2011, 08:01
Hi,


Soundtreiber. Muss ich den auch einbinden oder reicht der Aufruf snd=snd-ice1712

Wie gehts dann weiter ?

Danke

bei Tinycore kümmert sich Tinycore um die Erkennung der Soundkarte. Da muss man nichts per Kommandozeile einstellen. Wenn man den Weg wie Elmar (Alchemist) geht, braucht man auch keine Alsamixer-Kommandos kennen. Man stellt es mit der Linux-Alsa-GUI "Alsamixer" einmal ein, und fertig. Beim Runterfahren speichert Tinycore das eingestellte, und läd es wieder beim Starten.

Änderungen sind gegenüber SPB-Linux auch einfach, weil man einen Minimal-Desktop (ähnlich Windows) hat, und mit einem "normalen" Editor (geany) arbeitet. Meine Config ist etwas "spezieller", deshalb würde ich dir empfehlen mal "Alchemist" anzuschreiben, ob er dir von seinem Stick ein Image geben kann.

Anpassen musst du dann noch die Brutefir-Config (klar), und angeben welche FB du benutzt. Wenn die von LIRC unterstützt wird, und an der seriellen Schnittstelle angeschlossen wird, ist der Rest vergleichsweise einfach.
Bei mir läuft zusätzlich noch Samba (sowas wie die Dateifreigabe bei Windows, damit andere Rechner auf die Verzeichnisste des Brutefir-PCs zugreiffen können;Filter kopieren etc.), und vncserver. Mit vncserver kann man den Brutefir-PC auch ohne Bildschirm, Tastatur und Maus bedienen, indem man sich von einem anderen PC aus damit verbindet.

Ich überlege auch schon, ob ich nicht auch Musik vom diesem Rechner abspiele, und wie man das ganze über einen Browser steuern kann. Da die meisten Handys heute Internetfähig sind und einen Browser haben, könnte man dann die Steuerung per Handy oder HTPC machen. Sollte dann auf jedem Handy mit Browser laufen, und nicht nur auf speziellen wie iPhone o.Ä.

Schreib erstmal Alchemist an...

Uli.Brüggemann
30.04.2011, 08:12
Ich würd ja gern analog in einschalten, habe aber nur Bruchstücke bisher gelesen. Ist wohl ein amixer Kommando.
Hier sieht man meinen Wissensstand was Linux angeht.


Schau mal die Antwort im AH-Forum. Ich will das nun hier nicht auch noch extra posten

KAL
30.04.2011, 08:39
Hallo Uli, du bist ja überall :-)

Die Fragen hier beziehen sich aber auf Tiny Linux.
Ich fahre quasi zweigleisig, möchte schon das SPB soweit verstehen, dass ich es als Fallback nutzen kann, bin mir aber
bewusst, dass ich meine Wünsche eher mit Tiny verwirkliche, da
hier das Rad ja schon erfunden wurde.

Deine Antwort im AH hat mir schon geholfen.
Es muss erstmal Klack machen beim verstehen der Abläufe.

Sleepwalker
30.04.2011, 08:44
Hier kannste mal gucken wie das dann aussieht:

http://distro.ibiblio.org/tinycorelinux/screenshots.html

Da sind auch ein paar Video-Anleitungen bei, aber imo sind die für den Anfänger wertlos, da zu kurz.

Hier kann man sehen, welche Programme man per "Klick" bei bestehender Internetverbindung installieren kann.
Dabei ist nun auch die "Setserial", die es vor ein paar Monaten noch nicht gab, und die man für LIRC braucht.
Das meiste sagt einem als "nichtlinuxer" natülich nicht viel...Wenn da jetzt noch Brutefir bei wäre, könnte man das ganze System fast nur mit "Klicken" ausetzten.

http://distro.ibiblio.org/tinycorelinux/3.x/tcz/index.html

The Alchemist
26.11.2011, 16:46
So aus aktuellem Anlass hol ich das mal wieder hoch.

Ich konnte mich nunmehr überwinden eine neue Installation zu beginnen, nachdem ich im Frühjahr meinen USB STick zerschossen hatte und dann irgendwie nichts mehr klappte.

Ich habe mich durch den "neuen" meiner Meinung nach fehlerhaften Installer gekämpft und das SYstem neu aufgesetzt.

Auf dieser Neuinstallation soll nun auch RealVNC als Fernsteuerung laufen.

Soweit tut es das auch, der Server startet automatisch und ich kann mit einem Client zugreifen.

Ich kann aber die auf dem entfernten Desktop geöffneten Fenster nicht sehen, kann aber Programme öffnen und schließen und so weiter. Es wird auf dem Server auch keine "neue Sitzung" gestartet, soweit ich das beurteilen kann.

Programme die geöffnet sind, kann ich wie z.B Firefox kein weiteres mal öffnen.

Ist das normal bei VNC oder muss ich in der xstartup Datei noch irgendwelche Änderungen vornehmen?

Mit Samba hänge ich auch ein wenig, wie muss den die samba.conf aussehen, damit man als Nutzer auf "Home/tc" zugreifen kann?

Gruß

Elmar

Sleepwalker
26.11.2011, 16:55
Ist das normal bei VNC oder muss ich in der xstartup Datei noch irgendwelche Änderungen vornehmen?

Mit Samba hänge ich auch ein wenig, wie muss den die samba.conf aussehen, damit man als Nutzer auf "Home/tc" zugreifen kann?

Gruß

Elmar

Nein, das ist bei VNC nicht normal. VNC funktionierte bei mir wie gewollt mit den Standardeinstellungen.

Zu samba:

http://www.linux-praxis.de/linux3/samba1.html

Edit: Wichtig sind nur die ersten 3 Seiten...

The Alchemist
26.11.2011, 17:15
Mit den Standardeinstellungen lief auf dem Client gar nichts.

Ich musste die xstartup Datei ändern und als Windows Manager flwm_topside angeben, danach konte ich auf dem Server arbeiten.

Du kannst aktiv den Desktop sehen?

Hast Du uch den RealVNC aus den Quellen installert oder was anderes?

Sleepwalker
26.11.2011, 18:05
Installiert hab ich den "x0vncserver" aus dem Tinycore repository.

Unter Windows den VNC Viewer 4.0.

The Alchemist
26.11.2011, 22:15
x0vncserver befindet sich leider nicht mehr in den Repos :o oder ich hab Bohnen auf den Augen.

Leider startet Realvnc nicht jedes mal automatisch mit, wenn es aber läuft kann man sehr brauchbar damit arbeiten, nur auf dem Server sieht man nix....

Samba hab ich am laufen und kann Dateien austauschen.

Gruß

Elmar

Sleepwalker
26.11.2011, 22:59
x0vncserver befindet sich leider nicht mehr in den Repos :o oder ich hab Bohnen auf den Augen.


Doch, das gibts noch:

http://distro.ibiblio.org/tinycorelinux/4.x/x86/tcz/x0vncserver.tcz

x"null", nicht x"ohhh" :)
Info-Datei lesen...

The Alchemist
27.11.2011, 10:30
Tatsächlich heute isses da :D, startest Du das auch über ein Script im .XD Ordner?

Bevor ich das probiere mache ich erstmal nen Backup, weil soweit war ich noch nie...:D

Gruß

Elmar

Sleepwalker
27.11.2011, 11:12
Samba und vncserver werden bei mir in einer Scriptdatei aufgerufen, die in ".X.d" steht.

sudo /usr/local/etc/init.d/samba start

und

sudo x0vncserver PasswordFile=/home/tc/.vnc/passwd&

Immer darauf achten ob das "&" am Ende der Zeile gebraucht wird, sonst startet die Zeile nur das Programm/Skript, und bleibt dann solange in der Zeile hängen, bis das dort aufgerufen beendet ist. D.h. alles was danach steht/passiert, wird nicht ausgeführt solange x0vncserver noch läuft. Beim Sambastart ist das egal, bei x0vncserver sollte das "&" dahinter.

In dem gleichen Script steht auch der Aufruf von Brutefir in einer Schleife:

while true
do
wait 1000 // ist nur ne Verzögerung
aterm -e sudo brutefir
done

D.h. brutefir startet immer wieder neu, wenn es durch einen Fehler oder per STRG-C abgebrochen wird.
Mit einem weiteren aufruf in der Schleife, also

while true
do
wait 1000 // ist nur ne Verzögerung
aterm -e sudo brutefir <name der configdatei für 44 khz>
aterm -e sudo brutefir <name der configdatei für 48 khz>
aterm -e sudo brutefir <name der configdatei für 96 khz>
done

...kann man Brutefir dazu bringen immer wieder mit verschiedenen configs für verschiedene sampleraten zu starten, bis die richtige gefunden ist.

In der gleichen Datei stelle ich auch über das "amixer" Kommando die Soundkarte ein, aber das machst du ja per alsamixer und alsactlstore...

The Alchemist
15.01.2012, 16:46
Hier gibt es eine neue Version der "DSP" Ausgabe von TinyCore.

http://www.dateiupload.net/download.php?file=f41237c191b3191cd86f11fa6b57c9e2

(Edit: Die Dateiendung muss von "zip" auf "iso" geändert werden! Im DAO Modus, (DiskAtOnce) brennen)


Den Link aus dem anderen Thread habe ich gelöscht, da das Remaster doch zuviele Fehler bzw. Unzulänglichkeiten hatte.

Was hat sich geändert:

Anderer VNCserver, man hat nun automatisch das richtige "Display" nämlich 0 ( die eigene IP Adresse bekommt man, wenn man in ein Terminal "ifconfig" eingibt, Passwort=falter)

Grundkonfigurationen von Brutefir für verschiedene Soundkarten eingefügt, als da wären:
(alle analog in)

Asus D2 (Stereo und 2x3Wege inkl. asoundstate),
Terratec Sky (Stereo und 2x3Wege inkl. asoundstate),
M-Audio 24/96 (Stereo inkl. asoundstate),
Behringer UCA USB (Stereo inkl. asoundstate),
M-Audio Delta 1010LT (2x2 Wege inkl. asoundstate)

"asoundstate" ist die Datei, in der die Einstellungen des Alsamixers für die Soundkarten gespeichert wird. Mit XFE, dem Dateimanager, den man als Sudo ausführt muss diese Datei in den Ordner /etc kopiert werden. (Rechtsklick auf den Desktop Applications > XFE > xfe_as_super_user, nach dem Kopieren muss noch der "sudo alsactl restore" ohne "" in ein Terminal eingeben werden, was man mit einem beherzten Klick auf das 2. Symbol von links in der "WBAR" startet.)

Die Datei .brutefir_config muss in den Ordner /home/tc kopiert werden.

Hört man nichts obwohl man vermeintlich keinen Fehler begangen hat, wird es Zeit sich mit dem Alsamixer auseinanderzusetzen; eine guten Einstieg zu Bedienung gibt es hier http://wiki.ubuntuusers.de/alsamixer , da is nämlich nix mit Maus :)

Gestartet wird der Alsamixer über ein Terminal (davon kann man mehrere öffnen), in das man "alsamixer" (Achtung Groß und Kleinschreibung bei Linux beachten!) eingibt(wie immer ohne "")

Grundsätzlich ist auch die Bedienung mit einer IR Fernbedienung vorgesehen... (Laut Leise, Filterwechsel, Aus)

Live startet das System im Stereo Modus, was die meisten Soundkarten wohl schaffen sollten, kontrollieren kann man das in dem man HTOP startet, ein Programm, was die laufenden Prozesse sowie Systemauslastung anzeigt.

Die Live CD startet nur sehr zögerlich, ob das an meinem alterschwachen Brenner liegt oder ein grundsätzliches Problem (was ich leider nicht lösen kann)ist vermag ich nicht zu beurteilen.

Ursprünglich wollte ich mal eine Anleitung dazu schreiben, ich denke aber das Interesse ist so gering, dass man Fragen auch hier im Thread stellen kann.:D


Gruß

Elmar

The Alchemist
11.03.2012, 12:20
So um das mal hier abzuschließen.

Die Vorversion (4.1) hatte ein paar Fehler, mittlerweile gibt es TinyCore 4.3, damit habe ich das System neu aufgebaut und es läuft wieder alles so wie es soll; Bootzeit nach Bios 15-20s je nachdem wie schnell USB 2.0 erkannt wird (abhängig vom Mainboard).

Es wurde ein Update von Alsa durchgeführt, daher werden jetzt die Dateien asoundstate in /usr/local/etc gespeichert. Auch hat sich die Struktur der Mixer etwas geändert, ich habe die asoundstate Dateien nicht wieder getestet.

Was ist dazu gekommen?

1.) Das Programm xbindkeys; damit lassen sich Tastaturbefehle zum Aufrufen von Scripten festlegen. (z.B. Lautstärke +/-)

2.) Das Programm gparted. Der Tinycore-Installer hat ein paar Schwierigkeiten ein Medium zu überschreiben, daher muss man immer wieder das Laufwerk oder den USB-Stick den man benutzt komplett löschen sonst funzt es nicht. Aufgerufen wird das Programm mit: sudo gparted

3.) Der Browser Dillo. Es kommt für mich immer wieder vor, dass ich mal eben was nachschauen muss. Alle anderen Browser kosten unheimlich Speicherplatz, Dillo ist eine für mich eine erträglich Alternative.

Was ist weg?

1.) Samba. Samba ist in dieser Version nur noch "vorinstalliert". Das heißt, es gibt noch den Programmaufruf und die Konfigurationsdatei. Wer Samba benötigt kann Samba einfach aus den Repos nachinstallieren, beim nächsten Neustart läuft Samba wieder.( damit habe ich ca. 30 Mb Umts-Uoload Volumen gespart)

2.) Wifi und die damit verbundenen Firmware Dateien.

Sonstiges:

Dies ist von meiner Seite das letzte TC Remaster, weil für mich nun alles so läuft wie es bei mir soll. Die nächste Version von TC 4.4 steht schon in den Startlöchern, beinhaltet aber ein Kernelupdate, so dass vermutlich Dinge wie Lirc nicht mehr funktionieren.

Download Link:
http://www.dateiupload.net/download.php?file=132d9ad5da7352a7ebddab519f419e4a

Dateiendung von .zip in .iso umbenennen.

Gruß

Elmar