Autor Beitrag
CommanderK
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 13.11.07 22:51 
Hallo allerseits!

Ich möchte Euch SoundLib 3 beta kurz vorstellen.
SoundLib 3 eignet sich zum Mischen und Wiedergeben verschiedener Sound- und Musikformate. Im neuen Release
stand die Entwicklung der Mehrkanal- und 3D-Fähigkeiten im Vordergrund, ebenso wie die Konsolidierung
der Wiedergabe mit DirectSound und dem Wave Mapper. Als besonderes Feature gesellt sich das
nahtlose Umschalten verschiedener Soundkarten, Interfaces und Ausgabeformate hinzu -- eine
Anwendung muss bei einem Wechsel nicht neu gestartet werden.

Zielgruppe des Librarys sind vorrangig Spiele, dennoch eignet sich SoundLib auch für andere
Multimedia-Applikationen. Die Einfachheit des Interfaces und automatische Initialisierungen
erlauben einen schnellen Einstieg. Wer mehr möchte, kann dennoch zu erweiterten Funktionen greifen.

Das Library ist kostenlos für nichtkommerzielle Nutzung; weitere Details lassen sich auf der
verlinkten Seite entnehmen.

Unterstützte Dateiformate: WAV, OGG, MOD/WOW/NST, S3M, XM, (FLAC*)

Unterstützte Plattformen: Delphi 5+, MSVC++, (Lazarus/Free Pascal kompilieren, aber ungetestet)

Projektseite: http://www.crossfire-designs.de/soundlib
Projektdownload: Klick mich!


Als Beispiel ein kleines Programm zum Abspielen von Audiodateien. Die Fehlerbehandlung wurde weitestgehend
entfernt, um zu zeigen, wie wenig Code nur notwendig ist, um zu einem Ergebnis zu kommen. Im Anhang
befindet sich das Projekt mit Fehlerbehandlung.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
program playfile;

{$APPTYPE CONSOLE}

uses
  soundlib3;

var
  driver  : tSoundInterface;
  sound   : tSound;
  wave    : tSoundStream;

begin
  // Initialize sound interface
  driver := tSoundInterface.create; // Selects best sound interface automatically

  // Initialize playback
  driver.startplayback(0,snd_auto,0,0,0); // Everything will be automatically set

  // Create sound collection layer
  sound := tSound.create(driver,1);

  // Try to load wave file to sound collection
  wave := tSoundFile.create(sound,'F:\cd\03_downtown.wav');

  // Put out some information
  writeln('Initialized output: '+driver.getDeviceInfo(driver.getCurrentDevice).deviceName);

  // Start playback and wait for user interruption
  wave.play;
  readln;

  // Deinitialize everything
  wave.free;
  sound.free;
  driver.stopplayback;
  driver.free;
end.


Weitere Delphi-Beispiele sind im Release-Package enthalten. So auch ein 3D-Beispielprogramm mit
Doppler-Effekt (funktioniert am besten auf Audiosystemen mit mehr als 2 Boxen)
Viel Spaß beim Ausprobieren!

Bei Fehlern des Librarys (bin auch nur ein Mensch ;)) postet bitte einfach ins Forum.

*FLAC-Download siehe unten

Grüße,
Stefan
Einloggen, um Attachments anzusehen!


Zuletzt bearbeitet von CommanderK am Do 15.11.07 21:23, insgesamt 2-mal bearbeitet
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 764
Erhaltene Danke: 127



BeitragVerfasst: Mi 14.11.07 23:22 
Gerade mal getestet...

Superteil, was Du da gemacht hast! Weiter so.
Frage: Ist MP3 oder WMV geplant, oder muss man in OGG umwandeln?

ub60
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 15.11.07 14:54 
user profile iconub60 hat folgendes geschrieben:
Gerade mal getestet...

Superteil, was Du da gemacht hast! Weiter so.
Frage: Ist MP3 oder WMV geplant, oder muss man in OGG umwandeln?

ub60


Hallo!

MP3 bringt einige Lizenzprobleme mit sich, die ich bisher nicht sinnvoll für das Projekt lösen konnte (andere Libs ignorieren diese schlichtweg); doch ab einer gewissen Verkaufszahl müssen auch die Nutzer von MP3-Dateien (also die User von SoundLib) Lizenzgebühren zahlen. Das ist für mich keine zufriedenstellende Situation. Abgesehen davon gibt es noch einige weitere Indikatoren, die gegen MP3 bzw. WMA sprechen:

- SoundLib soll insbesondere bei Projekten ansetzen, für die Content speziell produziert wird
- Weder WMA noch MP3 sind wichtig für Spielentwicklung (es gibt ja andere Verfahren)
- MP3 ist veraltet (sowohl Kodierungseffizenz als auch Verfahren)
- MP3 hat keinen echten Mehrkanal-Support (WAV, OGG und FLAC haben den)
- MP3 und WMA stehen dem Ziel der Multiplattform-Fähigkeit im Weg (außer es findet sich ein einheitlicher Dekoder für alle angestrebten Plattformen, also mindestens Mac und Linux)
- WMA-DRM könnte ein Hindernis sein

Ich erkenne dennoch, dass gerade MP3 ein wichtiges Format ist (auch für mich), und werde entsprechend nach einer Lösung suchen -- das kann aber eventuell noch etwas Zeit in Anspruch nehmen.

Vielleicht als Trostpflaster: ich arbeite gerade an einem FLAC-Dekoder. Der funktioniert bisher ziemlich gut, eventuell heute oder in den nächsten Tagen poste ich davon ein Release.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 15.11.07 15:06 
Moin!

Bitte gib einen direkten Downloadlink an, wie es die Regeln für die Veröffentlichung von externen Inhalten vorsehen. Alternativ kannst du auch das Archiv hier in den Anhang stellen. ;)

Darüber hinaus kannst du den Link zur Projektseite natürlich stehen lassen, wenn ein direkter Downloadlink existiert. :idea:

Danke! :)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 15.11.07 15:31 
user profile iconNarses hat folgendes geschrieben:
Moin!
Bitte gib einen direkten Downloadlink an, wie es die Regeln für die Veröffentlichung von externen Inhalten vorsehen.
Narses

Na hab ich doch gleich mal gemacht ;). Danke für den Hinweis!
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Do 15.11.07 17:21 
user profile iconCommanderK hat folgendes geschrieben:
- MP3 hat keinen echten Mehrkanal-Support


Schonmal von MPEG Sorround gehört? www.iis.fraunhofer.d...EG_Surr_Standard.jsp

user profile iconCommanderK hat folgendes geschrieben:
- MP3 und WMA stehen dem Ziel der Multiplattform-Fähigkeit im Weg (außer es findet sich ein einheitlicher Dekoder für alle angestrebten Plattformen, also mindestens Mac und Linux)


Was MP3 angeht ist das falsch. Die (Uralt-)MP3-Dekoder-Referenz-Software läuft meines Wissens nach auf allen Plattformen

AXMD
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 15.11.07 17:49 
user profile iconAXMD hat folgendes geschrieben:

Schonmal von MPEG Sorround gehört? www.iis.fraunhofer.d...EG_Surr_Standard.jsp

Kein echter Mehrkanal-Support:
de.wikipedia.org/wik...p3#Weiterentwicklung
Vielleicht hätte ich von "diskreten Kanälen" sprechen sollen, damit verständlicher ist, was ich meine.

user profile iconAXMD hat folgendes geschrieben:

Was MP3 angeht ist das falsch. Die (Uralt-)MP3-Dekoder-Referenz-Software läuft meines Wissens nach auf allen Plattformen.
AXMD

Gar kein Mehrkanal-Support. Lizenzgebühren (könnte man wiederum eventuell über dritt-Librarys bzw. Windows ACM umgehen; dadurch: Plattformproblem).

Ich denke aus dem ersten Post dazu geht recht gut hervor, dass MP3 nichts Halbes und nichts Ganzes ist, speziell für SoundLib.
Betrachten wir es mal von der anderen Seite: OGG und FLAC erfüllen die Voraussetzungen als ein lizenzfreies und effektives Verfahren besser als viele andere Lösungen. Es funktioniert, keiner muss sich Gedanken machen, es unterstreicht die Einfachheit, mit der SoundLib hervorstechen soll.
MP3 ist ein Phänomen in den Köpfen der Leute und bringt vor allem eines mit sich: Einschränkungen.

-- Stefan
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 15.11.07 21:20 
Titel: UPDATE und FLAC-DLL
Hallo allerseits!

Das verlinkte SoundLib-Package enthält ein Update für den Demo-Player. Der hing ärgerlicherweise immer dann, wenn das aktuelle File am Ende angelangt war (Deadlock im Player selbst).

Projektdownload: Klick mich!

Wer ein wenig experimentierfreudig ist: im Anhang ist eine SoundLib-DLL, die auch FLAC-Files laden kann. Lädt und spielt auch Mehrkanal-FLACs. Einschränkungen bisher: 20- und 24 Bit-FLACs scheinen durch einen Fehler in libflac.dll relativ schnell abzubrechen; Datei-Tags werden noch nicht geladen.

Viel Spaß damit!
Einloggen, um Attachments anzusehen!
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Fr 16.11.07 00:15 
Ich finde MP3 bezüglich der Lizenzprobleme auch ein bisschen heikel. Natürlich gibt es zig libs mit denen man abspielen kann. Aber sobald es nur annähernd kommerziell wird, oder um die Kompression geht, kann man ganz leicht Probleme bekommen die sich vermeiden lassen.
Nahezu alle kommerziellen Spieleentwickungen der jüngeren Zeit setzen auf OGG und WAV. Oder eben auf IT und XM. Wobei ich natürlich die letzteren beiden Aufgrund ihrer fast unschlagbaren Größe nach wie vor favorisiere.

Warum hast du eigentlich einen so geringen MOD Support? Mit dem MPP (ModPlugPlayer) Plugin oder einer Open-Source Weiterentwickung dessen, könntest du alle wesentlichen MOD Formate mit einem Schlag integrieren.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 16.11.07 05:01 
user profile iconSinspin hat folgendes geschrieben:
Warum hast du eigentlich einen so geringen MOD Support? Mit dem MPP (ModPlugPlayer) Plugin oder einer Open-Source Weiterentwickung dessen, könntest du alle wesentlichen MOD Formate mit einem Schlag integrieren.

Den Replayer hab' ich selbst geschrieben. Warum etwas Anderes nehmen, wenn man es selbst mindestens genauso gut kann? ;) Ich benutze den MPP nicht, aber im Vergleich zu Winamp (keine Ahnung welcher Dekoder da läuft) spielt der SoundLib-Player wesentlich mehr MODs und S3Ms korrekt ab.
Abgesehen noch von IT sind die meisten anderen Formate unwichtig bzw. zu sehr an den Tracker und die Plugins gebunden. Tatsächlich kann SoundLib IT-Files laden, aber der Replayer ist im absoluten Anfangsstadium -- daher bitte nicht Play dazu aufrufen, hört sich sehr schräg an ;).

Info 1 am Rande: SoundLib nutzt bei 5.1-Systemen (und darüber) den Center mit, bei Surround-Befehlen in den Modules auch die Surroundboxen. Ersteres kann kein anderen Replayer.

Info 2 am Rande: weitere Module-Formate werden in Zukunft über ein Plugin nachgerüstet (sobald die Schnittstelle dazu da ist). Es wird nicht der MPP sein, der dann dort werkelt (es gibt Besseres). Durch diese Schnittstelle können dann auch weitere Dateiformate angebunden werden (so kann jeder, der es will, MP3 nachrüsten ;).

-- Stefan
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Fr 16.11.07 12:05 
Ich besitze eine Sammlung von über 1000 MOD's in nahezu allen Formaten die es gibt und die der MPP abspielen kann.
Mit Winamp wäre ich niemals so weit gekommen da der Winamp eigene Player einfach nur müll ist. Der MPP zickt zwar hin und wieder auch mal, aber das kann man bei der masse die er korrekt spielt ganz gut verkraften.
Für meine Zwecke, also Hintergrundmusik für Spiele ist das MPP Plugin genau das richtige. Für dich ist es schon von der Seite her nicht so günstig da du ja einen oder mehrere Ton Kanäle bauchst die sich intern noch bearbeiten lassen. Was beim MPP rauskommt ist ja fertig.
Aber wie schon gesagt ist der MPP mittlerweile Open Source, also die Quelltexte sind verfügbar. Dann liese sich sicher auch an die einzelnen Kanäle rankommen.
Natürlich macht selber schreiben viel mehr Spass :wink:

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 24.01.08 16:01 
Titel: Neues Release
Hallo allerseits!

Ich hab' die zweite Beta von SoundLib3 veröffentlicht, unter anderem mit diesen Verbesserungen:

* FLAC-Support
* Zugriff auf Mixer- und Ausgabedaten
* Zugriff auf Sound Channel Maps
* Audio streaming von Benutzerapplikationen aus
* Starke Verbesserungen auf der Seite von C++ (Typensichere Variablen, Demos)
* Null-Ausgabe ohne Soundkarte jetzt auch Mehrkanalfähig (für Diskwriter)
* Überarbeitete Funktionen und Klassen für besseres Verständnis
* Wiedergabeverbesserungen unter Windows Vista
* Größe der DLL durch Aufräumarbeiten drastisch reduziert (< 90K vs. 180K)
* Viele Verbesserungen an Code und Anleitung
* Mehr Beispielprogramme


Projektseite: crossfire-designs.de/soundlib
Neues Zuhause: SoundLib.net

Direktdownload

Viel Spaß beim Ausprobieren! Bitte gebt mir Feedback, denn ohne hat niemand Lust zu coden ;). Auch für diese Version gilt: für Freeware und private Zwecke kostenlos.

Noch ein kleiner Hinweis am Rande: ein Beispiel für Streaming mit einem Module-Player, der erheblich mehr MOD-Formate abspielen kann, folgt noch hier im Forum.

Grüße,
Stefan
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1335
Erhaltene Danke: 118

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Do 24.01.08 18:09 
Wenn du noch IT (sehr ähnlich wie S3M) hinzunimmst, ist es genau das was ich aktuell ganz gut gebrauchen kann (für ein Spiel).
Da du das Laden aus einem Stream unterstützt kann ich die Dll sammt aller Sounds in meinen Spiel zu einer einzigen Datei verschnühren. Und genau das werde ich mal probieren sobald ich mir ein bisschen Zeit dafür abringen kann.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Do 24.01.08 18:39 
Moin!

IT würde durch den neuen Streaming-Player unterstützt werden. Wenn ich es richtig sehe, kann SoundLib3 mit diesem Player mehr Module-Formate als fmod und BASS abspielen. MIDI ist auch dabei. Aber gib mir noch etwas Zeit. Auch wenn es erstmal experimentell ist, da wegen fehlendem Plugin-Interface noch etwas "reingeflickt", möchte ich es zumindest vernünftig implementieren und durchtesten, bevor ich es hier poste.

Grüße,
Stefan
alias5000
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2145

WinXP Prof SP2, Ubuntu 9.04
C/C++(Code::Blocks, VS.NET),A51(Keil),Object Pascal(D2005PE, Turbo Delphi Explorer) C# (VS 2008 Express)
BeitragVerfasst: Do 24.01.08 18:55 
Hallo!

Ich habe derzeit keinen direkten Bedarf an Playern, aber ich weiß, dass der an einem gewissen Punkt kommen wird. So wie du das hier schreibst, klingt das sehr interessant, ich werde das Projekt auf jeden Fall hier im DF weiterverfolgen.
Ich möchte jetzt nur im Moment nicht noch eine kleine Testsache aufmachen, sondern mich (endlich) aufs wichtige konzentrieren ;)

Gruß
alias5000

_________________
Programmers never die, they just GOSUB without RETURN
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mo 28.01.08 15:42 
Hallo!

Freut mich zu hören dass das Lib Anklang findet. Um es nicht langweilig werden zu lassen, gleich die nächste Ankündigung: SoundLib wird ab sofort in Kooperation mit Benjamin Rosseaux entwickelt, der dem ein oder anderen vielleicht schon durch seinen Tracker (BeRoTracker) bekannt sein dürfte. Benjamins Part besteht darin, seinen Replayer an SoundLib anzupassen und sich vermehrt um die Module-Formate zu kümmern.

Was der Replayer bisher abspielen kann:
MOD, S3M, XM, IT, BRT, MT2, IMF, DMF, STM, 669, OKT, MTM, WOW, MID, MIDI, RMI

Einschränkungen:
- MIDI wird auf den Tracker-Replayer gemapped und ist daher nicht immer 100% korrekt
- Mad Tracker (MT2) kann nur auf dokumentiertem Level gespielt werden (neue Tracker enthalten undokumentierte Funktionen)
- Nur Stereo, Mehrkanal-Support folgt mit neuem Plugin-Interface von SoundLib (im Zweifelsfall lieber auf integrierten MOD-Player zurückgreifen)

Bitte beachtet, dass dies mehr eine Demo als eine voll durchgestete Erweiterung ist. Den kurzen Tests nach zu urteilen funktioniert sie ohne Probleme -- über Rückmeldungen im Fehlerfall, auch bei "krumm" abgespielten Files würde ich mich aber freuen. Am besten einfach als Attachment hier posten.

Wer noch ein paar Randinfos möchte, schaut in die beigelegte Readme.

Download:
www.crossfire-design...ourcecode/libbrt.rar
CommanderK Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 26.02.10 16:55 
Hallo allerseits,

ich hab' vor einer Weile in der Freeware-Sparte mein SoundLib 3 beta 2 angekündigt. Seitdem ist einige Zeit vergangen, das Projekt stand nie wirklich still. Ich hab' auf jeden Fall einige Fragen:
* Gibt es unter Euch Leute, die es einsetzen?
* Habt Ihr Gründe, es nicht einzusetzen?
* Was fehlt Euch noch?
* Wo könnt Ihr Euch einen Einsatz vorstellen?

Ich arbeite gerade (wieder) an der Beta 3, aber mir fehlt Feedback. Was u.A. neu in Beta 3 sein wird:
* SoundLib lädt/spielt Impulse-Tracker-Files, AIFF-Files, Wave64 (Wave-Dateien > 4 GByte)
* Überarbeitete Struktur: Sounds können hierarchisch hinzugefügt/entfernt werden (bisher starre Struktur; ermöglicht Filter)

Zur Diskussion steht:
* Filter-Paket (L/H-Filter, EQ, Delay, Flanger...)
* ASIO-Support (Für möglichst echtzeitnahe Wiedergabe in Audio-Applikationen)
* Midi-Support (benutzt das noch jemand?)
* CD-Playback (nochmal: braucht das noch jemand?)
* NICHT zur Diskussion: MP3-Support (OGG, FLAC müssen reichen), Aufnahmefunktionalität (kommt mit späteren Versionen)
* Weitere Anregungen von Euch?

Mein Hauptaugenmerk liegt bei SL3 nicht auf einer wahnsinnig großen Feature-Menge, sondern auf Einfachheit in der Nutzung. Zielgruppen sind Spiele und Audio-Applikationen (aber keine Multi-Format-Medien-Player). Ich würde mich freuen wenn Ihr mich ein wenig unterstützen und mir vielleicht ein paar Anregungen geben könntet.

Viele Grüße,
Stefan

Moderiert von user profile iconNarses: Beitrag aus neuem Topic hier angehangen.