Raspberry Pi Streamer

powerohr
Aktiver Hörer
Beiträge: 200
Registriert: 14.06.2010, 19:20
Wohnort: Leichlingen im Bergischen Land

Beitrag von powerohr »

Die Frage ist dahingehend gemeint, ob mein AudioGD Master11 dieses Clocksignal nutzt, wenn man die I2s Schnittstelle nimmt. Ein Reclocking mach ja dieses Digi Pr Board nicht, soweit ich dies sehe.

Ich hatte eben mit freezebox Kontakt. Wenn ich auf I2s setze, macht natürlich das Kali Board mehr Sinn. Dies ist dann ein Recklocker für das I2s Signal. Was sich für mich jetzt nicht schlecht anhört.
Damit könnte man dann direkt in den Master 11 rein.
Hat jemand diese oder eine ähnliche Kombi ggf, schon einem getestet? Ist sowas mit einem DDC vom Effekt eventuell vergleichbar. Dieser arbeitet das Digitalsignal ja auch auf.
Torben
Bild
lukivision
Aktiver Hörer
Beiträge: 282
Registriert: 07.03.2014, 09:38
Wohnort: Bochum

Beitrag von lukivision »

Soweit ich weiß ist ein i2s Signal so etwas wie das Rohmaterial für das, was dann später über USB oder SPDIF weiter an den DAC gereicht wird. Ein DDC bereitet aus dem i2s Signal ein Signal auf, was über USB oder SPDIF transportiert werden kann und dann später im DAC wieder zurück gewandelt wird. Insofern kann man sich diese Prozesse sparen, wenn man gleich mit i2s in den DAC rein kann - oder hab ich das falsch verstanden?

Luki
Bild
Tinitus
Aktiver Hörer
Beiträge: 1322
Registriert: 10.11.2013, 21:48

Beitrag von Tinitus »

Hallo,

bei einem Pi ist I2S einer Übertragung über USB aufgrund der nicht vorhandenen Trennung von Ethernet und US Bus keine störungsfreie Übertragung gewährleistet ist. Bei einem Odroid wäre das anders. Also wenn Pi dann rein in den DAC per I2S. Je nachdem welchen I2S Eingang dein Audio GD besitzt, über RJ45 oder HDMI brauchst Du ein entsprechendes Kabel, je kürzer desto besser, da I2S eigentlich für Geräte interne Kommunikation entwickelt wurde. Ein Forenkollege hat ja schon die Audio GD Seite mit der Erläuterung der Pinbelegung verlinkt. Persönlich glaube ich nicht, dass I2S oder USB dem jeweils anderen gegenüber grundsätzlich überlegen sind. Wie meist ist eine gute Umsetung des jeweiligen Prinzips wichtiger als das Prinzip selbst.

Gruß

Uwe
Bild
dietert
Aktiver Hörer
Beiträge: 533
Registriert: 24.11.2013, 10:31
Wohnort: 76571 Gaggenau
Kontaktdaten:

Beitrag von dietert »

Hallo miteinander,

die I2S-Schnittstelle besteht aus mehreren Signalen, darunter eine Bit Clock. Man braucht also nicht wie bei den anderen Verfahren eine Clock aus dem Datenstrom zu rekonstruieren (z.B. ein Reclocker oder ein ASR), sondern man hat die Originalclock der Datenquelle. In etwa dasselbe erreicht man, wenn man parallel zum SPDIF-Signal auf einer zweiten Leitung noch die Bit Clock überträgt.

Andererseits gibt es etliche Varianten von I2S und die Übertragung funktioniert nur zuverlässig, wenn Sender und Empfänger für dieselbe Variante konfiguriert sind. Eigentlich ist diese Konfiguration nichts für Endanwender sondern eher für Firmware-Entwickler.

Grüße,
Dieter T.
Bild
CoLT
Aktiver Hörer
Beiträge: 15
Registriert: 23.04.2014, 12:23

Beitrag von CoLT »

Hallo Torben,
bei mir spielt ein Rpi2 per I2s direkt an einem Audio-GD mit einem leicht modifizierten Archphile-Image.
Verwende hierfür allerdings einen Sabre 9018 Chip, da hier keine Masterclock notwendig ist.

Zuvor hatte ich den DAC über USB mit meinem Arbeitsrechner verbunden, was zu diesem Zeitpunkt für mich schon super war. Der Wechsel auf den dedizierten Rpi mit linearer Stromversorgung brachte aber nochmal eine deutliche Steigerung. Besonders im Bass und in den Höhen wirkt es (zeit)richtiger und aufgeräumter.

Gruß Malte
Bild
powerohr
Aktiver Hörer
Beiträge: 200
Registriert: 14.06.2010, 19:20
Wohnort: Leichlingen im Bergischen Land

Beitrag von powerohr »

Hallo,
ich möchte hier ganz kurz einmal meine Erfahrung mit dem Odroid C2 darstellen.
Ich habe das Teil zum Zwecke des Anschlusses per USB gekauft. Der Raspberry hat scheinbar keinen dedizierten USB, da läuft alles mögliche über den Chip. Der C2 hat einen eigenen USB Chip separat vom LAN.
Ich habe nun ein MPD Image auf den Odroid geladen und am Master 11 USB mit seinem Amanero angeschlossen. Flac dann vom Server abgespielt.
Leider völlige Katastrophe. Ich meine regelrecht den Jitter zu hören. Mein Zotac CI321 ist da deutlichst besser.
Das Bild wird über eine Xmos im Mutec MC3 USB auch nicht besser.

Volumio läuft in der aktuelle Version auch nicht per USB. Gibt nur Klickgeräusche aus. Um das wegzubekommen, muss man in die Tiefe des Systems herabsteigen. MPD aber läuft sofort.
Was auch zu bemerken ist, dass der C2 sehr heiß wird.
Für mich ein klarer Fehlkauf. Ich versuche bei Gelegenheit mal Kodi zu installieren um das Teil wenigstens am Fernseher zu nutzen. Für Audio ist dies nix.

Grüße
Torben
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Hallo zusammen,

hier behauptet jemand, er habe eine Möglichkeit gefunden, über den I2S Bus des Raspberry mehr als nur zwei Kanäle zu nutzen.
This sound card features crystal clear 8 channel output audio, with 6 channels of input audio. Unlike other multichannel solutions, this surround hat only uses the GPIO I2S bus for audio. It doesn't use USB nor does it use HDMI.
Example applications

Professional audio recording (with 6 balanced inputs)
Multichannel output for your projects.
Car audio front/back fading.
Active crossovers, up to 8 way, or 2 speakers each 4 way.
SDR, processing many channels at the same time.
Surround sound output for your media centre.
Projects we didn't imagine you would implement !
Klingt für mich ziemlich unglaublich. Meinungen dazu?

Viele Grüße Klaus
Bild
Tinitus
Aktiver Hörer
Beiträge: 1322
Registriert: 10.11.2013, 21:48

Beitrag von Tinitus »

Hallo Klaus,

ich habe keine Ahnung, ob Mehrkanal mit dem Pi funktionieren kann, aber im Netz gibt es mehrere Leute, die berichten, dass das bei Ihnen funktioniert, z.B.:

http://www.runeaudio.com/forum/rune-aud ... 94-10.html

Der gute Alchimist ist aber nicht nur da im Netz unterwegs, sondern, siehe da das Gute liegt manchmal so nah:

http://www.aktives-hoeren.de/viewtopic. ... 8&start=30

Vielleicht hilft das ja weiter.

Schönen Abend

Uwe
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Hallo Uwe,

den Ansatz von Alchemist kenne ich und habe ich auch schon erfolgreich umgesetzt. Allerdings läuft das über den HDMI-Port (oder auch per USB, wenn man so will). Das ist also prinzipiell möglich. Meines Wissens geht es aber nicht, den I2S-Bus dafür zu nutzen, da er bei Raspberry nur für 2 Kanäle ausgelegt ist. Bei dem von mir verlinkten Projekt soll es dem Entwickler nach eigenen Angaben aber gelungen sein...

Viele Grüße Klaus
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Sire hat geschrieben:den Ansatz von Alchemist kenne ich und habe ich auch schon erfolgreich umgesetzt. Allerdings läuft das über den HDMI-Port
Alchemist hat im diy-hifi-forum eine detaillierte Anleitung gepostet. Allerdings könnte es sein, dass der aktuelle Kernel erst gepatcht werden muss, damit er Multichannel per HDMI ausgibt. Diese Funktionaltiät wurde Anfang letzten Jahres wieder aus dem Kernel genommen, da sich bei manchen Installationen ungewünschte Seiteneffekte einstellten. Wer sich also für Mehrkanalausgabe per raspberry-hdmi interessiert, findet hier einen guten Einstieg.

Viele Grüße Klaus
Bild
dietert
Aktiver Hörer
Beiträge: 533
Registriert: 24.11.2013, 10:31
Wohnort: 76571 Gaggenau
Kontaktdaten:

Beitrag von dietert »

Hallo miteinander,

danke für diese Hinweise hier, finde ich hochinteressant und habe ein wenig nachgelesen.

Soweit ich es verstehe, ist das aus politischen oder rechtlichen Gründen wieder nicht in dem mainstream-Kernel. Wer nämlich die HDMI-Schnittstelle implementiert, zahlt jährliche Lizenzgebühren. Und derjenige darf dann keinen HDMI nach I2S Extraktor für mehrkanaliges Audio implementieren, sondern die Audiosignale nur analog ausgeben.

Der HDMI-Geheimschlüssel ist aber inzwischen veröffentlicht, siehe z.B. Wikipedia, das heißt für einen Bastler ist es kein Problem. Bzw. man kauft so einen Extraktor vielleicht in China. Dann muss man eben nur noch lernen, den Kernel zu patchen. Habe auch gelesen, dass diese mehrkanaligen I2S-Schnittstellen bei dem BCM2708-Prozessor des RPi erstmal nur 48 KSamples/sec liefern. Den Hack hinter dem "audio injector" Projekt habe ich nicht verstanden. Vielleicht ist es nur die Umleitung von HDMI-Mehrkanalaudio auf die GPI-Ports mit analoger Ausgabe (DAC). Die HDMI-Lizenz verlangt dann wieder, dass niemand die mehrkanaligen I2S-Signale abgreifen kann. Wenn man die mehreren Kanäle allerdings für eine Weiche benutzt, ist es wohl wieder ein anderer Fall.

Grüße,
Dieter T.
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Hallo Dieter,

wenn Du dem Kernel die HDMI-Mehrkanalfähigkeit zurückgeben möchtest, dann vor dem Kompilieren die Datei

/linux/sound/arm/bcm2835-pcm.c

in dieser Weise anpassen:

Code: Alles auswählen

/* hardware definition */
static struct snd_pcm_hardware snd_bcm2835_playback_hw = {
    .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
         SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
    .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S32_LE,
    .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000_192000,
    .rate_min = 8000,
    .rate_max = 192000,
    .channels_min = 1,
    .channels_max = 8,
    .buffer_bytes_max = 128 * 1024,
    .period_bytes_min =   1 * 1024,
    .period_bytes_max = 128 * 1024,
    .periods_min = 1,
    .periods_max = 128,
};

static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = {
    .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER |
         SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID),
    .formats = SNDRV_PCM_FMTBIT_S16_LE,
    .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 |
        SNDRV_PCM_RATE_192000,
    .rate_min = 44100,
    .rate_max = 192000,
    .channels_min = 2,
    .channels_max = 8,
    .buffer_bytes_max = 128 * 1024,
    .period_bytes_min =   1 * 1024,
    .period_bytes_max = 128 * 1024,
    .periods_min = 1,
    .periods_max = 128,
};
Ich muss mal nachschauen, welchen Kernel (es war auf jeden Fall ein 4.4.x) ich vor einem halben Jahr gepatcht hatte. Das funktionierte jedenfalls sehr gut.

Viele Grüße Klaus
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Hallo Dieter,
Wer nämlich die HDMI-Schnittstelle implementiert, zahlt jährliche Lizenzgebühren.
ich glaube, das gilt nur für bestimmte Codecs im Video-Format. Die Audio-Lösung funktioniert auch so.

Ein Problem mit dem Raspberrys ist aber, dass die boardeigene Clock (auf der CPU?) nur für Frequenzen von 48 Khz und deren Vielfache saubere Signale liefert. Das sollte bei der Konfiguration beachtet werden. Mit angeschlossenem AV-Receiver sind einfache Aktivierungslösungen durchaus machbar und klingen meiner Erfahrung nach recht gut.

Viele Grüße Klaus
Bild
dietert
Aktiver Hörer
Beiträge: 533
Registriert: 24.11.2013, 10:31
Wohnort: 76571 Gaggenau
Kontaktdaten:

Beitrag von dietert »

Hallo Klaus,

gut, werde es ausprobieren. Eine recht ordentliche Anleitung aus 2015 habe ich hier gefunden:

http://www.diy-hifi-forum.eu/forum/show ... stcount=87

Grüße,
Dieter T.
Bild
Sire
Aktiver Hörer
Beiträge: 309
Registriert: 02.12.2013, 14:01

Beitrag von Sire »

Hallo Dieter,

lustig, das ist derselbe Link den ich zuvor schon gepostet hatte. :cheers: Vielleicht sollte ich meine Links künftig etwas aussagekräftiger gestalten :wink:

Die Anleitung finde ich auch sehr gut, da kann eigentlich nichts schiefgehen.

Ich habe übrigens mal nachgeschaut, bei mir war es der 4.4.20 Kernel, den ich gepatcht hatte. Und die Kernel-Macher sind noch immer am Thema dran:
Multichannel pcm; Pull Request

Viele Grüße Klaus
Bild
Antworten