Python Sistemden Ses Kaydetme

Başlatan fghty, 30 Kasım 2012 - 18:36:09

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

fghty

PyAudio modülüyle ses kaydetmek istiyorum ama sesi mikrofondan değilde bilgisayarda çalışan programlardaki sesleri kaydetmeliyim. Yani bilgisayarda müzik çalıyorsa bu sesi mikrofon olmadan kaydetmek istiyorum. Bunu nasıl yapabilirim? Bununla ilgili modül var mı?

burk

"""PyAudio example: Record a few seconds of audio and save to a WAVE file."""

import pyaudio
import wave

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "output.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)

print("* recording")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print("* done recording")

stream.stop_stream()
stream.close()
p.terminate()

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()


Sanırsam sadece duyduğu sesi kaydedebiliyor, hani zamanında ucundan bucağından değdim Pyhton'a, yukarıdaki kısmı da olur da eşelemek isteyen çıkarsa diye geçmek istedim; http://people.csail.mit.edu/hubert/pyaudio/

fghty

Hocam kod dediğiniz gibi duyduğu sesi kaydediyor. Mikrofon olmadan bilgisayar seslerini kaydetmeyi daha bulamadım.

if

@fghty, mikrofon olmadan kaydetmek nasıl oluyor? @burk'un paylaştığı zaten mikrofon olsun olmasın çıktıdaki sesi kaydetmiyor mu?

fghty

Mesela bilgisayarda video açtığımızda yada müzik açtığımızda onun sesini kaydetmek için mikrofon olmadan kaydetmek istiyorum. @burk'un paylaştığı kodda kayıt yapmak için mikrofondan gerekiyor.

if


fghty

Python gerekli hocam. Aldığım sesi bluetooth aracılığıyla telefona aktaracam. Telefonda da python olduğu için pythonu kullanıyorum. Szin verdiğiniz linkteki sistemi pythonda yapmak istiyorum.


burk

@if ben anladığımı söyleyeyim, şimdi bizim bir ses dosyamız var, @fghty istiyor ki bu ses dosyası çalınmadan o dosyanın içindeki ses verisini kaydedebilsin. Aslında bu durumda @fghty'ın istediği şeyi ses düzenleme programları daha iyi yapar çünkü burada istenen şey aslında ses dosyası ile ilgili, onun içindeki sesin kaydedilmesi ile değil.

fghty

@burk: Hocam ses dosyası çalınmadan değil de video yada müzik dinlerken oluşan sesi mikrofona ihtiyaç duymadan kaydedecek bişey arıyorum. Üstteki kodlarda hoparlörden ses çıkıcak ve mikrofonda duyduğu sesi kaydecek şekilde. Benim aradığım bu şekilde değil.

burk

Tamam işte madem sesin çalınmasına gerek yok o zaman ilgili dosya üzerinde oynama yaparak istediğiniz veriyi elde etmiş olacaksınız?

fghty

Hocam ben sesi aldığımda direk başka bi yere transfer yapacam. Ses ve video uyumlu olmalı. Yani ses ilerden yada geriden gelmemeli.

burk

Alıntı YapHocam ben sesi aldığımda
İyi de siz ses veya görüntü dosyası çalınmasın istiyorsunuz :)

fghty

Video yada ses çalışacak. Ama kulaklığı taktığımızda dışarı ses vermez bu yüzden üstteki kod kaydetme yapmaz. Yada şöyle diyeyim ben bluetooth yoluyla bilgisayarda çalışan video yada müziğin sesini telefonda çalmasını sağlamak istiyorum. Bilgisayar da pybluez modülünün ses aktarma için foksiyonu var galiba ama nasıl yapılacağını bulamadım. Bu yüzden bende sesi kaydedip telefona aktarmayı düşündüm. Oradan da telefonda ses dosyasını çalıştıracam.

if

@fghty, verdiğim bağlantıdaki uygulamada mikrofona gerek yok. Ses kartından çıkan tüm sesleri yakalıyor. Yani
Alıntı yapılan: fghty - 01 Aralık 2012 - 00:36:31
Szin verdiğiniz linkteki sistemi pythonda yapmak istiyorum.
yapılmışı.

burk

http://forum.ubuntu-tr.net/index.php?topic=34480 konuya benziyor isteğiniz, her ne kadar orada pek bir yol katedememiş olsak da yine de bir bakın.

fghty

Tam olarak aradığım paylaştığınız linkteki ama orada da çözüm bulunmamış gibi.

travego0403

Şimdi programcı gözüyle bakarsak, dosyayı açmalı ve işlemelisiniz. Tabi açtığınız dosya hakkında bilgi sahibi olmanız gerekiyor.  Örneğin dosyamızı açtık ve diyelim ki dosyamızın 0-200 byte arası ses ile alakalı. O zaman bu kısmı okuyup istediğiniz yere gönderebilirsiniz. Hiç video ve ses dosyalarıyla uğraşmadım ama mantık bu şekilde olmalı.
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

fghty

@travego0403: Bu söylediğinizi bi araştırayım. Dediğiniz şekilde yapabilirsem güzel olacak.

burk

O konunun ilerlememiş olmamasının ana sebebi kullanıcının konuya cevap geçmemiş olmasıdır. Orada iki öneri mevcut, denediniz mi?