Chargement...
 
Skip to main content

2 - Les distributions et les noyaux


Craquement carte son Yamaha Audiophile et w7 sur virtual box

Bonjour à toutes et à tous!

Je viens demander de l'aide pour ma nouvel config MAO:
Système hôte: Ubuntu 16.04 _ 4.4.0-36-generic
Carte son Yamaha Audiogramm3
Virtualbox 5.0.24
Système invité: W7_Arium.
-qui comprend pour l'instant Maschine 1.8 et toute sa suite.
-Live9 qui ne veux pas démarrer car sa configuration côte à côte est incorrecte.

Dans un premier temps, je dois régler le problème de craquement du son venant de la machine virtuel.
Si vous pouvez m'indiquer par où commencer, ce serait super sympa. Merci
France
J'ai oublié de parler du fait que ma carte son n'est pas dans la liste sur la page Alsa Project

L' important n' est pas tant la carte que le chipset qui l' équipe, ici le PCM2906B de TI. Ce même chipset équipe un bon paquet de cartes et pas que chez Yamaha. D' après la page Yamaha Audiogram 3 que t' avais indiquée olinuxx, un survol rapide avec Google, et le fait qu' elle a l' air bien reconnue sur l' USB et qu' elle apparait dans la liste de cartes sons (issue d' ALSA), je dirais qu' elle doit être correctement prise en charge sous Linux.

Il me parait logique que du coup il faut passer par un serveur son...?

Ben...pour moi non 😊. Développe un peu ton raisonnement...

Au risque de me répéter aussi 😊, tu ne devrais pas avoir besoin ni de JACK ni vraisemblablement de PulseAudio pour faire marcher Virtualbox. Pour faire de la MAO sous Linux directement je suis d' accord faudra se pencher là-dessus, mais pas pour faire de la MAO sous Win7 dans Virtualbox.
Ben...pour moi non 😊. Développe un peu ton raisonnement...


ça y est, je comprends ma confusion, Alsa est un driver, et pulse et jack des gestionnaires de connexions pour les autres appli...

De toute façon, pour avoir du son depuis Win7, il faut le mettre dans les préférences de Virtual Box
la carte son. Lorsque j'utilise directement Alsa ( pulse tuer propre et net ainsi que jack ), le son craque toujours il y a deux cas:
-Celui où seulement la carte son Yam est sélectionner dans les préférences de la Vbox, dans ce cas le son craque et décroche légèrement.
-Celui où la carte + le controleur Maschine sont sélectionner, et là les effets de craquements et décrochage s'amplifient.



Mais je crois aussi que l'installation de win7 a pris un coup dans la gueule.
Je vais réinstaller les drivers de la Maschine dans W7, je suis sûre que y a un truc qui merde aussi là bas.
France
ça y est, je comprends ma confusion, Alsa est un driver, et pulse et jack des gestionnaires de connexions pour les autres appli...

Yyesss 😁

Tant que tu n' auras pas un rendu fluide sur la lecture d' un fichier audio depuis ton W7, c' est pas la peine que tu t' escrimes à vouloir faire marcher autre chose. Il y a peut-être des trucs à configurer dans Virtualbox pour améliorer les choses. Je sais qu' avec QEMU sous Debian, pour pouvoir profiter de l' accélération du module KVM il faut que l' utilisateur appartienne au groupe 'kvm'. Sur ce point-là les forums et docs Ubuntu ou Virtualbox te seront sans doute profitables, je doute qu' il y ait grand'monde ici qui fasse de la MAO dans des VMs...

Est-ce qu' il n' existe pas de softs Linux qui fassent la même chose que ce que tu veux faire sous Win?
P'tit rapport vite fait::
Dans W7, le périph audio haute définition était désactivé....
Sans pulseaudio, je n'ai plus de son en sortie de ma VM si je n'utilise pas la carte son Yam, et lorsque je l'utilise, le son craque.
Avec pulseaudio, j'ai le son impeccable en lecture de mp3, sur le soft Maschine, le son se lit bien, mais la latence avec la surface de contrôle est injouable tellement elle est élevé. Avec la yam, le son craque encore et toujours!

J'ai réinstallé le driver fourni par Yamaha dans W7, ça n'arrange rien, je parie qu'il rentre en conflit avec Alsa...

ouhena écrit:
Je sais qu' avec QEMU sous Debian, pour pouvoir profiter de l' accélération du module KVM il faut que l' utilisateur appartienne au groupe 'kvm'.


Le groupe KVM n'existe pas encore chez moi, je vais regarder ça...

ouhena écrit:
Sur ce point-là les forums et docs Ubuntu ou Virtualbox te seront sans doute profitables, je doute qu' il y ait grand'monde ici qui fasse de la MAO dans des VMs...


Je jongle entre les forums, les docs, les tutos... à en perdre la tête...

ouhena écrit:
Est-ce qu' il n' existe pas de softs Linux qui fassent la même chose que ce que tu veux faire sous Win?


C'est bien tout le problème, pour profiter pleinement du contrôleur et de son "workflow" le logiciel est préférable, sinon, en l'utilisant comme simple contrôleur midi, c'est pas génial.

Cependant, vu la difficulté avec la VM, Wine peut-être une solution, mais c'est plus compliqué.
-déjà pour installer le logiciel depuis une iso.
-le contrôleur n'a pas de driver Alsa Native Instrument pour le moment, par contre NI (pour Native Instrument) fourni le service center et le control editor dans les dépôts, ce qui indique qu'il y a volonté chez eux de faire tourner leurs produits sur Linux (et très certainement par le biais de Wine).

Au bout de quatre jour à essayer avec la VM, qu'est-ce que je risque à essayé sous Wine, en plus les avantages serait intéressant...

Je vais d'abord regarder du coté de QEMU et KVM.
France
Bon si je résume, en laissant volontairement le problème Maschine de côté:
Depuis la VM:
- Sans PA -> pas de son sur la carte Intel, du son pourri avec la Yamaha.
- Avec PA -> du son correct sur la carte Intel, du son pourri avec la Yamaha.
Depuis Linux (Virtualbox éteint):
- Sans PA -> ???
- Avec PA -> ???

Je connais pas les machins de Maschine (j' ai pas pû résister...) mais si ça se connecte sur USB débranche-le. Des fois que ça mette la foire sur l' USB...

T' as essayé la carte Yamaha sur un autre PC, voire un autre OS, voire un vrai Win7?

Si j' ai bien compris tu fais passer la Yamaha en tant que périph USB à Vbox et tu configures le son de Vbox pour sortir par la carte Intel. Si tu désactives les 2 périphs USB de Vbox (plus de Yamaha ni de Maschine dans la VM) et que tu le configures pour sortir le son par la Yamaha au lieu de l' Intel, il se passe quoi?
.

Bon, je suis en train de massacrer un OS où j'ai tout mes outils de dev, je vais arrêter les hostilités sur ce pauvre Ubuntu qui me sert très bien et installer en dual (trial) W7 puis un Linux temps réel pour ce genre d'expérience.

Direction la section choix d'un Os pour les nouillesbies. 😉
Me revoilà ici!!

avant d'installer un OS dédié MAO, il y a une chose que je veux essayer.
J'ai trouvé cette librairie sur Github, et je voudrait l'essayer. Elle fonction avec Wine, cependant, je ne sais pas où il faut faire le build, en fait dans quel répertoire exactement.

J'ai commencé dans un sous dossier de mon répertoire personnel voici ce que ça donne:

Copy to clipboard
$ sudo !! sudo cargo build --release [sudo] Mot de passe de weetoz : Compiling void v1.0.2 Compiling rand v0.3.14 Compiling alsa-sys v0.1.0 Compiling kernel32-sys v0.2.2 Build failed, waiting for other jobs to finish... failed to run custom build command for `alsa-sys v0.1.0` Process didn't exit successfully: `/home/weetoz/Documents/maschiso/maschine.rs-master/target/release/build/alsa-sys-cb5eb93214e6e313/build-script-build` (exit code: 101) --- stderr thread '<main>' panicked at 'called `Result::unwrap()` on an `Err` value: "`\"pkg-config\" \"--libs\" \"--cflags\" \"alsa\"` did not exit successfully: exit code: 1\n--- stdout\nPackage alsa was not found in the pkg-config search path.\nPerhaps you should add the directory containing `alsa.pc\'\nto the PKG_CONFIG_PATH environment variable\nNo package \'alsa\' found\n"', src/libcore/result.rs:688


D'après ce que j'y vois, il ne trouve pas la commande alsa-sys...
Est-ce dans le répertoire d' alsa qu'il faut installer ça? Je ne sais même pas où il est! 😁
France
Apparemment ce qui manque c' est les en-têtes et le nécessaire pour compiler en utilisant les bibliothèques ALSA. L' installation du paquet libasound2-dev devrait faire du bien 😊
Mieux mais la compilation ne s'achève toujours pas...
J'ai rajouter Rustc mais ça ne fonctionne pas non plus

Copy to clipboard
curl -sSf https://static.rust-lang.org/rustup.sh | sh


Copy to clipboard
/home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:8:5: 9:6 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:8 fn readable(&mut self, event_loop: &mut EventLoop<Self>, token: Token, hint: ReadHint) { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:8:5: 9:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:8:5: 9:6 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:8:5: 9:6 note: required by `event_loop::EventLoop` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:11:5: 12:6 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:11 fn writable(&mut self, event_loop: &mut EventLoop<Self>, token: Token) { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:11:5: 12:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:11:5: 12:6 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:11:5: 12:6 note: required by `event_loop::EventLoop` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:14:5: 15:6 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:14 fn notify(&mut self, event_loop: &mut EventLoop<Self>, msg: Self::Message) { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:14:5: 15:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:14:5: 15:6 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:14:5: 15:6 note: required by `event_loop::EventLoop` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:17:5: 18:6 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:17 fn timeout(&mut self, event_loop: &mut EventLoop<Self>, timeout: Self::Timeout) { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:17:5: 18:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:17:5: 18:6 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:17:5: 18:6 note: required by `event_loop::EventLoop` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:20:5: 21:6 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:20 fn interrupted(&mut self, event_loop: &mut EventLoop<Self>) { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:20:5: 21:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:20:5: 21:6 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/handler.rs:20:5: 21:6 note: required by `event_loop::EventLoop` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/nonblock.rs:67:5: 67:55 error: the trait bound `Self: std::marker::Sized` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/nonblock.rs:67 fn into_non_block(self) -> Result<NonBlock<Self>>; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/nonblock.rs:67:5: 67:55 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/nonblock.rs:67:5: 67:55 help: consider adding a `where Self: std::marker::Sized` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/nonblock.rs:67:5: 67:55 note: required by `nonblock::NonBlock` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:57:9: 57:19 error: the trait bound `M: std::marker::Send` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:57 impl<M> fmt::Debug for Notify<M> { ^~~~~~~~~~ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:57:9: 57:19 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:57:9: 57:19 help: consider adding a `where M: std::marker::Send` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:57:9: 57:19 note: required by `notify::Notify` /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:58:5: 60:6 error: the trait bound `M: std::marker::Send` is not satisfied [E0277] /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:58 fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result { ^ /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:58:5: 60:6 help: run `rustc --explain E0277` to see a detailed explanation /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:58:5: 60:6 help: consider adding a `where M: std::marker::Send` bound /home/weetoz/.cargo/registry/src/github.com-1ecc6299db9ec823/mio-0.3.7/src/notify.rs:58:5: 60:6 note: required by `notify::Notify` error: aborting due to 8 previous errors Build failed, waiting for other jobs to finish... error: Could not compile `mio`.


Copy to clipboard
$ rustc --explain E0277 You tried to use a type which doesn't implement some trait in a place which expected that trait. Erroneous code example: ``` // here we declare the Foo trait with a bar method trait Foo { fn bar(&self); } // we now declare a function which takes an object implementing the Foo trait fn some_func<T: Foo>(foo: T) { foo.bar(); } fn main() { // we now call the method with the i32 type, which doesn't implement // the Foo trait some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied } ``` In order to fix this error, verify that the type you're using does implement the trait. Example: ``` trait Foo { fn bar(&self); } fn some_func<T: Foo>(foo: T) { foo.bar(); // we can now use this method since i32 implements the // Foo trait } // we implement the trait on the i32 type impl Foo for i32 { fn bar(&self) {} } fn main() { some_func(5i32); // ok! } ``` Or in a generic context, an erroneous code example would look like: ``` fn some_func<T>(foo: T) { println!("{:?}", foo); // error: the trait `core::fmt::Debug` is not // implemented for the type `T` } fn main() { // We now call the method with the i32 type, // which *does* implement the Debug trait. some_func(5i32); } ``` Note that the error here is in the definition of the generic function: Although we only call it with a parameter that does implement `Debug`, the compiler still rejects the function: It must work with all possible input types. In order to make this example compile, we need to restrict the generic type we're accepting: ``` use std::fmt; // Restrict the input type to types that implement Debug. fn some_func<T: fmt::Debug>(foo: T) { println!("{:?}", foo); } fn main() { // Calling the method is still fine, as i32 implements Debug. some_func(5i32); // This would fail to compile now: // struct WithoutDebug; // some_func(WithoutDebug); } ``` Rust only looks at the signature of the called function, as such it must already specify all requirements that will be used for every type parameter.

France
Ta bibliothèque est écrite en Rust. A part contacter l' auteur ou trouver un forum dédié à ce langage...
Page: 2/2
1  2