Zeitgesteuerte Audioaufnahmetools

Post Reply
Message
Author
Tagdriver

Zeitgesteuerte Audioaufnahmetools

#1 Post by Tagdriver »

Hi,

ich bin auf der Suche nach einem Tool mit dem ich zeitgesteuerte Audioaufnahmen anfertigen kann. Ich möchte also angeben, dass mein PC z.B. eine Aufzeichnung von 14 bis 16 Uhr anfertigen soll. Das ganze sollte dann gleich on-the-fly als ogg/mp3 encodiert werden. Ich hatte mal ein wenig gegoogelt und bin auf Waverec gestoßen. Das trift so ziemlich genau meine Anforderungen. Ich will einfach bestimmte Radiosendungen aufzeichnen können wenn ich nicht zu Hause bin. Der Hacken an dem Programm ist leider, dass es ein W32 Binary ist :-)

Auf Freshmeat hatte ich dieses Projekt hier gefunden:

http://www.taolab.it/opensource/flrec/index_en.htm

Das Programm kann zwar schön on-the-fly Oggs bzw. Mp3s erzeugen nur leider nicht zeitgesteuert. Jetzt dachte ich mal daran hier im Forum zu fragen. Kennt jemand ein Programm zum zeigtesteuerten Aufzeichnen von Audio?

gast

#2 Post by gast »

Hallo,
nehm doch einfach ein Konsolenprogramm wie arecord und starte
einen cron-job, der das Programm startetet und einen cron-job, der das
Programm nach der entsprechenden Zeit killt.
Sollte eigentlich funktionieren - eventuell die Aufnahmezeit etwas länger, um
sicherzustellen, daß alles auf der Platte ist. Auch ein sync im kill-script
ist sehr hilfreich (vor dem kill)

Tagdriver

#3 Post by Tagdriver »

Hi,

vielen Dank für den Hinweis! Habe das Programm mal per apt-get installiert und gleich mal ausprobiert. Funktioniert prima. Ogg Vorbis Encoding on-the-fly funktioniert gut mit:

arecord -f cd -t wav | oggenc -q 3 -o mo.ogg -

Jetzt kann ich das also per Script und Cron automatisieren. Eine GUI wäre mir aber trotzdem ganz lieb, damit man schnell mal ein paar Sendungen eintragen kann. Aber so funktionierts erstmal

Tagdriver

#4 Post by Tagdriver »

Ich habe gerade gesehen, dass arecord auch automatisch die Aufnahme beenden kann:

-d, --duration=#
Interrupt after # seconds. A value of zero means infinity. The
default is zero, so if this option is omitted then the arecord
process will run until it is killed.
[/i] (man arecord)

Damit entfällt dann auch das killen des Prozesses und das vorhergehende syncen der HDD.

Tagdriver

#5 Post by Tagdriver »

Habe gerade noch bemerkt das nur der rechte Kanal aufgezeichnet wird und der linke stumm bleibt.

Den Mixer setze ich vor der Aufnahme mit:

amixer sset Line,0 20%,20% unmute captura

Das sieht dann so aus:

oliver@oliver:~$ amixer sset Line,0 20%,20% unmute captura
Simple mixer control 'Line',0
Capabilities: pvolume pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive
Capture exclusive group: 0
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: Playback 0 - 31
Front Left: Playback 6 [19%] [on] Capture [on]
Front Right: Playback 6 [19%] [on] Capture [on]
oliver@oliver:~$


Beide Kanäle sind also auf Capture gestellt.

Da der LineIn Kanal nicht gemutet ist kann ich auch live beide Kanäle korrekt hören. Der Linke Kanal verstummt erst in der Aufnahme. Ich hab auch schonmal eine wav mit arecord aufgezeichnet:

arecord -d 10 -f cd -t wav foobar.wav

Dort ist auch nur der rechte Kanal enthalten.

Ich habe aber vorsichtshalber mal ein paar andere Testfiles mit XMMS abgespielt, dort werden dann beide Stereo Kanäle korrekt wiedergegeben. Es muss also irgendenein Aufnahmeproblem vorliegen.

Hat jemand ne Idee?

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#6 Post by klopskuchen »

Cron ist für regelmässige Aufgaben gedacht. Für einmalige/ spontane zeitversetzte Kommandos
gibt es "at".

Code: Select all

oliver@oliver: at 23:00
warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
at>amixer -und_so_weiter
at> <EOT>
job 1 at 2005-03-09 23&#58;00
oliver@oliver&#58;
Dieses Beispiel startet den amixer um 23Uhr.

Also eingeben: at Zeit. Darauf hin öffnet sich eine Eingabeaufforderung (eine subshell)
in die du den auszuführenden Befehl eingibst. Tastenkombination Str+D beendet die subshell
was durch das <EOT> in der Ausgabe quittiert wird.
Mehr dazu gibts in der manpage.

MfG, Klopskuchen
When all else fails, read the instructions .

Post Reply