Cpan Gleitender Durchschnitt


How-To Geek How-To Geek Ive tat Sachen wie diese für eine lange Zeit, beginnend unter MSDOS, und Sie müssen nicht auf die Win10 Vorschau zu bauen, um eine Version von Bash zu bekommen warten. Die Frage ist, warum Sie vielleicht möchten. Die meisten der Bemühungen, die ich gesehen habe, konzentrieren sich auf Entwickler, die das GnuLinux Toolchain zur Verfügung stellen möchten, um in der Entwicklung unter Windows zu verwenden. Cygwin hatte die Absicht, die GnuLinux-Toolchain an Win32 zu portieren. Anstatt alles neu zu schreiben, um Windows-APIs anstelle von nix-Systemaufrufen zu verwenden, implementierten sie eine POSIX-Kompatibilitätsschicht, die als DLL eingekapselt wurde. Eine Menge von nix-Code baut aus der Box mit GCC unter Cygwin, weil es Links gegen die DLL und sieht die nix-System-Routinen es erwartet. Es funktioniert gut, aber nimmt eine ernsthafte Geschwindigkeit getroffen wegen der Unterschiede zwischen wie nix und Windows Dinge tun, wie die Fragen mit Gabeln Prozesse. Und wenn du unter Cygwin bist, bist du in einer nix-kompatiblen Befehlszeilenumgebung und musst als PATH-Trennzeichen und als Option Steuerzeichen verwenden und durch verschiedene Reifen springen, wenn du mit nativen Befehlen interagierst, die das in der Folge nicht kümmern. Eine Alternative ist die ATampT UWin-Anstrengung, eine Open-Source-Umgebung, die einen ähnlichen Ansatz wie Cygwin bei der Verwendung einer Kompatibilitätsschicht mit einem Port der Korn-Shell als Mittelstück einnimmt. (Das Projekt wurde von Korn Shell-Schöpfer Dr. David Korn durchgeführt.) Das MinGW-Projekt und die Begleiterin MSYS nahmen einen anderen Ansatz ein, indem sie Dinge über GCC baute, um Windows-Laufzeiten zu nutzen, und viele nix-Befehle sind auf diese Weise sowie eine Version von GCC verfügbar Konfiguriert, um auf native Windows-Binärdateien zu kompilieren. Ich habe es auf meinem Desktop unter Win7. Die vollste Implementierung von bash und Freunden Ive gesehen ist Teil von Git für Windows. Installiere es, und du bekommst eine Version des Git DVCS für Windows und einen vollständigen Satz von GnuLinux Utilities in nativen Windows Builds, einschließlich bash. Bash selbst kann aus einer Auswahl von Quellen, wie kann tcsh, zsh, und andere, aber diese Versionen werden auf älteren Code basieren. Die interessante Sache über diese Anstrengung ist nicht bash per se - es ist die Hinzufügung der Bibliotheken zu Windows, die die Unterstützung bietet, die es ermöglicht, bash zu implementieren. Gerade jetzt, Id call bash und Freunde ein Proof-of-Konzept demonstriert seine möglich. Die Möglichkeit zu sehen, Ubuntu grafische Apps unter Windows auf der Straße laufen zu lassen, wäre nicht überraschend. (Es gibt ein moribundes Projekt, um die KDE-Desktop-Umgebung unter Windows mit Cygwin zu bekommen, das tatsächlich einen funktionierenden KDE-Desktop für Windows in den WinXP-Tagen hatte, also ist es sicherlich machbar.) Powershell bietet praktisch Zugriff auf alle Frameworks, Win32 und native Bibliotheken Also würde ich nicht sagen, dass bash ist weit überlegen. Chris schrieb, es gibt einige Einschränkungen hier. Dies funktioniert nicht mit Server-Software, und es wird nicht mit grafischen Software arbeiten. Nun, stellt sich heraus, dass zumindest einige grafische Software gemacht werden kann, um mit it. Neowin hat einen Artikel von Andrew Stevenson zeigen, wo jemand hat die Gui basierte verbesserte vi (vim) läuft über bash Shell auf Windows 10. Ich weiß nicht, ob GNOME Apps würde auf Windows laufen, da es das Äquivalent von zwei oses Größe auf HDD sein würde und das wäre nicht sehr nützlich, und MS hat kein Interesse daran, das möglich zu machen, das einzige, was sie gerne tun würden, wäre, Linux in Windows zu integrieren Server, um ein größeres Stück des Kuchens im Server-Raum zu bekommen Alejandro Lengua Vega Ich verwende Windows 10, Home Edition. Möge das das Problem sein, das ich wirklich nicht sehen kann, dass es ein echtes Feature für den durchschnittlichen Benutzer ist, aber ich kann das auf Windows Server total sehen. Vielleicht nicht auf 2012R2, sondern auf Server 2016-, die noch nicht veröffentlicht wurde aber ist der gleiche Kernel wie 10. So kann dies auf Entwickler gerichtet sein. Ich bin mir sicher, dass Microsoft kein Interesse daran hat, Linux-Apps auf Windows zu laufen, wenn es bereits 1000s von alternativen Windows-Äquivalenten gibt. So oder so ist das für Microsoft brillant. Als sie UNIXLinux auf Hyper-V vollständig unterstützen, bewegen sie sich, um ein breiteres Fachpublikum und Linux-Desktop-Nutzer zu vermitteln. Ich vermute, ihr Ziel ist es, in die UNIX-Raum auf der Straße zu bewegen. Denken Sie, LAMP auf Server 2016. Danke Chris für das Schreiben auf. Ich kann Ubuntu auf meinem Win10-Rechner installieren, aber ich bin nicht in der Lage, herauszufinden, wie man das Verzeichnis zu den zugeordneten Netzlaufwerken ändert. Ich kann cd machen mntcWindows, um zu C: Windows zu gehen, aber kann nicht zu irgendwelchen Netzlaufwerken gehen. Unter mnt theres nur das c folder. Muscript 3.2 Muscript ist eine Sprache für das Setzen von Musik und entweder ein Perl-Skript oder ein Lua-Skript, das diese Sprache entweder in PostScript übersetzt. Oder in gekapselten PostScript. Oder in MIDI. Oder in MusicXML. Und es gibt ein Skript muscriptps2svg, um muscript in SVG zu übersetzen. Muskript wurde von Peter Billam geschrieben, um seine eigenen Kompositionen und Arrangements einzusetzen, die das Leben als Awk-Skript begann und 1996 der Welt angekündigt wurde. Die Fähigkeit, Variablen zu definieren, wurde in Version 3.1 neu eingeführt. Die aktuelle Version von muscript ist 3,2 p. Eine zweisprachige Version, die sowohl in Perl als auch in Lua erhältlich ist. Es endet mit Details zum Herunterladen und Installieren von Muscript, auf Seitengröße Probleme. Einige Werkzeuge für die Manipulation von Muscript-Dateien dann nach einer Geschichte der Änderungen und eine Liste der vorgeschlagenen Verbesserungen. Es gibt einige Hinweise auf einige der anderen kostenlosen Musik-Setz-Software. In einem separaten Verzeichnis gibt es einige Samples, um euch mit der Muskript-Syntax zu beginnen. Die muskriptsprache ist entworfen, im geist von eqn und pic. Um die Art und Weise zu reflektieren, wie ein Musiker eine Partitur im Detail über das Telefon zu einem anderen Musiker beschreiben könnte. Die Sprache ist ziemlich kompakt, und eine Seite von Musik kann in nicht viel mehr als eine Seite von ascii Text beschrieben werden. In der Tat mit einer kleinen Übung kann ein Musiker die Partitur in seiner Muskriptform lesen. Muscript-Texteingabe besteht aus einer Anzahl von Befehlen, meist auf separaten Zeilen. Der Backslash als letztes Zeichen auf einer Zeile setzt den Befehl in der nächsten Zeile fort. Die Beschriftung einer Seite von Musik in Muskript entspricht der Art und Weise, wie du die Seite schreibst, so dass du zuerst die Stäbe ziehst, dann ziehst du auf jedem Stab die Barlines, dann füllst du für jeden Takt die Noten, Noten, etc.. Jede Seite besteht aus mehreren Systeme Die jeweils aus einem oder mehreren Stäben bestehen. Von denen jede aus einer oder mehreren Stäben besteht. Von denen jeder eine oder mehrere Noten oder Wörter enthält. BoundingBox Wenn die erste Zeile in der Datei z. B. Grenzebox 65 53 ist, dann wird das Muskript die Ausgabe im Encapsulated PostScript (EPS) Format, 65 Punkte breit und 53 Punkte hoch in diesem Beispiel generieren. Diese EPS-Ausgabe kann dann in Textverarbeitungsprogramme oder Desktop-Publishing-Dokumente eingefügt werden, oder sie können in das JPG-Format konvertiert und in Webseiten verwendet werden. Siehe das eps2jpg - und eps2png-Skript und die kdf. txt-Datei in den Samples. Die erste Zeile auf jeder Seite zieht die Systeme der Stäbe. Zum Beispiel könnte ein typisches Stück für Flöte, Cello, etc. sein: 12 Systeme 202020202020202020202020 Die Zahlen zwischen Schrägstrichen sind die Höhe jedes Stabes, in Punkt. Oder ein typisches Stück für Klavier könnte 6 Systeme sein 20-40-2020-40-2020-40-2020-40-2020-40-2020-40-20 Die Zwischenzahlen (40 hier) sind die Höhe der Lücken zwischen den Stäbe Die Bindestriche führen dazu, dass sich zwischen den Stäben zwischen den Stäben verbindet. So könnte der Klavierteil einer Violinsonate sein: 4 Systeme 14 30 20-40-2014 30 20-35-2014 30 20-40-2014 30 20-42-20 Eine hintere Lücke in einem System wird respektiert und kann sein Verwendet, um Platz zu reservieren, zum Beispiel für niedrige Stem-Down-Notizen auf mehreren Ledger-Linien. Ein oberer Spalt, der oberhalb des ersten Systems reserviert werden soll, wird durch eine Zahl vor dem ersten Schrägstrich, z. B. 2 Systeme 80 13 30 19-40-19 13 30 19-40-19 30 Wenn es weniger Systeme gibt als nötig, dann wiederholt das Muskript das letzte, wenn nötig. Zum Beispiel können zwölf Single-Stave-Systeme geschrieben werden: 12 Systeme 19 Titel verwenden einen Titel Blurb Blurb Syntax und sind in großfarbiger Schrift gedruckt, zentriert am oberen Rand der Seite. Seitenzahlen Seitennummern verwenden eine Pagenum 7 Syntax. Sie sind in der oberen äußeren Ecke gedruckt, die ist, ungerade Seitenzahlen drucken in der oberen rechten Ecke, sogar Seitenzahlen in der oberen linken Seite. Wenn eine Nummer nicht angegeben ist (z. B. pagenum), dann wird die Nummer automatisch von der vorherigen Seitennummer erhöht. Header verwenden eine Innenseite Blurb Blub Syntax. Diese werden in einer kleinen kursiven Schrift in der inneren oberen Ecke gedruckt - die gegenüberliegende obere Ecke von der Seitennummer. Wenn auf der aktuellen Seite keine Seitennummer vorhanden ist, können Sie die expliziten Links - und Rechtskontakte verwenden. Wenn hohe Noten auf dem Top-Stab mit den Headern und Titeln verwechselt werden, dann eine Lücke vor dem Top-System, wie im nächsten Beispiel. Linke Fußzeilen, mit einer Links-Blitz-Blub-Syntax, werden in kleiner kursiver Schrift in der unteren linken Ecke gedruckt. Right Footers verwenden eine Rightfoot Blurb Blub Syntax, und sind in kleinen kursiv in der unteren rechten Ecke gedruckt. Wenn niedrige Noten auf dem unteren Stab des unteren Systems mit den Fußzeilen verwechselt werden, dann legen Sie eine nachlaufende Lücke in das niedrigste System, z. B. Diese Systemvorgaben sind persistent. Wenn also das Muskript vom Ende einer Seite abläuft, wird die vorherige Spezifikation für die neue Seite wiederverwendet (außer dass es die Seitennummer erhöht und es nicht einen Titel nachdruckt, sondern den Titel an den Innenheader vorgibt). Dann, sobald die Systeme eingerichtet sind, der einfache Befehl Nach dem Befehl ist das erste, um die Barlines zu zeichnen. Dazu muss muscript wissen, wie viele Bars und wie sie beabstandet sind. Zum Beispiel für vier Takte: 4 Takte 1 1,2 1 1 Hier sind die Zahlen zwischen den Linien die Proportionen der Stablängen. Im obigen Beispiel braucht die zweite Bar offensichtlich etwas mehr Platz als die anderen. Wenn nur ein Teil einer Bar ausdehnt (vielleicht, weil es viele Semiquaver hat), dann hast du mehr als eine Nummer in die Bar gelegt. Zum Beispiel, wenn es fünf Takte gibt, aber das zweite Viertel der vierten Bar braucht mehr Platz, könnten Sie verwenden: 5 bar 2 2 2 0,5 0,7 0,5 0,5 2 Diese Barline-Spezifikationen sind persistent. Wenn also das Muskript vom Ende eines Systems abläuft, wird die vorherige Spezifikation für das neue System wiederverwendet. Wenn das Muskript die Proportionen ausarbeitet, behält es sich extra Platz für einen clef am Anfang der Zeile. Sie können auch Platz für Taktarten und Schlüsselsignaturen am Anfang einer Zeile reservieren (beachten Sie, dass diese Platz reserviert, aber nichts zeichnet, was später gezogen wird). Zum Beispiel: 4 bar 3b 44 1 1.2 1 1 Doppelstäbe sind angegeben und wiederholen mit. 5 Stäbe 10 9: 11 10 9 Ein Segno-Schild (von einer späteren Dal Segno-Anweisung zu verwenden) ist mit Segno 5 Stäben angegeben 10: Segno 3b 44 11 10 9 Wenn es weniger Proportionszahlen als Stäbe gibt, dann wiederholt sich das Muskript Die letzte wie nötig Zum Beispiel können elf gleichmäßig beabstandete Balken geschrieben werden: 11 Takte 2 68 12 12 Ab Version 2.7g kann die letzte Barline ausgelassen werden. Dies kann für bar-less-Musik verwendet werden, zum Beispiel: 1 Takte 50 oder um einen Balken zwischen zwei Systemen aufzuteilen: 3 Takte: 16 16 8 Dann, sobald die Barlines eingerichtet sind, führt der einfache Befehl dazu, dass muskript die Setzvorgänge beginnt Nächste Bar im aktuellen System. Ab Version 2.3 können auch die Zahlen folgen, um MIDI über das Tempo innerhalb der Bar zu erzählen, siehe den MIDI-Abschnitt unten. Nach dem Befehl füllen Sie die Stäbe (der aktuellen Stange) einzeln aus. Die erste (oder nur) Stave ist 1 und die zweite ist 2 etc. Diese Zahlen können mit einem gefolgt werden, oder a, um eine Standard-Stamm-Richtung zu setzen, ist dies sehr nützlich, wenn zwei Stimmen einen Stab, einen Schwanz und einen Schwanz teilen - down Zum Beispiel könnte ein Klavierstück beginnen Clefs und Key Signatures sind persistent. Innerhalb einer gegebenen Stabnummer. Muskript erinnert sie an bar an bar und druckt sie automatisch zu Beginn jedes neuen Systems. Die Hauptschlüssel sind dreifach. Alt. Tenor und Bass Auch verfügbar sind treble8va. Treble8vab Und bass8va. Bass8vab Die eine kleine 8 oberhalb oder unterhalb des clef setzen, um Instrumente anzuzeigen, die um eine Oktave umsetzen. Clefs können sowohl innerhalb einer Bar als auch am Anfang auftreten. Der Null-Clef-Clefspace druckt nichts, aber behält sich eine Clefs-Breite des Raumes vor, die für die Ausrichtung der anderen Teile nützlich sein kann, wenn ein Clef-Wechsel in einem Teil auftritt. Wie Sie aus dem obigen Beispiel sehen können, ist Clefspace am Anfang einer Zeile unnötig, und es ist immer ein clef dazwischen, also behält es Platz trotzdem. Key Signatures Die sind einfach geschrieben als 1. 3b. 4 usw. Die Sondertaste Unterschrift 0 bedeutet Rückkehr zu Cmaj und druckt die natürlichen Zeichen, die notwendig sind, um jede vorherige Schlüsselsignatur abzubrechen. Eine Schlüsselsignatur kann nur am Anfang einer Leiste und vor der Taktart (falls vorhanden) auftreten. Zeitsignaturen werden einfach als Bruchstücke geschrieben, zB 24. 68. 128. etc. Eine Taktart kann nur am Anfang eines Taktes und nach der Schlüsselsignatur (falls vorhanden) auftreten. Dann können wir mit dem Schreiben der Rhythmen und Notizen (und In-Stave MIDI-Anweisungen) beginnen. Die Rhythmen werden entweder in abgekürzter englischer Syntax oder in einer numerischen, internationalen Syntax geschrieben. Die Breve (de: doppelte Taktnote) wird in beiden Syntaxen breit geschrieben: Tripletts werden mit einem z. B. Qua3 oder 83 Duplet-Notizen werden mit einem z. B. Cro2 oder 42 (zwei Duplet-Crotchets dauern drei normale Achtelnoten) Quadruplets werden mit vier z. B. Qua4 oder 84 (vier Quadruplet-Achtelnoten letzten drei normalen Achtelnoten) Quintuplets werden mit einem fünf z. B. Smq5 oder 165 (fünf Quintuplet-Semiquavers dauern einen normalen Crotchet) Septuplets werden mit einem sieben z. B. Smq7 oder 167 (sieben Septuplet-Semiquavers dauern ein normales Crotchet) Punktierte Noten werden mit einem Punkt zitiert. Min. Oder 2. oder qua3. Oder 83. Doppelt-punktierte Noten werden mit zwei Punkten z. B. Min .. oder 2 .. Tremolandi haben ein oder oder Suffix z. B. Ein gepunktetes Minimum in Semiquavers ist min. Oder 2. und tremolandi-Noten, die durch einen Strahl bilden, bilden einen Brille-Bass. Kleine Noten (z. B. Ornamente) haben am Ende z. B. Smq-s oder 16-s oder qua3.-s oder 163.-s Ein Rhythmus bleibt gültig für alle Noten und Reste in diesem Stab, bis geändert. Pausen und Rohlings Eine Pause in der Mitte des Stabes ist aufgeschrieben. Es kann in die obere Linie durch Ruhe oder weiter durch Ruhe oder Ruhe etc. oder in die untere Zeile von Ruhe oder weiter durch Ruhe, oder Ruhe gebracht werden. Etc. Ein Leerzeichen auf einem Stab ist leer geschrieben Standardmäßig werden Quavers, Semiquavers und Demisemiquavers Schwänze bekommen. Zum Beispiel: 8 F 16 A G Du kannst einen Balken mit einem Charakter am Anfang des Notenstrings starten oder mit einem Charakter am Ende beenden. Auf jedem Stab verfolgt das Muskript zwei Balken, eine für stem-up-Notizen und eine für den Stem-Down, so dass alle Notizen, die Sie mit demselben Balken verbinden möchten, die gleiche Stielrichtung haben. Zum Beispiel: 8 F 16 A G Ebenso wird standardmäßig ein Tremolando-Minimales kleine Tremolando-Marks überqueren. Sie können einen Strahl mit einem beginnen oder mit einem wie oben beenden, und das schließt zwei Tremolando-Minima zu einem Brille-Bass zusammen. Zum Beispiel: 2 G F A In der Nähe der Mitte jedes Schlüssels befindet sich ein c. Diese Anmerkung ist geschrieben c. Und die Notizen darüber sind geschrieben c d eb en f f g g a bb b c b und so weiter bis b und dann weiter mit c. Ebenso sind die Noten unterhalb von B Bb A Ab G F F E Eb D C C B Bb A und so weiter bis C und dann weiter mit B und A. So können Sie auf jedem clef eine Reihe von fast fünf Oktaven ohne 8va Zeichen schreiben. Flats, Sharps, Naturals, Double-Flats und Double-Sharps sind geschrieben b. . N. Bb und nach der Notiz, genau wie theyre ausgesprochen. Wo es Unfälle und Oktavzeichen auf der gleichen Note gibt, muss das Oktavzeichen zuerst sein, z. B. Ab In Akkorde mit benachbarten Tönen auf einem Stamm, muss ein Note-Blob auf die andere Seite des Noten-Stammes bewegt werden. Dies geschieht mit einem x Beispiel: 2 60C D x G62 Semibreves haben keine Notenstämme, und das x verschiebt sie immer nach rechts. Wenn eine Note eine Note in einer anderen Stimme hinterhält, muss einer von ihnen zusammen mit seinem Stamm verschoben werden. (Wenn also die Notiz Teil eines Akkords ist, wird der ganze Akkord nach rechts verschoben.) Dies geschieht mit einem r. Zum Beispiel: Wenn benachbarte Töne beide Zufälligkeiten haben, verbessert sie die Klarheit, um die Zufälligkeiten nach links zu verschieben. Dies geschieht mit einem l. Zum Beispiel: Standardmäßig werden die Stems nach oben gehen, wenn die Note unterhalb der Mittellinie liegt, sonst gehen sie hinunter. Diese Voreinstellung kann durch den Stabbefehl auf All-Up oder All-Down geändert werden. z. B. 1 oder 1, Stems auf einzelne Noten können mit einem oder nach unten mit einem, nach dem Hinweis: z. B. 8 A, B cd 16 c BAG Ties vereint zwei Noten der gleichen Tonhöhe in eine längere Notiz, die sie mit Klammern geschrieben werden (). Slurs assoziieren eine Folge von Noten in eine melodische Phrase, in der Regel gespielt legato sie sind mit curlie-braces geschrieben Krawatten und Slurs sind die gleichen gedruckt, sondern werden anders behandelt von MIDI. Die Bindungen über der Note werden mit (1 oder (3 oder (5 oder 7 oder 9) begonnen und mit einer späteren Note im selben Stab mit 1 oder 3 oder 5 oder 7 oder 9 beendet. Bindungen unterhalb der Note werden mit (2 oder (4 oder (6 oder 8) beendet und mit einer späteren Note im selben Stab mit 2 oder 4 oder 6 oder 8 beendet. Leisten oberhalb der Note werden mit oder oder oder oder bei einer späteren Notiz in derselben Stange mit 1 oder 3 oder 5 oder 7 bzw. 9 begonnen. Unterhalb der Note werden mit oder mit oder oder oder mit einer späteren Note in derselben Stange mit 2 oder 4 oder 6 bzw. 8 begonnen. Standardmäßig beenden sich Bindungen und Bänder in der Nähe des Note-Blob. Wenn du willst, dass man höher steigt, an der Oberseite eines aufsteigenden Stammes, dann füge ein oder mehrere zwischen der Klammer und der Zahl ein. Oder wenn du willst, dass man unter einem untersten Schaft endet, dann ein oder mehrere, zwischen die Klammer und die Nummer einfügen. Zum Beispiel: Bindungen, die beendet werden, ohne begonnen zu haben, gelten als an der nächstgelegenen Doppelstange oder am Anfang der Linie, wenn theres kein Doppelstab in der Weise ist. Damit wird eine Notiz in eine zweite Zeit gelegt. Optionen, die an einer Notiz anhängen, erscheinen, getrennt durch - s, nach irgendwelchen Bindungen oder Briefen, und kurz vor jedem Ende-Akkord oder Endscheinzeichen. Zum Beispiel: 4 Rest B-. 2 c (1-tr-fermata 43 c) 1 B - I3 Ein zu druckendes Text kann durch doppelte Anführungszeichen geschützt werden, z. B. - I sf oder - s 3 - 4 Trills mit einer flachen, natürlichen oder geschärften oberen Note werden durch trb ausgedrückt. Trn oder tr Mehrere Optionen auf der gleichen Notiz werden in der Reihenfolge gedruckt, beginnend in der Nähe des Stabes und wegziehen. Die leere Option druckt nichts, aber lässt einfach eine Lücke, wo die Option gedruckt worden wäre, kann verwendet werden, um Optionen zu vermeiden, die mit Dingen wie Bauschen kollidieren. Eine leere Option funktioniert genauso wie eine leere Option, so dass A-blank-blank-s4 auch als A --- s4 geschrieben werden kann. Standardmäßig werden standardmäßig über dem Stab gedruckt. Sie können unter dem Stab gedruckt werden, indem ein Komma (.) An die individuelle Option angehängt wird, z. B. 4 B, -. 2 c, (1-tr - fermata, Crescendo und diminuendo innerhalb einer Note können mit den - cre - und - dim-Optionen erzeugt werden. Derzeit beeinflussen diese nicht die gedruckte Ausgabe, die sie den MIDIs-Expressionscontroller auf den Notizen-MIDI-Kanal einstellen Parameter (cc11) startet jede Note auf einem Niveau von 100 und kann von 0 bis 127 variiert werden. Beispielsweise erzeugt 2. c - cre20 ein moderates Crescendo oder 2. c - cre20-dim30 erzeugt ein Crescendo für die erste Hälfte Von der Note, gefolgt von einem etwas stärkeren Diminuendo in der zweiten Hälfte. Sie können die Nummer 0 verwenden, zum Beispiel: 2. c - dim0-dim20 erzeugt eine Note, die in der zweiten Hälfte verblasst, das Klavier-Sustainpedal wird aufgenommen , Oder mit der Option - P zurückgeholt und mit der Option "Option" freigegeben, wird das Sostenuto-Pedal mit der Option - Sos aufgenommen oder zurückgenommen und mit - Sos freigegeben und das Una-Corda-Pedal wird mit dem - Una und freigegeben mit - Tre Worten können über dem oberen Stab in der Stange oder in den Lücken zwischen den Stäben oder unter dem unteren Stab gedruckt werden. Schriftart: Das erste Bit des Befehls ist ein Buchstabe oder zwei r bedeutet regelmäßige Schriftart, i Bedeutet kursiv Schriftart, b bedeutet fett Schriftart, ich meine fett kursiv Schriftart und diese können von einem optionalen s, was bedeutet, klein, oder l, was bedeutet, groß ist. Diese Schriftgrößen sind relativ, sie werden entsprechend der durchschnittlichen Stabhöhe im aktuellen System skaliert. ISO-8859-1 Zeichencodierung wird respektiert, so dass z. B. Octal 374 wird als Uuml (U-umlaut) gedruckt. Die UTF-8-Zeichen-Codierung wird ebenfalls beachtet, aber nur für Zeichen innerhalb des ISO-8859-1-Zeichensatzes (aufgrund einer PostScript-Begrenzung) und auch für oelig, die auf eine vertikale Spacing abgebildet ist: Diese Buchstaben können dann sofort verfolgt werden ( Kein Leerzeichen) mit einer Dezimalzahl, die die vertikale Position der Wörter als Anteil der Stablücke bestimmt. Der nächste Platz ist ein Trennzeichen, und der Rest des Befehls ist der zu druckende Text. Wenn der Befehl nach dem, aber vor dem ersten Stab erscheint. Dann werden Worte über dem ersten Stab im System gedruckt, die Zahl drückt die vertikale Position über der oberen Linie, als ein Teil der Höhe des oberen Stabes. Wenn der Befehl zwischen zwei Stäben erscheint. Dann werden die Worte zwischen diesen Stäben gedruckt, wobei die Zahl die vertikale Position über der unteren Linie als einen Teil der Stablücke ausdrückt. Wenn der Befehl nach dem letzten Stab erscheint, aber vor dem nächsten. Dann werden die Worte unter den unteren Stäben im System gedruckt, die Zahl drückt die vertikale Position unterhalb der unteren Zeile, als ein Teil der Höhe des unteren Stabes. Horizontale Textabstand wird meist durch Zahlen mit einem Dezimalpunkt und gefolgt von einer, zwei oder drei Ziffern durchgeführt. Diese Zahlen werden als reservierte Wörter innerhalb der Textzeichenfolgen behandelt, und sie legen den folgenden Text auf, um bei diesem Verhältnis der Balkenbreite zu beginnen. Mehrere Zwischenräume zwischen Textwörtern oder vor dem ersten Wort werden als solche angezeigt, und dies kann für kleine Abstände verwendet werden, wie bei Freu - oder in bl1.1 Zuerst die Beispiele: Innerhalb des Muskripts. Es gibt drei Arten von MIDI-Befehlen: Globale Befehle, die alle Stäbe beeinflussen, den New-Bar-Befehl, der das Tempo regelt, und In-A-Stave-Befehle, die nur einen Stab beeinflussen (wie entweder 1 oder 2). Auch MIDI-bezogene sind die - cre und - dim Note-Optionen. Welche Änderungen der Dynamik innerhalb der Note machen. Globale MIDI-Befehle Trailing-Kommentare können durch ein Zeichen eingeführt werden und werden von muscript ignoriert. Midi-Kanal 2 Bank 87,65 Patch 56 Dies weist den Synthesizer an, Bank MSB87 LSB65 auszuwählen und seinen Patch 56 dem MIDI-Kanal 2 zuzuordnen. Das Wort Patch ist MIDI-sprechen für einen bestimmten Instrumental-Sound. Dieser Befehl würde normalerweise an die Spitze der Muskriptdatei kommen. Die Kanal-Nummer kann von 0 bis 15 sein (außer 9 ist im General-MIDI reserviert). Die Patch-Nummer kann alles von 0 bis 127 sein. Die Bank-Nummer ist in zwei Teile, getrennt durch ein Komma (keine Leerzeichen). Der erste Teil ist das MSB (das meiste-signifikante Byte) und das zweite ist das LSB (am wenigsten signifikant-Byte) entweder Byte kann alles von 0 bis 127 sein. Seit Version 3.1g kann das LSB weggelassen werden (viele Synths ignorieren es sowieso). Es ist nur sinnvoll, die Bank anzugeben, wenn Ihr Synthesizer im Patch-Modus ist (in der Tat, die Angabe einer Bank kann Ihren Synth in seinen Patch-Modus erzwingen) siehe unten: Normalerweise wird Ihr Synthesizer im General-MIDI-Modus sein, den der General-MIDI-Standard definiert Besondere Zahlen für gemeinsame Instrumente. Wie 0 ist ein Flügel, 25 eine Stahlsaiten-Akustikgitarre, 65 ein Alt-Saxophon, etc. General-MIDI-Kanal 9 ist für Percussion-Sounds reserviert. Wenn Ihr Synthesizer im Patch-Modus ist. Dann solltest du es aufrichten, um auf einen bestimmten Kanal zu hören (bewusst sein, dass dein Synthesizer die Kanäle 1-16 nummerieren kann). Dann wird das Muskript nur diesen Kanal benutzen können und du kannst nur einmal einen Patch abspielen. Patch-Modus ist nicht mehrfach-timbral :-( Wenn dein Synthesizer im Performance-Modus ist, hoffentlich hast du bereits eine Performance ausgewählt und konfiguriert Verschiedene Kanäle (oder Teile) Weitere Informationen finden Sie in Ihrem Synthesizer-Handbuch. Midi-Kanal 2 Vibrato 60 Rate 40 Verzögerung 70 Dies fragt den Synthesizer, um die Vibrato-Parameter auf Kanal 2 einzustellen. In all diesen Nummern repräsentiert 50 die vibratorischen Standardeinstellungen dieses Patches , 100 stellt das Maximum und 0 das Minimum dar. Für Notiz-zu-Noten-Änderungen an der Vibrato-Tiefe gibt es einen entsprechenden In-Stave-Befehl. Midi channel 5 pan 80 reverb 45 chorus 90 Dies fragt den Synthesizer zu Pan Channel-5 80 (45) Reverb, und um einen schweren (90) Chorus-Effekt hinzuzufügen Die Pan-Nummer kann alles von 0 (voll links) bis 100 (ganz rechts) sein. Für Note-by - Anmerkung Änderungen gibt es einen entsprechenden In-Stave-Befehl. Die Reverb-Nummer kann von 0 (trocken) bis 50 (Standard) bis 100 (Nachhall wie möglich) sein. Die Chorus-Nummer kann von 0 bis 100 sein. Midi channel 5 patch 73 transpose 12 Damit werden alle Noten auf Kanal 5 um eine Oktave (zwölf Halbtöne) umgesetzt. Für Notiz-by-Note-Änderungen, die alle Noten zu einem bestimmten Stab bestimmen. Es gibt einen entsprechenden In-Stave-Befehl. Midi gm 2 Dies zwingt den Synthesizer in den General-MIDI-Modus (siehe oben), General-MIDI-2 in diesem Beispiel. Andere mögliche Werte sind gm 1 für General-MIDI-1 oder gm off, die den Synthesizer in einen seiner Nicht-General-MIDI-Modi steckt, siehe dein Synthesizer-Handbuch für weitere Details. Die Befehle gm 1 und gm 2 sind mit dem oben beschriebenen Bankbefehl nicht kompatibel. Siehe: wikipedias Vergleich von MIDI-Standards. Midi pause 3.9 Dies fügt eine Pause in der Ausgabe ein, von 3,9 Sekunden in diesem Beispiel, wie Sie es vielleicht verwenden, um zwei Bewegungen oder zwei Songs zu trennen. Kleine Pausen, wie zB 0,02 oder 0,4 Sekunden, können als ausdrucksvolles Gerät zwischen Balken verwendet werden, wie die luftpause in der klassischen Musik. Dieser Befehl ist nur zwischen Balken, nicht zwischen verschiedenen Stäben in der gleichen Leiste nützlich. Midi cents -100 temperament kirnberger Dieser Befehl richtet das Tuning und Temperament, A415 und Kirnberger Temperament in diesem Beispiel (eine typische Wahl für barocke Musik). Cent kann, seit Version 3.1u. Sei eine beliebige Zahl zum Beispiel, -100 bedeutet ein Halbton nach unten (A415), 250 bedeutet zweieinhalb Halbton nach oben. Cents ist ein globaler Befehl (er ruft die GM2 Master Fine Tuning und Master Coarse Tuning Sysexen) und gilt für alle Kanäle. Das Temperament kann entweder gleich sein (die Vorgabe, in der das fehlende Komma von allen zwölf Fünftel geteilt wird) oder vanbiezen (das fehlende Komma wird unter sechs der Fünftel FCGDAEB geteilt) oder kirnberger (das Komma wird unter den vier Fünftelen geteilt CGDAE und CE ist perfekt) Midi-Barlines und Midi-Barlines aus Wenn Barlines eingeschaltet sind, werden Marker-Events in den MIDI-Ausgang eingefügt, um die Barlines zu markieren. Midi off und midi on Diese Befehle schalten den Midi-Ausgang aus und an und sind nützlich, um die ersten Takte zu unterdrücken, oder für das Korrekturlesen, während Sie ein Stück eingeben (um nicht das ganze Stück zu hören, jedes Mal wenn Sie sparen und machen ).MIDI New-Bar Befehle Der new-bar Befehl ist der Ort, um MIDI über Tempo zu erzählen. Zuerst kommt eine Zeit Unterschrift (das ist nur MIDIs Verständnis der Zeit Signatur es wird nicht gedruckt) und dann kommt die Länge der Bar in Sekunden. Zum Beispiel könnte der new-bar-Befehl für ein Stück in 44 mal bei 120 beatsmin sein: 44 2.0 Wie im Befehl bar können wir die Längen der Teile der Leiste angeben. Zum Beispiel, wenn wir ein Ritardando wünschen, könnten wir verwenden: 44 0,5 0,54 0,6 0,68 Dies kann auch verwendet werden, um Swung-Achteln in Jazz - oder Ineacutegale-Achteln in Barockmusik oder in irischer Musik oder für Wiener Walzer zu erzeugen. Zum Beispiel könnte eine Irische Jig beginnen: 68.19 .14 .17 .19 .14 .17 1 Höhen 2 68 8 A B A A F D Upbeats oder in allgemein Stäben unterschiedlicher Länge müssen ihre eigenen Ad-hoc-Längen gegeben werden. Zum Beispiel: 14 .55 1 Bass 2b 4 F 44 2.2 1 2 B 4 A B Alternativ zu Sekunden können Sie auch ein Tempo in Schlägen pro Minute angeben. Muscript entscheidet, was ein Beat bedeutet, indem er seine Zeit-Signatur konsultiert. In 24 oder 34 oder irgendetwas4 dann ist ein Beat ein Viertel, und in 22 oder 32 oder irgendetwas2 dann ist ein Beat ein Minimum. Aber in 38 oder 68 oder 98 etc. ist der Beat ein punktierter Crotchet, während bei 28 oder 48 oder 58 oder 78 etc. der Beat ein Quaver ist. Ähnlich für 316 oder 616 oder 916. (Muscript muss noch die Timesignatur kennen, also hast du immer noch die Balken, wenn ihre Länge variiert.) Diese Tempo-Information ist persistentes Muskript erinnert es von Bar zu Bar und setzt es automatisch wieder ein. In-A-Stave-MIDI-Befehle Dies sind alle Ein-Wort-Befehle (keine Leerzeichen), die mit Noten und Rhythmen in einer Stablinie intermixieren können. Sie ändern die Einstellungen für diesen Stab (wie 1 oder 2). Sie treten sofort in Kraft und bleiben auf demselben Stab in den folgenden Stäben in Kraft. Alle diese Befehle können mit ihren ersten drei Buchstaben abgekürzt werden. Cha2 oder cha35 Damit wird der Midi-Kanal auf 2 im ersten Beispiel gesetzt. General-MIDI-Kanal 9 ist für einen Rhythmus-Satz reserviert, d. h. Drumkits, Percussion, etc. Wenn seine andere Kanalnummer, hoffentlich haben Sie bereits einen Patch zugewiesen. Wenn Ihr Synthesizer im Patch-Modus ist, muss dieser Befehl denselben Kanal angeben, den der Synthesizer hört, siehe Patch-Modus oben. Seit 3.1v kann ein einzelner Stab Notizen auf mehreren Kanälen aussenden, zu den Kanälen 3 und 5 im zweiten Beispiel. Dies ermöglicht eine automatische Verdoppelung der verschiedenen Patches auf dem einen Stab. In Verbindung mit der transpose global-midi-Option erlaubt es auch eine Verdopplung an der Oktave, zB: Cello verdoppelt durch Kontrabass eine Oktave nach unten oder Violine verdoppelt durch Flöte eine Oktave oben. Tra-2 Dies führt dazu, dass Notizen erzeugt werden 2 Halbtöne niedriger als notated, was ist, was Sie auf einem Stab für eine Trompete in Bb verwenden könnte. Für ein Piccolo kannst du Tra12 benutzen (es sei denn du hast es schon einen Treble8va Clef gegeben). Vol73 oder vol10 oder vol-10 Damit wird die Lautstärke in einem Bereich von 0 bis 127 eingestellt (das Standardvolumen beträgt 100). Auch erlaubt sind inkrementelle Lautstärkeänderungen wie vol10 oder vol-5 Die G-emph Note-Option funktioniert genauso wie vol10 G vol-10, außer dass die Note-Option als Teil der Partitur gedruckt wird, während der Befehl vol nicht funktioniert Gedruckt werden, ist es Teil der Interpretation. Der Befehl vol verwendet den MIDIs-Velocity-Parameter, um die Start-Volume-Änderungen der Dynamik innerhalb der Note festzulegen, mit den - cre - und - dim-Notenoptionen. Die den MIDIs-Expressionscontroller verwenden. Leg9 Dies setzt das Legato auf 99 in diesem Beispiel. Leg100 produziert einen vollen legato kann man eigentlich über 100 hinausgehen und ein über-legato produzieren. Die Standard-Legato ist 85, eine Art mittel-deacutetacheacute. Die - stacc-Note-Option verringert die Noten legato um etwa die Hälfte. Vib80 Dies setzt die Vibrato-Tiefe auf 80 oder 50 in diesen Beispielen. Wie oben im Global MIDI-Bereich, stellt 50 die Standard-Vibrato-Tiefeneinstellung dieses Patches dar und 100 stellt das Maximum dar. Pan73 oder pan10 oder pan-10 Das schwenkt den Kanal. Wie im Global MIDI-Bereich kann die Pan von 0 (links) bis 50 (Mitte) bis 100 (rechts) reichen, aber hier sind auch inkrementelle Änderungen erlaubt, z. B. Pan10 oder pan-5 bend73 oder bend1 oder bend-10 Diese Tonhöhe - beugt den Kanal mit dem Befehl MIDI pitchwheel. Die Biegung kann von 0 (standardmäßig 2 Halbtöne nach unten) bis 50 (normale Abstimmung) bis 100 (standardmäßig 2 Halbtöne nach oben) reichen. Inkrementelle Änderungen sind auch erlaubt, z. B. Bend2 oder bend-1 cc73108 Hiermit wird der Parameter MIDI Control-Change in diesem Beispiel eingestellt. Controller 73 (Angriffszeit) ist auf 108 (0..127) eingestellt. Be aware that the actual effect that these CC parameters have on the sound is often quite synthesiser-dependent. Any line beginning with is treated as a comment, and will appear as a comment in the PostScript output. In - midi mode it appears as a MIDI marker event at the start of the current bar. Since version 3.1h. two mode-dependent, conditional comments are introduced. Any line beginning with P is ignored as a comment except in PostScript-mode, when it just gets those two characters stripped of and is treated as a normal line. Likewise, any line beginning with M is ignored as a comment except in MIDI-mode, when it gets those two characters stripped of and is treated as a normal line. This allows a line to be given a PostScript-version to be printed in the score, and a MIDI-version (e. g. ornamented) to be performed. Otherwise, any line beginning with is treated as a comment, and ignored completely. Output can be generated for various page sizes: Auto only works as long as the output remains in PostScript form if it is translated into PDF the autodetect power is lost and the page size becomes fixed by the translation process. Therefore, if you want to generate PDF to publish scores globally, you should use the - compromise option. See also the a42us utility script. As from version 3.2h, muscript is available in two implementations, one in Perl . and a new translation into Lua . The intention is to support both, and keep their version-numbers in sync. It must be said that the Lua version runs more than twice as fast. The current version of muscript for Perl is available by http at pjb. aumuscriptmuscript. To install it, save it to disc, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Youll also need to install the MIDI and the Text::ParseWords modules from cpan. org The current version of muscript for Lua is available by http at pjb. aumuscriptmuscriptlua. To install it, save it to disc, rename it muscript and move it into your PATH, make it executable, and if necessary edit the first line to reflect where lua is installed on your system. Youll also need to install the MIDI. lua module, eg: luarocks install midi All these files are now on git and can be downloaded by: git clone githubpeterbillammuscript Various tools exist to manipulate muscript input and PostScript output and MIDI output. To install one of the scripts, move it into your PATH, make it executable, and if necessary edit the first line to reflect where perl is installed on your system. Tools for handling muscript input: 8va This simple filter transposes up or down the octave. For example, in vi . 8va raises the current bar one octave, or. 8vab lowers the current bar one octave. 8vab This transposes down the octave. (It is the same file as 8va its behaviour changes according to the name under which it is invoked.) transpose This filter transposes up or down a given number of semitones. It now handles keysignatures, and persistence of accidentals within a bar. Z. B. this would transpose its input up seven semitones: transpose 7 There is a - k option to force a keysignature onto the input. Z. B. in vi . this would transpose the current line down 3 semitones, considering it to have a 4-flats keysig even if thats not explicit in the current line (i. e. if it was set earlier in the file): . transpose -3 - k 4b There is also a - a option which generates output without a keysig, using accidentals only, e. g. transpose 2 - a There is also a - s option to transpose only one stave. Z. B. this might convert a piece for flute and piano, into a piece for Bb-clarinet and piano: transpose 2 - s 1 tempo This filter changes the midi tempo of a muscript file by a fixed proportion. It has no effect on the PostScript output. For example, tempo 1.05 speeds a piece up by 5 percent. Or, tempo 0.95 makes a piece 5 percent slower. Z. B. to generate multiple practice-versions of a piece, with different tempi: 4hands2score This converts muscript for piano-four-hands (i. e. with one player reading the left-hand page and the other reading the right-hand page) into a single score, for example for feeding into muscript - midi for proofreading. muscript2video This converts muscript into an. avi video ready for uploading into youtube . You will have to repaginate the file specially to the 1280x720 format. It generates a soundtrack using muscript - midi feeding into timidity . and typesets each page using muscript and eps2jpg and synchronises the page-turns with the soundtrack. Then it uses mencoder to convert the. jpg files to the. avi file. This program was used to generate the Youtube - videos, for example, of the Trio with Guitar Tools for handling PostScript output: muscriptps2svg This script converts PostScript (or EPS) output produced by muscript (2.8i or greater) into SVG (Scaleable Vector Graphics) format. It has a - p option to convert a particular page. It needs the SVG Perl module, available from search. cpan. org eps2jpg and eps2png When the input file contains a boundingbox command, then muscript will generate Encapsulated-PostScript (EPS) output, which can be inserted into word-processing or desktop-publishing documents. The Perl script eps2jpg converts this EPS into JPG format (with a white background), which can be used in web pages especially if they also have white backgrounds. Or when called under the name eps2png it converts the EPS into PNG format. Or when called with the - t option it converts the EPS into PNG format with a transparent background, which can be used in web pages even if they have non-white backgrounds. eps2jpg and eps2png are the same script, so you can download just one and use ln to link it to the other. They produce their output on stdout. so you can redirect it wherever you want it. See perldoc pgn2jpg or perldoc pgn2png a42us This converts the muscript PostScript output from A4 page size to US Letter page size. There is also a a42us - c option which generates the global-distribution compromise format (A4 width and Letter height). See also PageSize. Tools for handling MIDI output: midiecho Simulates a tape-delay reverb on a particular MIDI-channel by issuing repeated noteon events with diminishing volume. midiedit Edits a MIDI file in a human-readable text-format. mididump Dumps a MIDI file contents in a human-readable text-format. midisox Midisox is a tool for working on MIDI files, with a calling interface modelled, as far as possible, on that of SoX . which is a well-established tool for working on audio files. Future Enhancements Titles should not be tied to the top of the page at system-layout time, vertical space should be allocated for titles. Dynamics, e. g. as note-options, should be recognised by MIDI. Hairpin-style crescendo and diminuendo marks. In close chords, the necessary note-heads might be placed automatically on the wrong side of the stem, instead of manually with an x . Beams, Ties and Slurs should be able to join notes on different staves within the same system. Beams should be able to join stem-up with stem-down notes. Turns need sharps flats and naturals, both above and below MIDI should interpret trills, mordents, turns, fermata and repeats. Syntax is needed for 8va and 8vab, and 1st and 2nd-time bars, so that MIDI can handle them too. What is really needed is an ftp archive of scores in PostScript . so that anyone can print them out and use them. I think it should standardise on gzipped files, and encourage the submission of A4 and USLetter versions of everything. Of course the composers would have to be dead more than 70 years (or the pieces would have to be publicly copiable and redistributable) and someone would have had to re-typeset the pieces. The reward is immortality, a permanent priceless contribution, no less. The way to further the musical art is to make the scores freely and permanently available. End of soapbox. You might also want to check out Lilypond . a program which generates PDF and MIDI output. The input text language is called mudela . Included is a utility musicxml2ly which imports MusicXML. MusicXML is a widely adopted music-interchange format. MuseScore is a WysiWig music typesetter which also does drum-notation and guitar-tablature and will import MusicXML JFugue . an open-source library for programming music in Java, can read and write both MIDI and MusicXML. FreeDots translates MusicXML into Braille. Mup is shareware written in C, which takes text input and produces PostScript or MIDI. MusiXTeX . which forms the infrastructure for a great deal of related software abc . designed primarily for folk and traditional tunes such as Irish, English and Scottish, which can be written on one stave in standard classical notation M-Tx . a music-from-text language that operates as a front end to PMX, which in turn is a front end to MusiXTeX musixlyr . a MusiXTeX extension for convenient lyrics handling PMX is a pre-processor for MusiXTex. It can also output a MIDI file. A version is available for MacOS. noteedit is a GUI utility to translate between Mup, MusiXTeX, PMX and Lilypond formats, and can import MIDI and MusicXML files. music-notation. infoencompmusnotationformats. html and ace. acadiau. cascoreothers. htm inkguides is a collection of PostScript and GhostScript resourcesExifTool is also available as a stand-alone Windows executable and a Macintosh OS X package . (Note that these versions contain the executable only, and do not include the HTML documentation or other files of the full distribution above.) The stand-alone Windows executable does not require Perl. Just download and un-zip the archive then double-click on exiftool(-k).exe to read the application documentation, drag-and-drop files and folders to view meta information, or rename to exiftool. exe for command-line use. Runs on all versions of Windows. The OS X package installs the ExifTool command-line application and libraries in usrlocalbin. After installing, type exiftool in a Terminal window to run exiftool and read the application documentation. Read the installation instructions for help installing ExifTool on Windows, Mac OS X and Unix systems. Powerful, fast, flexible and customizable Supports a large number of different file formats Reads EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. FlashPix. AFCP. ID3 and more. Writes EXIF. GPS. IPTC. XMP. JFIF. MakerNotes, GeoTIFF. ICC Profile. Photoshop IRB. AFCP and more. Reads and writes maker notes of many digital cameras Decodes a riddle wrapped in a mystery inside an enigma Numerous output formatting options (including tab-delimited, HTML, XML and JSON) Multi-lingual output (cs, de, en, en-ca, en-gb, es, fi, fr, it, ja, ko, nl, pl, ru, sv, tr, zh-cn or zh-tw) Geotags images from GPS track log files (with time drift correction) Generates track logs from geotagged images Shifts datetime values to fix timestamps in images Renames files and organizes in directories (by date or by any other meta information) Extracts thumbnail images, preview images, and large JPEG images from RAW files Copies meta information between files (even different-format files) Readswrites structured XMP information Deletes meta information individually, in groups, or altogether Sets the file modification date (and creation date in Windows) from EXIF information Supports alternate language tags in XMP. PNG. ID3. Font. QuickTime. ICC Profile. MIE and MXF information Processes entire directory trees Creates text output file for each image file Creates binary-format metadata-only (MIE) files for metadata backup Automatically backs up original image when writing Organizes output into groups Conditionally processes files based on value of any meta information Ability to add custom user-defined tags Support for MWG (Metadata Working Group) recommendations Recognizes thousands of different tags Tested with images from thousands of different camera models Advanced verbose and HTML-based hex dump outputs If you find the need to use find or awk in conjunction with ExifTool, then you probably havent discovered the full power of ExifTool. Read about the - ext. - if. - p and - tagsFromFile options in the application documentation. (This is common mistake number 3 .) In my experience, nothing but nothing is as complete, powerful, and flexible as Phil Harveys exiftool. Ive never seen anything thats in the same ballpark for power. - dpreview forum While there are a lot of image tools available, nothing comes close for accessingupdating the metadata like ExifTool - mergs blog Fast, reliable and amazingly comprehensive. - CPAN ratings . the one piece of free software that gets the most detailed exif data of any tool Ive found. - gnome mail archives ExifTool makes every other EXIF reader (and writer) than Ive seen, including the camera manufacturers readers, look lame. - photo Nikon forum Insanely great tool with a long learning curve. - Adobe Forums . its super awesome, its super reliable and after many years of development its still being updated - PW999 blog . it is the mother of all EXIF utilities the BFG of meta-data extraction the Pan Galactic Gargle Blaster of EXIF tools. This thing will suck the last bit of metadata out of whatever image file you throw at it - Open Photography Forums . it is total fucking gibberish to me. - Reddit Linux Questions ExifTool can R ead, W rite andor C reate files in the following formats. Also listed are the support levels for EXIF, IPTC, XMP, ICCProfile and other metadata types for each file format. (preview image written after JPEG EOI) 1 All trailers except Samsung and PreviewImage also have RW support in TIFF images. Requires Perl 5.004 or later. No other libraries or software required, but some optional Perl modules may be added to enable certain ExifTool features (for details, see the DEPENDENCIES section of the README file included in the full distribution). Windows users: A stand-alone Windows executable version of ExifTool is available which doesnt require Perl. You can also use the pure Perl version if you already have Perl installed. (You can get a good, free Perl interpreter from activeperl .) Everyone else (Mac, Unix, etc): Dont worry, you already have Perl installed. The exiftool application provides a convenient command-line interface for the Image::ExifTool Perl package (both included in the full distribution). Once you have downloaded and extracted the distribution, you can immediately run exiftool (without building or installing) by typing DIR exiftool FILE (or perl DIR exiftool FILE in Windows), where DIR is the exiftool directory and FILE is the name of an image file, including directory name. Read the installation instructions or the README file included in the full distribution for help installing ExifTool. Many command-line options are available to allow you to access a wide range of features. Run exiftool with no arguments for a complete list of available options with examples . Running in Windows i) From the command line: The Perl application ( exiftool ) is run by typing perl exiftool . Alternately, you may be able to rename it to exiftool. pl and type exiftool. pl , but this requires that the proper Windows associations have been made for the the. pl extension. The stand-alone version ( exiftool(-k).exe ) should be renamed to exiftool. exe to allow it to be run by typing exiftool at the command line. If the exiftool executable ( exiftool. pl or exiftool. exe ) is not in the current directory or your system PATH, then its directory must be specified on the command line (eg. by typing c:pathtoexiftoolexiftool. pl or c:pathtoexiftoolexiftool ). Note that when typing commands in the cmd. exe shell, you should use double quotes instead of single quotes as shown in some examples. ii) Stand-alone version in the Windows GUI: Double-click on exiftool(-k).exe to read the application documentation, or drag-and-drop files and folders to run exiftool on the selected files. Simple options may be added inside brackets in the name of the stand-alone executable. (But note that the characters :ltgt may not be used because they are invalid in Windows file names.) In this way, the behaviour of the drag-and-drop application can be customized. For example: Verbose and HtmlDump Output The Verbose ( - v ) and HtmlDump ( - htmlDump ) options print additional information that can be very useful for debugging or when decoding new tags. A tag name is a handle that is used to refer to a specific piece of meta information. Tag names are entered on the command line with a leading - , in the order you want them displayed. Case is not significant. The tag name may be prefixed by a group name (separated by a colon) to identify a specific information type or location. A special tag name of All may be used to represent all tags, or all tags in a specified group. For example: A complete list of ExifTool Tag Names accompanies this documentation. As well, current lists of available tag names and writable tag names may be obtained using the exiftool - list and - listw options. But perhaps the easiest way to determine a tag name is to use the - s option to print the tag names instead of descriptions for all information in a file. It may also be helpful to use the - G option to display the group names, and the - H or - D option to print the numerical tag IDs for reference. Tag names sometimes differ from their descriptions. Use the - s command-line option to see the actual tag names instead of the descriptions shown when extracting information. When extracting information, tags will not appear in the output unless they exist in the file, even if they are specified on the command line. The - f option may be used to force all specified tags to be displayed (not including tags specified with wildcards or by - GROUP:all ). Information for a given tag name may occur in multiple locations within a single file. By default these duplicate tags are suppressed, but the - a option may be used to extract all tags. Tag names may be suffixed by a character to disable the print conversion on a per-tag basis. See the - n option in the application documentation for more information. Shortcut tags represent one or more other tags, and are used like any other tag when reading, writing or copying information. ExifTool defines a few shortcut tags in the Image::ExifTool::Shortcuts module, and allows users to define their own shortcuts in a configuration file called. ExifToolconfig in their home directory or exiftool application directory. Here is a simple example that defines two shortcuts: In this example, MyShortcut is a shortcut for the CreateDate, ExposureTime and Aperture tags, and MyAlias is a shortcut for FocalLengthIn35mmFormat. The current shortcuts may be listed with the - list option..ExifToolconfig file may also be used to define new tags. For more information about the configuration file, see the sample configuration file included with the ExifTool distribution. Windows tip: You may have difficulty generating a filename beginning with a . in the Windows GUI, but it can be done with the rename command at the cmd. exe prompt. ExifTool classifies tags into groups in five different families. These groups are: 0 (Information Type) AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, H264, HTML, ICCProfile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus, PDF, PICT, PLIST, PNG, PSP, Palm, PanasonicRaw, PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, SVG, SigmaRaw, Stim, Theora, Torrent, VCard, Vorbis, XML, XMP, ZIP 1 (Specific Location) AC3, AFCP, AIFF, APE, ASF, AVI1, Adobe, AdobeCM, AdobeDNG, Apple, Audible, CIFF, Canon, CanonCustom, CanonRaw, CanonVRD, Casio, Chapter, Composite, DICOM, DJI, DNG, DV, DjVu, DjVu-Meta, Ducky, EPPIM, EXE, EXIF, ExifIFD, ExifTool, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, FujiFilm, FujiIFD, GE, GIF, GIMP, GPS, GeoTiff, GlobParamIFD, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICCProfile, ICCProfile, ID3, ID3v1, ID3v1Enh, ID3v22, ID3v23, ID3v24, IFD0, IFD1, IPTC, IPTC, ISO, ITC, InteropIFD, JFIF, JPEG, JPEG-HDR, JVC, Jpeg2000, KDCIFD, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0, MPImage, MXF, MakerNotes, MakerUnknown, Matroska, MediaJukebox, MetaIFD, Microsoft, Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-RJMD, Reconyx, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF, SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent, Track, VCalendar, VCard, Version0, Vorbis, XML, XMP, XMP-DICOM, XMP-GPano, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-cell, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP Audio, Author, Camera, Document, ExifTool, Image, Location, Other, Preview, Printing, Time, Unknown, Video 3 (Document Number) Sets tag value from contents of specified file dagger See the Writer Limitations for some limitations of this feature. Quotes are required around VALUE if it contains spaces or other special characters, and around the whole argument if the lt syntax is used (to prevent shell redirection). A special feature allows the print conversion to be disabled on a per-tag basis by suffixing any tag name (including all ) with the character. This has the same effect as the - n option, but for a single tag. See the - n option in the application documentation for more details. Note: Changes to PDF files are reversible because the original metadata is never actually deleted from these files. See the PDF Tags documentation for details. Group Priorities ExifTool prioritizes the following types of meta information when writing: Many tag names are valid for more than one of these groups. If a group name is not specified when writing information, then the information is added only to the highest priority group for which the tag name is valid (however, the information is updated in all groups where the tag already existed). The priority of the groups is given by the list above. Specifically, this means that new information is added preferentially to the EXIF group, or to the IPTC group if no corresponding EXIF tag exists, or finally to the XMP group. Alternatively, information may be written to a specific group only, bypassing these priorities, by providing a group name for the tag. The Writing Meta Information section above gave the syntax rules for exiftool command-line arguments to do this. Any family 0, 1 or 2 group name may be used when writing information, although not all groups are writable. The - tagsFromFile Option A special ExifTool option allows copying tags from one file to another. The command-line syntax for doing this is - tagsFromFile SRCFILE . Any tags specified after this option on the command line are extracted from source file and written to the destination file. If no tags are specified, then all writable tags are copied. This option is very simple, yet very powerful. Depending on the formats of the source and destination files, some of tags read may not be valid in the destination file, in which case they arent written. This option may also be used to transfer information between different tags within a single image or between different images. See the - tagsFromFile option in the application documentation for more details. ExifTool will not rewrite a file if it detects a significant problem with the file format. ExifTool has been tested with a wide range of different images, but since it is not possible to test it with every known image type, there is the possibility that it will corrupt some files . Be sure to keep backups of your files. Even though ExifTool does some validation of the information written, it is still possible to write illegal values which may cause problems when reading the images with other software. So take care to validate the information you are writing. ExifTool is not guaranteed to remove metadata completely from a file when attempting to delete all metadata. For JPEG images, all APP segments (except Adobe APP14. which is not removed by default) and trailers are removed which effectively removes all metadata, but for other formats the results are less complete: JPEG - APP segments (except Adobe APP14 ) and trailers are removed. TIFF - XMP, IPTC and the ExifIFD are removed, but some EXIF may remain in IFD0. PNG - Only iTXt, tEXt and zTXt chunks (including XMP) are removed. PDF - The original metadata is never actually removed. PS - Only some PostScript and XMP may be deleted. MOVMP4 - Only XMP is deleted. RAW formats - It is not recommended to remove all metadata from RAW images because this will likely remove some proprietary information that is necessary for proper rendering of the image. Some antivirus software has been known to cause problems for the Windows version of ExifTool. Norton Antivirus may delete ExifTool when it is run, Windows Defender may slow down launching of ExifTool or hang it altogether, and Bitdefender Antivirus may block ExifTool from writing files. Presumably this is due to the way the ExifTool package for Windows works -- it unpacks executable files into a temporary directory and runs from there, which apparently may be seen as a threat by antivirus software. A work-around is to add ExifTool to the exclusion list of the antivirus software. Adobe Camera Raw and DNG Converter 9.5.1 fail to recognize edited Samsung SRW images from some models (NX30, NX300, NX2000 and EK-GN120). This problem was fixed for the NX models in ExifTool 10.26, but remains for the EK-GN120 In Windows . ExifTool will not process files with Unicode characters in the file name . This is due to an underlying lack of support for Unicode filenames in the Windows standard C IO libraries. This deficiency was addressed in ExifTool 9.79, and ExifTool now supports Windows Unicode file names with some exceptions. See the WINDOWS UNICODE FILE NAMES section of the application documentation for details. Memory available to ExifTool in the Windows EXE version is limited to a few hundred MB. This limitation has been known to cause unreasonably long processing times (almost 7 minutes) for some large EPS files ( 200 MB) which are processed much faster by the Perl version (lt 6 seconds). Apple Spotlight and Preview (OS X 10.8.5) and Adobe Photoshop CC (version 14.0) ignore XMP in PNG images if it comes after the image data, which is where ExifTool adds new XMP. This should be considered as a bug in the Apple and Adobe software since XMP is allowed to exist after the image data according to the XMP and PNG specifications. ExifTool 9.40 provides the PNGEarlyXMP API option to allow writing XMP before the IDAT chunk, but there are caveats associated with its use There is a bug in the Apple RAW file support (OS X 10.4.11) which prevents some edited Pentax PEF images from being displayed properly. Other software such as the Pentax Silkypix software and dcraw have no problems with these images. This bug is fixed in OS X 10.5.4 There is a bug in a number of Adobe utilities which causes some edited Sony ARW images to be displayed with the wrong tone curve. This problem has been observed in Photoshop CS4 Camera Raw 5.6, DNG Converter 5.6 and Lightroom 2.6 with ARW images from the A500, A550, A700, A850 and A900. Other software such as the Sony IDC utility, Apple RAW utilities, dcraw and Capture One have no problems with edited images. This bug is fixed in Camera Raw 6.3 and LR 3.3 Some ExifTool options ( - if. - p. and copying arguments like - DSTTAGltSTR ) have the ability to execute Perl code from within command-line arguments. This may be a security problem if ExifTool is executed from another application that blindly passes untrusted file names on the command line (since they may be interpreted as ExifTool options if they begin with a dash). To be secure, the calling application must ensure that input file names do not start with a dash (U002D) or a Unicode minus sign (U2212). The easiest way to accomplish this is to prefix input file names with a known directory name, eg.).FILENAME . Have you ever forgotten to set the datetime on your digital camera before taking a bunch of pictures ExifTool has a time shift feature that makes it easy to apply a batch fix to the timestamps of the images (eg. change the Date Picture Taken reported by Windows Explorer). Say for example that your camera clock was reset to 2000:01:01 00:00:00 when you put in a new battery at 2005:11:03 10:48:00. Then all of the pictures you took subsequently have timestamps that are wrong by 5 years, 10 months, 2 days, 10 hours and 48 minutes. To fix this, put all of the images in the same directory ( DIR ) and run exiftool: The example above changes only the DateTimeOriginal tag, but any writable date or time tag can be shifted, and multiple tags may be written with a single command line. Commonly, in JPEG images, the DateTimeOriginal, CreateDate and ModifyDate values must all be changed. For convenience, a shortcut tag called AllDates has been defined to represent these three tags. So, for example, if you forgot to set your camera clock back 1 hour at the end of daylight savings time in the fall, you can fix the images with: Note: Not all datetime information is covered by the AllDates shortcut. Specifically, the filesystem datetime tags are not included, and this command will reset FileModifyDate to the current datetime as it should when the file is modified, unless either the - P option is used, or FileModifyDate is set to something else. To shift FileModifyDate along with the other tags, add - FileModifyDate-1 to the command above. By writing a new value to the FileName andor Directory tags, files can be renamed andor moved to different directories. This can be a very powerful tool in combination with the - d (date format) option for organizing images by datetime. For example, the following command renames all images in directory DIR according to the individual files creation date in the form YYYYmmddHHMMSS. ext . Or a new directory can be specified by setting the value of the Directory tag. For example, the following command moves all images originally in directory DIR into a directory hierarchy organized by yearmonthday: Read here for more details about this powerful feature. There is a significant overhead in loading ExifTool, so performance may be greatly improved by taking advantage of ExifTools batch processing capabilities (the ability to process multiple files or entire directories with a single command) to reduce the number of executed commands when performing complex operations or processing multiple files. dagger One exiftool user documented a 60x speed increase by processing a large number of files with a single command instead of running exiftool separately on each file. Also, the - execute option may be used to perform multiple independent operations with a single invocation of exiftool, and together with the - stayopen option provides a method for calling applications to avoid this startup overhead . It has also been observed that the loading time of ExifTool for Windows increases significantly when Windows Defender is active. Disabling Windows Defender may speed things up significantly. The processing speed of ExifTool can be improved when extracting information by reducing the amount of work that it must do. Decrease the number of extracted tags by specifying them individually ( - TAG ) or by group ( - GROUP:all ), and disable the composite tags ( - e ) and the print conversions ( - n ) if these features arent required. Note that the exclude options ( - x or --TAG ) are not very efficient, and may have a negative impact on performance if a large number of tags are excluded individually. The - fast option can significantly increase speed when extracting information from JPEG images which are piped across a slow network connection. However, with this option any information in a JPEG trailer is not extracted. For more substantial speed benefits, - fast2 may be used to also avoid extracting MakerNote information if this is not required. When writing, avoid copying tags (with - tagsFromFile ) or using the - if or - fileOrder option because these will add the extra step of extracting tags from the file. Without these the write operation is accomplished with a single pass of each file. dagger However, note that when the - csv option is used, information from all files is buffered in memory before the CSV output is written. This may be very memory intensive and result in poor performance when reading a large number of files in a single command. The exiftool script provides a command-line interface to the Image::ExifTool Perl library module which is part of the ExifTool distribution. The Image::ExifTool module can be used in any Perl script to provide easy access to meta information. Here is an example of a very simple script that uses Image::ExifTool to print out all recognized meta information in a file: Note that some tag values may be returned as SCALAR references indicating binary data. The simple script above does not handle this case. Below are some free utilities which take advantage of the ExifTool engine: ExifTool GUI for Windows. GUI for viewing meta information with some editing features Metadata. View, edit, extract, copy metadata metadata Auto ISO Tool. GUI front-end for ExifTool to patch Canon ISO information GeoSetter. Utility for showing and changing geo data of image files ExifMixer. GUI extension for the exiftool command-line interface AvPicFaceXmpTagger. Write Picasa 3.5 face recognition information as XMP to your images FileTagSleuth. MP3, ID3 and EXIF viewer PhotoMove. Automatically move photos to directories or folders based on Exif date taken GUI2 for ExifTool. An ExifTool GUI with built-in editor and browser AutoJpegTrunk. Tool to remove all metadata from JPEG images AdvancedRenamer. Rename files and folders from metadata Proxel EXIF Tool. Photoshop plugin based on ExifTool EXIFCopy. Copy all EXIF information between files Random Photo Screensaver. Photo screensaver with metadata display PicaGeoTag. Geolocate your photos Download a stand-alone droplet to extract preview images from RAW files (thanks to Brett Gross) Download three droplets to extract information exiftool must be installed (thanks to Rob Lewis) MacMetaMod. Droplet for adding Keywords to images GPSPhotoLinker. Geotagging on the Mac PhotoGPSEditor and PhotoInfoEditor. Geocoding utilities MetaDataMover (source ): GUI-based automator utility for movingrenaming images CS1ToCR2. Utility that uses Sony GPS-CS1 log files to add GPS information to CR2 images Geotagger. Droplet for inserting GPS coordinates in your photos Raw Photo Processor. Raw converter for Mac OS X GraphicConverter. Full-featured image editor noteworthy, but not free GeoTag. Geotagging application for iPhone and OS X ImageFuser. Fuses multiple exposures of a scene into one image with improved detailexposure GeoNamesTagger. Docklet to easily update image metadata with location specific information SetEXIFData. Addmodify EXIF data in images rawimage: A kfile plugin and thumbnail image handler for RAW formats Hugin. Panorama photo stitcher FotoPreProcessor. PyQt4-based frontend for exiftool to graphically edit metadata ExZenToo. Script for basic ExifTool GUI using Zenity PDFMted. A set of bash scripts for easy viewing and editing of PDF metadata exiftool-zsh-completion. zsh completion for exiftool ImageIngester. Windows and Mac OS X image workflow automator gpsPhoto. Geotag your images from a GPS (GPX) track log renrot. Perl utility to perform various processing tasks on images GPicSync. WindowsLinux utility to geocode photos from a GPX track log and create KML files FlickFleck. Tool to transfer images from memory card, rotate, rename, and organize by date Geotag. Open source Java-based geotagging application PhotoGrok. Java-based GUI front-end for ExifTool to display images organized by any EXIF tag XnView. View and convert graphic files Mapivi. Open-source and cross-platform picture manager ResourceSpace. Open source digital asset management system fixcorruptednef. Utility to fix Nikon D4D600D800D800E NEF images corrupted by Nikon Transfer 1 pyExifToolGUI. Python-based graphical frontend for ExifTool MDQC. AVPreserve tool for metadata quality control across large numbers of digital assets FastPhotoTagger. Add metadata to images (requires Java runtime engine) Digi-libris. Metadata centric software for the automatic organization of your own catalogue FreezeFrame. Photovideo library manager (requires Java 8) Jeffreys Geoencoding Plugin for Lightroom. Geoencode your photos from within Lightroom Metadata Wrangler. Strip selected metadata components from images as they are exported ExifMeta. Make all exif metadata available in Lightroom for lib filtering and smart collections FullMetaExport. Export JPEG images from Lightroom with full metadata LensTagger. Add EXIF information like aperture and focal length for manual lenses DeAspect: Remove aspect ratio information from DNG, CR2 and ORF images to restore full image PhotoStation-Upload-Lr-Plugin. Export photos from LR directly to a Synology PhotoStation C ExifTool. Performance-oriented C interface for the exiftool application (by Phil Harvey) Download sample AppleScript to extract tags into AppleScript record (thanks to Rob Lewis) Download example of a simple Visual C wrapper for exiftool (thanks Mark Borg and 406432979026124) Download C version of simple exiftool wrapper (thanks Willem Semmelink) Download Visual Basic 6.0 example script v1.01 for reading tags with exiftool (thanks Michael Wandel) Sample VB subroutine to extract a preview image (thanks Claus Beckmann) tagInfoSql. SQLite database of ExifTool tag repository, including Perl script (thanks Wernfried) ExifToolIO. NET wrapper for ExifTool, optimized for speed (using VB) ExifToolWrapper. NET wrapper for ExifTool (using C) MiniExiftool. Ruby library wrapper for ExifTool exiftoolr. Ruby wrapper for ExifTool pyexiftool. Python wrapper for ExifTool PyExifInfo. Another Python wrapper for ExifTool PHPExiftool. PHP wrapper for ExifTool (in development) ExifToolPHPStayOpen. ExifTool PHP fast processing script using - stayOpen and Gearman Moss. Collection of Java utilities which includes an exiftool interface im4java. Java interface to ImageMagick, ExifTool, and other image utilities Java ExifTool. Enhanced Java Integration for ExifTool J-ExifTool. Open-source, cross platform Java7 library to readwrite Exif tags in images exiftool-vendored. Blazing-fast, cross-platform Node. js access to ExifTool How to call ExifTool from Delphi. by Bogdan Hrastnik There is still much unknown information in the maker notes for many camera models. (To see this information, run exiftool with the - U option.) In this area, ExifTool is very much a collaborative effort, and development relies heavily on the input from camera owners to help decode new meta information. If you manage to figure out what any of it means, send me an e-mail (phil at owl. phy. queensu. ca) and Ill add your new discoveries to ExifTool . Many thanks to all who have helped so far. Thanks to everyone who has sent in bug reports, comments, or suggestions, and special thanks to the following people for their valuable input andor additions to the code: Malcolm Wotton for his help with the D30 Custom Functions David Anson for his help sorting out binary file problems on Windows Leon Booyens for his suggestions Dan Heller for his bug reports, detailed suggestions and guidance Wayne Smith for his help figuring out the Pentax maker notes Michael Rommel for his bug fixes and additions to the Canon maker notes Joseph Heled for help figuring out some of the Nikon D70 maker notes Joachim Loehr for adding the Casio type 2 maker notes Greg Troxel for his suggestions and for adding ExifTool to pkgsrc Thomas Walter for figuring out some Nikon tags Brian Ristuccia for more information about some Nikon tags Christian Koller for decoding the 20D custom functions Matt Madrid for his testing and feedback Tom Christiansen for his help decoding some Nikon tags Markku Haumlnninen for help decoding tags for the Olympus E-1 Frank Ledwon for decoding many new Olympus tags Robert Rottmerhusen for decoding many tricky Nikon lens data tags Michael Tiemann for decoding a number of new Canon tags Albert Bogner for his image samples, testing and useful suggestions Rainer Houmlnle for decoding a number of new Canon 5D tags Nilesh Patel for his help with the web page layout Jens Duttke for his suggestions, bug reports and help decoding new tags Dave Nicholson for decoding new tags in Pentax and Canon maker notes Bogdan Hrastnik for his feedback, decoding efforts, user support and ExifTool GUI Igal Milchtaich for decoding many Sony A100 tags Laurent Clevy for his work analyzing Canon RAW images Warren Hatch for decoding many Nikon tags Jos Roost for decoding many Sony tags for various models Iliah Borg and LibRaw for decoding many raw development tags This is free software you can redistribute it andor modify it under the same terms as Perl itself . ExifTool is free, but due to popular request I am providing a way for those who feel the need to send me some money. It is really not necessary, but thank you very much if you decide to make a contribution: If you have any comments, suggestions or questions, please post to the ExifTool Forum so other people may benefit from your experiences. (I check the forum at least as often as my email.) Otherwise, if you must contact me directly, my e-mail address is on the first line of the README file in the full distribution. Vielen Dank. - Phil Harvey

Comments

Popular posts from this blog

Forex Gold Trader 4 Download

Binär Optionen Signale Europa Überprüfung

Forex Uhrzeit