10
votes

Enregistrez le son de sortie en python

Je veux enregistrer de manière programmative son sort de mon ordinateur portable à Python. J'ai trouvé pyaudio et proposé le programme suivant qui accomplit la tâche: xxx p> Le problème est que je dois connecter la prise casque à la prise microphone. J'ai essayé de remplacer ces lignes: xxx

avec ceux-ci: xxx

mais je reçois cette erreur:

Traceback (appel le plus récent):

Fichier "./test.py", ligne 25, de
Data = flux.Read (Chunk)
Fichier "/library/python/2.5/site-packages/pyaudio.py", ligne 562, en lecture
PacannoReadfromanOutPutonlySarstream)
IOERROR: [ERRNO PAS INPUT Stream] -9975

existe-t-il un moyen d'instancier le flux Pyaudio afin qu'il entrait de la sortie de l'ordinateur et je n'ai pas à connecter la prise casque au microphone? Y a-t-il un meilleur moyen d'y aller? Je préférerais coller avec une application Python et éviter le cacao.


2 commentaires

Le son est déjà dans votre ordinateur portable? Qu'est-ce qui ne va pas avec "Enregistrer comme ..." C'est Macintosh.


Existe-t-il un moyen simple d'enregistrer les fichiers qui jouent dans le player Flash de votre navigateur (je suppose qu'ils sont des fichiers .flv)? Je connais beaucoup de fois des sites tels que YouTube et Vimeo ont des liens pour télécharger le fichier .flv, mais beaucoup de fois qu'ils n'ont pas de lien pour le faire.


5 Réponses :


0
votes

Malheureusement, il n'y a pas de moyen infaillible de le faire, mais hijack audio et Wirretap sont les meilleurs outils disponibles pour cela.


1 commentaires

Ont-ils des API ou une autre façon de faire le travail programmatique?



5
votes

Vous pouvez installer Soundflower , ce qui vous permet de créer des périphériques audio supplémentaires et d'acheminer l'audio entre eux. De cette façon, vous pouvez définir la sortie de votre système sur le périphérique Soundflower et lire l'audio à partir de celui-ci à l'aide de Pyaudio.

Vous pouvez également regarder Pyjack , un client audio pour jack .


1 commentaires

Soundflower est mort ou le lien fourni est mort. Et n'est pas une réponse programmatique. Le pyjack est non standard.



0
votes

Je peux donner une réponse en n'utilisant pas de manière programmatique. Panneau> Sound> Enregistrement >> Permettre un mélange stéréo. Cela nécessite un soutien du conducteur. J'ai aussi constaté que cela rend mon vrai écho son vrai. Au moins cela résout mon problème.


0 commentaires

0
votes

Faire ce problème sera délicat. Fondamentalement, il n'est pas possible d'intercepter le trafic audio devant votre "sortie". Par conséquent, ce que vous devriez avoir à faire est de créer votre propre périphérique audio virtuel et de faire toute application que vous souhaitez capturer de la lecture sur ce périphérique.

Différentes applications tierces également mentionnées par d'autres personnes semblent fournir de telles capacités sur MacOS. Je peux ajouter LOOPBACK mais je n'ai aucune expérience avec l'un des outils.

Programmatiquement, vous devriez imiter quelque chose comme ça.


0 commentaires

0
votes

Consultez ce script à Pycorder . Il enregistre le son de sortie en python. Je envisagerais de modifier l'une des fonctions d'enregistrement de la production à l'aide d'un flux de sortie avec le module SoundDevice. Vous pouvez voir la documentation de Sounddevice ici . Le script fonctionne et vous pouvez la mettre en œuvre à vos besoins, mais le remplacement du système d'enregistrement avec un flux de sortie rendrait probablement le code moins désordonné et plus efficace.


0 commentaires